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

NegativeArraySizeException from ConsoleNote.readFrom after stopping build

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Minor Minor
    • core
    • None
    • 1.358

      A build was hanging (in Mercurial pull) so, from /console, I clicked the Stop button. Immediately this was displayed:

      Status Code: 500
      Exception: 
      Stacktrace: 
      
      java.lang.NegativeArraySizeException
      	at hudson.console.ConsoleNote.readFrom(ConsoleNote.java:176)
      	at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:109)
      	at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
      	at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
      	at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
      	at org.apache.commons.io.output.ProxyOutputStream.write(ProxyOutputStream.java:70)
      	at org.apache.commons.io.output.CountingOutputStream.write(CountingOutputStream.java:71)
      	at org.kohsuke.stapler.framework.io.LargeText$HeadMark.moveTo(LargeText.java:237)
      	at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:152)
      	at hudson.console.AnnotatedLargeText.writeHtmlTo(AnnotatedLargeText.java:148)
      	at hudson.console.AnnotatedLargeText.writeLogTo(AnnotatedLargeText.java:140)
      	at org.kohsuke.stapler.framework.io.LargeText.doProgressText(LargeText.java:187)
      	at hudson.console.AnnotatedLargeText.doProgressiveHtml(AnnotatedLargeText.java:90)
      	at sun.reflect.GeneratedMethodAccessor308.invoke(Unknown Source)
      	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:235)
      	at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:116)
      	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:57)
      	at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:75)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:525)
      	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:145)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:525)
      	at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:319)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:525)
      	at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:181)
      	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:525)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:441)
      	at org.kohsuke.stapler.Stapler.service(Stapler.java:123)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
      	at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
      	at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
      	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
      	at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:64)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
      	at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
      	at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
      	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      	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 org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
      	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:173)
      	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:66)
      	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:195)
      	at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
      	at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
      	at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
      	at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
      	at java.lang.Thread.run(Thread.java:619)
      

      Reloading the page displayed the same thing; still displayed as building (pulsating blue ball). Then I went back to the build's main page, clicked Stop again from there - at which point it switched to a solid red ball. I clicked Console again and now it showed the console log normally.

          [JENKINS-6558] NegativeArraySizeException from ConsoleNote.readFrom after stopping build

          pancake added a comment -

          We get similar exceptions on Linux x86_64 slave after updating to 1.380:

          • It is shown on "Console Output" screen after some time after build is started.
          • Doesn't seem to happen on Windows (x86_32 and x86_64) slaves.
          • Once it happened "Console Output" of this particular build will always generate the error till build is complete.
          • Raw output ("[raw]" link) is not affected.

          Status Code: 500
          Exception:
          Stacktrace:

          java.lang.NegativeArraySizeException
          at hudson.console.ConsoleNote.readFrom(ConsoleNote.java:220)
          at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:109)
          at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
          at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
          at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74)
          at org.apache.commons.io.output.ProxyOutputStream.write(ProxyOutputStream.java:70)
          at org.apache.commons.io.output.CountingOutputStream.write(CountingOutputStream.java:71)
          at org.kohsuke.stapler.framework.io.LargeText$HeadMark.moveTo(LargeText.java:237)
          at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:152)
          at hudson.console.AnnotatedLargeText.writeHtmlTo(AnnotatedLargeText.java:154)
          at hudson.console.AnnotatedLargeText.writeLogTo(AnnotatedLargeText.java:141)
          at org.kohsuke.stapler.framework.io.LargeText.doProgressText(LargeText.java:187)
          at hudson.console.AnnotatedLargeText.doProgressiveHtml(AnnotatedLargeText.java:91)
          at sun.reflect.GeneratedMethodAccessor339.invoke(Unknown Source)
          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:259)
          at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
          at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65)
          at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
          at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:181)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
          at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:359)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
          at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:135)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
          at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
          at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:420)
          at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:43)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
          at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:64)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
          at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
          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 org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
          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:173)
          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:66)
          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:195)
          at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
          at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
          at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
          at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
          at java.lang.Thread.run(Thread.java:619)

          pancake added a comment - We get similar exceptions on Linux x86_64 slave after updating to 1.380: It is shown on "Console Output" screen after some time after build is started. Doesn't seem to happen on Windows (x86_32 and x86_64) slaves. Once it happened "Console Output" of this particular build will always generate the error till build is complete. Raw output (" [raw] " link) is not affected. Status Code: 500 Exception: Stacktrace: java.lang.NegativeArraySizeException at hudson.console.ConsoleNote.readFrom(ConsoleNote.java:220) at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:109) at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60) at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56) at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:74) at org.apache.commons.io.output.ProxyOutputStream.write(ProxyOutputStream.java:70) at org.apache.commons.io.output.CountingOutputStream.write(CountingOutputStream.java:71) at org.kohsuke.stapler.framework.io.LargeText$HeadMark.moveTo(LargeText.java:237) at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:152) at hudson.console.AnnotatedLargeText.writeHtmlTo(AnnotatedLargeText.java:154) at hudson.console.AnnotatedLargeText.writeLogTo(AnnotatedLargeText.java:141) at org.kohsuke.stapler.framework.io.LargeText.doProgressText(LargeText.java:187) at hudson.console.AnnotatedLargeText.doProgressiveHtml(AnnotatedLargeText.java:91) at sun.reflect.GeneratedMethodAccessor339.invoke(Unknown Source) 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:259) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537) at org.kohsuke.stapler.MetaClass$5.doDispatch(MetaClass.java:181) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537) at org.kohsuke.stapler.MetaClass$13.dispatch(MetaClass.java:359) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537) at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453) at org.kohsuke.stapler.Stapler.service(Stapler.java:135) at javax.servlet.http.HttpServlet.service(HttpServlet.java:45) at winstone.ServletConfiguration.execute(ServletConfiguration.java:249) at winstone.RequestDispatcher.forward(RequestDispatcher.java:335) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:420) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:43) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:64) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47) at winstone.FilterConfiguration.execute(FilterConfiguration.java:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) 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 org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166) 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:173) 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:66) 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:195) at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368) at winstone.RequestDispatcher.forward(RequestDispatcher.java:333) at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244) at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150) at java.lang.Thread.run(Thread.java:619)

          hhuynh added a comment -

          I ran to this issue after upgrading to 1.358

          hhuynh added a comment - I ran to this issue after upgrading to 1.358

          Jesse Glick added a comment -

          Code path obsolete as of SECURITY-382 fix.

          Jesse Glick added a comment - Code path obsolete as of SECURITY-382 fix.

            Unassigned Unassigned
            jglick Jesse Glick
            Votes:
            3 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: