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

Stack Overflow when trying to save system configuration

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      When attempting to save the system configuration, I get a stack overflow as noted below.

      I attempted to remove all plugins I was not using to try to see if the issue was related to a plugin, but was unsuccessful. Plugin list is at the bottom.

      Reverting back to 2.7.4 resolves the issue, which makes me believe this to be a Jenkins core issue.

      Summary stack:
      A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened.

      Stack trace

      javax.servlet.ServletException: java.lang.StackOverflowError
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:796)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:238)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
      at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
      at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
      at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
      at com.marvelution.jenkins.plugins.jira.filter.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:51)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      at com.marvelution.jenkins.plugins.jira.filter.OAuthFilter.doFilter(OAuthFilter.java:87)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      at javax.servlet.FilterChain$doFilter.call(Unknown Source)
      at com.ceilfors.jenkins.plugins.jiratrigger.ExceptionLoggingFilter.doFilter(ExceptionLoggingFilter.groovy:22)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:132)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:80)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
      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:171)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      at org.eclipse.jetty.server.Server.handle(Server.java:499)
      at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at java.lang.Thread.run(Unknown Source)
      Caused by: java.lang.StackOverflowError
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(Unknown Source)
      at org.eclipse.jetty.webapp.WebAppClassLoader.findClass(WebAppClassLoader.java:510)
      at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:441)
      at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:403)
      at hudson.Util.makeWritable(Util.java:313)
      at hudson.Util.tryOnceDeleteFile(Util.java:286)
      at hudson.Util.deleteFile(Util.java:246)
      at hudson.util.AtomicFileWriter.commit(AtomicFileWriter.java:113)
      at hudson.XmlFile.write(XmlFile.java:179)
      at hudson.model.Descriptor.save(Descriptor.java:864)
      at hudson.model.Saveable$save.callCurrent(Unknown Source)
      at com.ceilfors.jenkins.plugins.jiratrigger.JiraTriggerGlobalConfiguration.configure(JiraTriggerGlobalConfiguration.groovy:36)
      at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
      at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
      at com.ceilfors.jenkins.plugins.jiratrigger.JiraTriggerGlobalConfiguration.configure(JiraTriggerGlobalConfiguration.groovy:37)
      at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
      at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
      at com.ceilfors.jenkins.plugins.jiratrigger.JiraTriggerGlobalConfiguration.configure(JiraTriggerGlobalConfiguration.groovy:37)
      at sun.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93)
      at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
      at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
      at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.invokeMethodOnSuperN(ScriptBytecodeAdapter.java:132)
      at com.ceilfors.jenkins.plugins.jiratrigger.JiraTriggerGlobalConfiguration.configure(JiraTriggerGlobalConfiguration.groovy:37)
      ....

        Attachments

          Issue Links

            Activity

            Show
            danielbeck Daniel Beck added a comment - May be caused by https://github.com/jenkinsci/jenkins/pull/2509 Jesse Glick Could you PTAL? Does https://github.com/jenkinsci/jira-trigger-plugin/blob/e6ea6e0b54ad910d38700d2a539801cd008b3f75/src/main/groovy/com/ceilfors/jenkins/plugins/jiratrigger/JiraTriggerGlobalConfiguration.groovy#L32...L37 look correct to you? This super call just shouldn't be there I think…
            Hide
            jglick Jesse Glick added a comment -

            Possibly a bug in Groovy. I would not recommend src/main/groovy/ for production code. At any rate, the super call should be deleted I think.

            Show
            jglick Jesse Glick added a comment - Possibly a bug in Groovy. I would not recommend src/main/groovy/ for production code. At any rate, the super call should be deleted I think.
            Hide
            alecyu Alexander Yu added a comment -

            Same issue with 2.19.1 on Debian 8 with Java 1.8.0_91, attaching the stack trace.

            Show
            alecyu Alexander Yu added a comment - Same issue with 2.19.1 on Debian 8 with Java 1.8.0_91, attaching the stack trace.
            Hide
            scm_issue_link SCM/JIRA link daemon added a comment -

            Code changed in jenkins
            User: Wisen Tanasa
            Path:
            src/main/groovy/com/ceilfors/jenkins/plugins/jiratrigger/JiraTriggerGlobalConfiguration.groovy
            http://jenkins-ci.org/commit/jira-trigger-plugin/4300ee10f73c88c4d4d5a40220137916ac715c93
            Log:
            JENKINS-39076 Do not call super to workaround Groovy StackOverflowError bug.

            Utilize StaplerRequest.bindJSON method as per the new implementation of GlobalConfiguration in Jenkins 2.x. bindJSON method requires setter methods, hence opening the setter methods visibility from package to public.

            Show
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Wisen Tanasa Path: src/main/groovy/com/ceilfors/jenkins/plugins/jiratrigger/JiraTriggerGlobalConfiguration.groovy http://jenkins-ci.org/commit/jira-trigger-plugin/4300ee10f73c88c4d4d5a40220137916ac715c93 Log: JENKINS-39076 Do not call super to workaround Groovy StackOverflowError bug. Utilize StaplerRequest.bindJSON method as per the new implementation of GlobalConfiguration in Jenkins 2.x. bindJSON method requires setter methods, hence opening the setter methods visibility from package to public.
            Hide
            ceilfors Wisen Tanasa added a comment -

            Fixed in jira-trigger-plugin version 0.2.4.

            Show
            ceilfors Wisen Tanasa added a comment - Fixed in jira-trigger-plugin version 0.2.4.

              People

              Assignee:
              ceilfors Wisen Tanasa
              Reporter:
              contewit Brenden Conte
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: