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

IndexOutOfBoundsException at hudson.MarkupText.rangeCheck(MarkupText.java:276)

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • core
    • None

      Getting the following exception while doing a console tail:

      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.IndexOutOfBoundsException
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:778)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:210)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:248)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:89)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:99)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
      Caused by: java.lang.IndexOutOfBoundsException
      at hudson.MarkupText.rangeCheck(MarkupText.java:276)
      at hudson.MarkupText.addMarkup(MarkupText.java:258)
      at hudson.tasks._maven.Maven3MojoNote.annotate(Maven3MojoNote.java:56)
      at hudson.console.ConsoleAnnotationOutputStream$1.annotate(ConsoleAnnotationOutputStream.java:115)
      at hudson.console.ConsoleAnnotator$1Aggregator.annotate(ConsoleAnnotator.java:111)
      at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:145)
      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:90)
      at org.kohsuke.stapler.framework.io.LargeText$HeadMark.moveTo(LargeText.java:312)
      at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:227)
      at hudson.console.AnnotatedLargeText.writeHtmlTo(AnnotatedLargeText.java:156)
      at hudson.console.AnnotatedLargeText.writeLogTo(AnnotatedLargeText.java:143)
      at org.kohsuke.stapler.framework.io.LargeText.doProgressText(LargeText.java:262)
      at hudson.console.AnnotatedLargeText.doProgressiveHtml(AnnotatedLargeText.java:91)
      at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:606)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
      ... 55 more

      Happens when building the james-mailet module from trunk.

          [JENKINS-23697] IndexOutOfBoundsException at hudson.MarkupText.rangeCheck(MarkupText.java:276)

          Mr Cinquero created issue -

          Karen Dolan added a comment - - edited

          I got exact same signature stack trace originating with IndexOutOfBoundsException in the rangeCheck.
          I'm using Jenkins ver. 1.568. It happened during a maven build that was trying to run grunt on a build server that probably doesn't have grunt installed.
          The Jenkins UI console only showed the successful project module builds, and then showed the stack trace.
          But, the error email showed the mvn build error: "[ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.15:grunt (grunt build.release) on ..."

          [FOLLOWUP] after installing grunt on the build server, the project compiled, and I have not seen this stack trace since.

          Karen Dolan added a comment - - edited I got exact same signature stack trace originating with IndexOutOfBoundsException in the rangeCheck. I'm using Jenkins ver. 1.568. It happened during a maven build that was trying to run grunt on a build server that probably doesn't have grunt installed. The Jenkins UI console only showed the successful project module builds, and then showed the stack trace. But, the error email showed the mvn build error: " [ERROR] Failed to execute goal com.github.eirslett:frontend-maven-plugin:0.0.15:grunt (grunt build.release) on ..." [FOLLOWUP] after installing grunt on the build server, the project compiled, and I have not seen this stack trace since.

          Mr Cinquero added a comment - - edited

          Re-appeared at 1.613, no problems when looking at complete console output (html formatted) afterwards, just a problem with tail.

          Mr Cinquero added a comment - - edited Re-appeared at 1.613, no problems when looking at complete console output (html formatted) afterwards, just a problem with tail.

          Daniel Beck added a comment -

          How can this be reproduced?

          Daniel Beck added a comment - How can this be reproduced?

          I'm seeing this as well, running Jenkins 1.617

          Brian Villanueva added a comment - I'm seeing this as well, running Jenkins 1.617

          Daniel Beck added a comment -

          Is this about the Console Tail Plugin, or does it happen when viewing a job's console while building?

          Daniel Beck added a comment - Is this about the Console Tail Plugin, or does it happen when viewing a job's console while building?

          Daniel Beck added a comment - Could this comment apply? https://issues.jenkins-ci.org/browse/JENKINS-29179?focusedCommentId=231379&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-231379

          Daniel Jipa added a comment -

          I got this exeption when scrolling up to see the first lines of console output

          Daniel Jipa added a comment - I got this exeption when scrolling up to see the first lines of console output

          Mr Cinquero added a comment - - edited

          I don't have console tail plugin installed, so yes, it's happening with the built-in build html tail follow.

          Mr Cinquero added a comment - - edited I don't have console tail plugin installed, so yes, it's happening with the built-in build html tail follow.

          Mr Cinquero added a comment - - edited

          hudson.tasks._maven.Maven3MojoNote.annotate():

              text.addMarkup(7,text.length(),"<b class=maven-mojo>","</b>");
          

          The "7" comes from the pattern defined inside the same class:

              public static Pattern PATTERN = Pattern.compile("\\[INFO\\] --- .+-plugin:[^:]+:[^ ]+ \\(.+\\) @ .+ ---");
          
          

          However, I see nothing that ensures that the mentioned method gets only called for Strings matching that pattern..... ?!

          Mr Cinquero added a comment - - edited hudson.tasks._maven.Maven3MojoNote.annotate(): text.addMarkup(7,text.length(), "<b class=maven-mojo>" , "</b>" ); The "7" comes from the pattern defined inside the same class: public static Pattern PATTERN = Pattern.compile( "\\[INFO\\] --- .+-plugin:[^:]+:[^ ]+ \\(.+\\) @ .+ ---" ); However, I see nothing that ensures that the mentioned method gets only called for Strings matching that pattern..... ?!

            Unassigned Unassigned
            marc321 Mr Cinquero
            Votes:
            9 Vote for this issue
            Watchers:
            13 Start watching this issue

              Created:
              Updated: