Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-20030

Error with Email-ext plugin while saving configuration

      Just upgraded Email-ext plugin to version 2.35 and it breaks the saving of configuration. I am getting the error "JSONObject["ext_mailer_smtp_server"] not found" (stacktrace is below).

      javax.servlet.ServletException: net.sf.json.JSONException: JSONObject["ext_mailer_smtp_server"] not found.
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:735)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:587)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:218)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      at winstone.ServletConfiguration.execute(ServletConfiguration.java:248)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:376)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:58)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
      at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
      at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
      at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:227)
      at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
      at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
      at java.util.concurrent.FutureTask.run(FutureTask.java:138)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: net.sf.json.JSONException: JSONObject["ext_mailer_smtp_server"] not found.
      at net.sf.json.JSONObject.getString(JSONObject.java:2040)
      at hudson.plugins.emailext.ExtendedEmailPublisherDescriptor.configure(ExtendedEmailPublisherDescriptor.java:314)
      at jenkins.model.Jenkins.configureDescriptor(Jenkins.java:2791)
      at jenkins.model.Jenkins.doConfigSubmit(Jenkins.java:2754)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:297)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:160)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:95)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:111)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:685)
      ... 54 more

      When I enter the SMTP server the same thing happens.

      It seems that ver. 2.34 does not have that problem, because I am able to save the configuration after downgrade to 2.34.

          [JENKINS-20030] Error with Email-ext plugin while saving configuration

          Jurica Krizanic created issue -
          Klokie Grossfeld made changes -
          Link New: This issue is duplicated by JENKINS-20034 [ JENKINS-20034 ]
          Klokie Grossfeld made changes -
          Labels Original: email-ext plugin New: configuration email-ext exception plugin
          Alex Earl made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Alex Earl added a comment -

          Do you have override global settings checked? If so, you need to enter the SMTP server anyway. I am working on fixing the issue at hand, but if you specify override global settings and you don't enter the SMTP server address, you won't get emails sent.

          Alex Earl added a comment - Do you have override global settings checked? If so, you need to enter the SMTP server anyway. I am working on fixing the issue at hand, but if you specify override global settings and you don't enter the SMTP server address, you won't get emails sent.

          I have tried both ways, with and without "Override global settings" checked!
          When it was checked, I entered the SMTP server address and error appeared!

          Jurica Krizanic added a comment - I have tried both ways, with and without "Override global settings" checked! When it was checked, I entered the SMTP server address and error appeared!

          Alex Earl added a comment -

          Have a fix in place, just adding some tests so this sort of thing doesn't happen again. I should be releasing 2.35.1 tonight.

          Alex Earl added a comment - Have a fix in place, just adding some tests so this sort of thing doesn't happen again. I should be releasing 2.35.1 tonight.

          In my case, "Override Global Settings" is not checked and "SMTP Server" is set but I get the error anyway.

          Olivier Chédru added a comment - In my case, "Override Global Settings" is not checked and "SMTP Server" is set but I get the error anyway.

          Alex Earl added a comment -

          Right, I was just commenting that if you want to override global settings, you have to fill in the values. It was not a comment about if this issue will show up or not.

          Alex Earl added a comment - Right, I was just commenting that if you want to override global settings, you have to fill in the values. It was not a comment about if this issue will show up or not.

          Code changed in jenkins
          User: Alex Earl
          Path:
          src/main/java/hudson/plugins/emailext/ExtendedEmailPublisherDescriptor.java
          src/test/java/hudson/plugins/emailext/ExtendedEmailPublisherDescriptorTest.java
          http://jenkins-ci.org/commit/email-ext-plugin/8c798f426dd706a275d3a5ea96c930f3b8b200bc
          Log:
          Fix JENKINS-20030

          Reverted to older configure method code and added a simple round trip test to make sure exceptions don't occur.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Alex Earl Path: src/main/java/hudson/plugins/emailext/ExtendedEmailPublisherDescriptor.java src/test/java/hudson/plugins/emailext/ExtendedEmailPublisherDescriptorTest.java http://jenkins-ci.org/commit/email-ext-plugin/8c798f426dd706a275d3a5ea96c930f3b8b200bc Log: Fix JENKINS-20030 Reverted to older configure method code and added a simple round trip test to make sure exceptions don't occur.

            slide_o_mix Alex Earl
            jkrizanic Jurica Krizanic
            Votes:
            4 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated:
              Resolved: