[JIRA] (JENKINS-54752) Ansi plugin fails to render formatted console output

1 view
Skip to first unread message

stukov0210@gmail.com (JIRA)

unread,
Nov 21, 2018, 7:38:01 AM11/21/18
to jenkinsc...@googlegroups.com
Michal Kruzik updated an issue
 
Jenkins / Bug JENKINS-54752
Ansi plugin fails to render formatted console output
Change By: Michal Kruzik
Environment: Jenkins 2. 1.52 152
Openjdk 1.8.0.181
ansicolor 0.6.0
Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.11.2#711002-sha1:fdc329d)

stukov0210@gmail.com (JIRA)

unread,
Nov 21, 2018, 7:38:02 AM11/21/18
to jenkinsc...@googlegroups.com
Michal Kruzik created an issue
Issue Type: Bug Bug
Assignee: Unassigned
Attachments: stack-trace.txt
Components: ansicolor-plugin
Created: 2018-11-21 12:37
Environment: Jenkins 2.1.52
Openjdk 1.8.0.181
ansicolor 0.6.0
Labels: jenkins consoleoutput ansicolor
Priority: Major Major
Reporter: Michal Kruzik

Ansicolor plugin throws error when formatted string appears in console output. Archived console logs are rendered just fine.

Expected output:
[exec]
Api Tests (300)
--------------------------------------------
[exec] Testing api
[exec] SomeTest: Test (0.28s)
Rendered output:
[exec]
Api Tests (329)
--------------------------------------------
[exec] Testing api
Followed by Stack trace exception:

java.lang.IndexOutOfBoundsException
	at hudson.MarkupText.rangeCheck(MarkupText.java:276)
	at hudson.MarkupText.addMarkup(MarkupText.java:270)
	at hudson.plugins.ansicolor.ColorConsoleAnnotator$1EmitterImpl.emitHtml(ColorConsoleAnnotator.java:74)
	at hudson.plugins.ansicolor.AnsiAttributeElement.emitClose(AnsiAttributeElement.java:42)
	at hudson.plugins.ansicolor.AnsiHtmlOutputStream.closeTagOfType(AnsiHtmlOutputStream.java:150)
	at hudson.plugins.ansicolor.AnsiHtmlOutputStream.setForegroundColor(AnsiHtmlOutputStream.java:335)
	at hudson.plugins.ansicolor.AnsiHtmlOutputStream.processDefaultTextColor(AnsiHtmlOutputStream.java:589)
	at hudson.plugins.ansicolor.AnsiOutputStream.processEscapeCommand(AnsiOutputStream.java:352)
	at hudson.plugins.ansicolor.AnsiOutputStream.write(AnsiOutputStream.java:138)
	at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:220)
....

Whole stack trace in attachment.

stukov0210@gmail.com (JIRA)

unread,
Nov 21, 2018, 7:43:02 AM11/21/18
to jenkinsc...@googlegroups.com
Michal Kruzik updated an issue
Change By: Michal Kruzik
Ansicolor plugin throws error when formatted string appears in console output. Archived console logs are rendered just fine.

Expected output:
     [exec]
*Api Tests (300)*
--------------------------------------------
     [exec] Testing api
     [exec] {color:#00cd00}*✔*{color} {color:#cd00cd}*SomeTest:*{color} Test {color:#00cd00}(0.28s){color}


Rendered output:
[exec]
*Api Tests (329)*
--------------------------------------------
[exec] Testing api
Followed by Stack trace exception:
{code:java}

java.lang.IndexOutOfBoundsException
at hudson.MarkupText.rangeCheck(MarkupText.java:276)
at hudson.MarkupText.addMarkup(MarkupText.java:270)
at hudson.plugins.ansicolor.ColorConsoleAnnotator$1EmitterImpl.emitHtml(ColorConsoleAnnotator.java:74)
at hudson.plugins.ansicolor.AnsiAttributeElement.emitClose(AnsiAttributeElement.java:42)
at hudson.plugins.ansicolor.AnsiHtmlOutputStream.closeTagOfType(AnsiHtmlOutputStream.java:150)
at hudson.plugins.ansicolor.AnsiHtmlOutputStream.setForegroundColor(AnsiHtmlOutputStream.java:335)
at hudson.plugins.ansicolor.AnsiHtmlOutputStream.processDefaultTextColor(AnsiHtmlOutputStream.java:589)
at hudson.plugins.ansicolor.AnsiOutputStream.processEscapeCommand(AnsiOutputStream.java:352)
at hudson.plugins.ansicolor.AnsiOutputStream.write(AnsiOutputStream.java:138)
at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:220)
....
{code}

Whole stack trace in attachment.


 

Example text that causes issue with disabled plugin:

[32;1m✔ [39;22m [35;SomeTest: [39;22m Test [32m(11.15s) [39m

b.kaszt@gentics.com (JIRA)

unread,
Nov 26, 2018, 5:53:02 AM11/26/18
to jenkinsc...@googlegroups.com
Bernhard Kaszt commented on Bug JENKINS-54752
 
Re: Ansi plugin fails to render formatted console output

We also get this error, the whole plugin is broken now since the last update :/

 

c.hakkenberg@fortes.nl (JIRA)

unread,
Nov 28, 2018, 5:27:02 AM11/28/18
to jenkinsc...@googlegroups.com

Same here. Disabling ansicolor make it able to tail th elog again in Jenkins. Without disabling it we can no longer see the complete log... While tailing we get the IndexOutOfBoundsException at a certain moment and when loading the logs of a finished build the logs are clipped.

stukov0210@gmail.com (JIRA)

unread,
Nov 29, 2018, 9:51:02 AM11/29/18
to jenkinsc...@googlegroups.com

morten_bjoernsvik@yahoo.no (JIRA)

unread,
Dec 14, 2018, 5:24:03 AM12/14/18
to jenkinsc...@googlegroups.com

Downgraded it to 0.5.3.

Is there a plugin so I can mark this plugin as error. so no other with admin rights just upgrades this, this is widely used and crashed 5 jobs just this morning.

 

 

dbeck@cloudbees.com (JIRA)

unread,
Jan 5, 2019, 10:13:04 AM1/5/19
to jenkinsc...@googlegroups.com
Daniel Beck closed an issue as Fixed
 

Per linked GitHub thread, resolved in 0.6.1

Change By: Daniel Beck
Status: Open Closed
Resolution: Fixed

obaid.mushtaq@t-systems.com (JIRA)

unread,
Mar 14, 2019, 10:36:06 AM3/14/19
to jenkinsc...@googlegroups.com
Obaid Mushtaq commented on Bug JENKINS-54752
 
Re: Ansi plugin fails to render formatted console output

I have this happening in 0.6.2 and Jenkins 2.164

 

java.lang.IndexOutOfBoundsException
at hudson.MarkupText.rangeCheck(MarkupText.java:276)
at hudson.MarkupText.addMarkup(MarkupText.java:258)
at hudson.plugins.ansicolor.ColorConsoleAnnotator$1EmitterImpl.emitHtml(ColorConsoleAnnotator.java:100)
at hudson.plugins.ansicolor.AnsiAttributeElement.emitOpen(AnsiAttributeElement.java:47)
at hudson.plugins.ansicolor.AnsiHtmlOutputStream.openTag(AnsiHtmlOutputStream.java:119)
at hudson.plugins.ansicolor.AnsiHtmlOutputStream.processSetAttribute(AnsiHtmlOutputStream.java:428)
at hudson.plugins.ansicolor.AnsiOutputStream.processEscapeCommand(AnsiOutputStream.java:361)
at hudson.plugins.ansicolor.AnsiOutputStream.write(AnsiOutputStream.java:138)
at hudson.plugins.ansicolor.AnsiHtmlOutputStream.write(AnsiHtmlOutputStream.java:254)
at org.apache.commons.io.output.ProxyOutputStream.write(ProxyOutputStream.java:54)
at hudson.plugins.ansicolor.ColorConsoleAnnotator.annotate(ColorConsoleAnnotator.java:133)
at hudson.console.ConsoleAnnotator$ConsoleAnnotatorAggregator.annotate(ConsoleAnnotator.java:108)
at hudson.console.ConsoleAnnotationOutputStream.eol(ConsoleAnnotationOutputStream.java:148)
at hudson.console.LineTransformationOutputStream.eol(LineTransformationOutputStream.java:60)
at hudson.console.LineTransformationOutputStream.write(LineTransformationOutputStream.java:56)
at java.io.FilterOutputStream.write(FilterOutputStream.java:77)
at org.jenkinsci.plugins.workflow.log.FileLogStorage$1$1.write(FileLogStorage.java:238)
at java.io.FilterOutputStream.write(FilterOutputStream.java:125)
at org.apache.commons.io.output.ProxyOutputStream.write(ProxyOutputStream.java:89)
at org.kohsuke.stapler.framework.io.LargeText$HeadMark.moveTo(LargeText.java:314)
at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(LargeText.java:229)
at hudson.console.AnnotatedLargeText.writeRawLogTo(AnnotatedLargeText.java:163)
at org.jenkinsci.plugins.workflow.log.FileLogStorage$1.writeHtmlTo(FileLogStorage.java:203)
at hudson.console.AnnotatedLargeText.writeLogTo(AnnotatedLargeText.java:144)
at org.kohsuke.stapler.framework.io.LargeText.doProgressText(LargeText.java:264)
at hudson.console.AnnotatedLargeText.doProgressiveHtml(AnnotatedLargeText.java:92)
at java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
at org.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:408)
at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:212)
at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:145)
at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:537)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
Caused: javax.servlet.ServletException
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:789)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:221)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
at org.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:458)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:282)
at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:739)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:870)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:668)
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:865)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
at hudson.plugins.greenballs.GreenBallFilter.doFilter(GreenBallFilter.java:59)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:128)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:99)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
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:90)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:524)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:748)

davidbox.524@gmail.com (JIRA)

unread,
Jun 23, 2019, 11:48:02 PM6/23/19
to jenkinsc...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages