NoSuchMethodError in BFA-plugin

13 views
Skip to first unread message

Torsten Reinhard

unread,
Jun 16, 2020, 3:14:11 AM6/16/20
to Jenkins Users
Hi,

I´m running Jenkins 2.204.5 and the Build-failure-analyzer plugin 1.26.0

When hitting https://mycompany/jenkins/failure-cause-management/detailedgraphs I see some empty graphs (missing img) which probably is caused by exceptions like the below:

Error while serving https://mycompany/jenkins/failure-cause-management/graph/png
java.lang.NoSuchMethodError: org.jfree.data.time.TimeTableXYDataset.add(Lorg/jfree/data/time/TimePeriod;DLjava/lang/String;)V
        at com
.sonyericsson.jenkins.plugins.bfa.graphs.TimeSeriesUnkownFailuresChart.createDataset(TimeSeriesUnkownFailuresChart.java:106)
        at com
.sonyericsson.jenkins.plugins.bfa.graphs.TimeSeriesUnkownFailuresChart.createGraph(TimeSeriesUnkownFailuresChart.java:73)
        at hudson
.util.Graph.render(Graph.java:93)
        at hudson
.util.Graph.doPng(Graph.java:120)
        at java
.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)
        at org
.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:396)
Caused: java.lang.reflect.InvocationTargetException
        at org
.kohsuke.stapler.Function$MethodFunction.invoke(Function.java:400)
        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:535)
        at org
.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org
.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org
.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org
.kohsuke.stapler.MetaClass$3.doDispatch(MetaClass.java:249)
        at org
.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
        at org
.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org
.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org
.kohsuke.stapler.MetaClass$9.dispatch(MetaClass.java:456)
        at org
.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:747)
        at org
.kohsuke.stapler.Stapler.invoke(Stapler.java:878)
        at org
.kohsuke.stapler.Stapler.invoke(Stapler.java:676)
        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:873)
        at org
.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1623)
        at hudson
.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
        at org
.jenkinsci.plugins.RefreshFilter.doFilter(RefreshFilter.java:96)
        at hudson
.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at jenkins
.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76)
        at hudson
.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
        at net
.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:239)
        at net
.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:215)
        at net
.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:88)
        at org
.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:114)
        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:1610)
        at hudson
.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:105)
        at org
.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        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:118)
        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:1610)
        at org
.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
        at org
.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at hudson
.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
        at org
.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at org
.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
        at org
.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1610)
        at org
.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:540)
        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:1700)
        at org
.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
        at org
.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1345)
        at org
.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
        at org
.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:480)
        at org
.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1667)
        at org
.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
        at org
.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1247)
        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:505)
        at org
.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:370)
        at org
.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:267)
        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:117)
        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:698)
        at org
.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:804)
        at java
.lang.Thread.run(Thread.java:748)

Is there any idea on how to fix this? Are the plugin dependencies outdated so it needs to be updated to the latest version of Jenkins-core ?
The required classes are part of jfreechart which is a "provided" dependency of jenkins-core:

mvn dependency:tree


[INFO] +- org.jenkins-ci.main:jenkins-core:jar:2.164.3:provided
...
[INFO] |  +- jfree:jfreechart:jar:1.0.9:provided
[INFO] |  |  \- jfree:jcommon:jar:1.0.12:provided

Thanx for any hint,

best regards,

Torsten

Ullrich Hafner

unread,
Jun 16, 2020, 3:38:46 AM6/16/20
to Jenkins Users
In my workspace 1.0.19 version of jfreechart is used. Seems that the plugin uses a method that is not there anymore because of an outdated library reference.
Please file a bug report for the plugin in Jira.

 

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/8ce4f8d4-1e75-4cd5-87c9-5e05f78f23eao%40googlegroups.com.

Torsten Reinhard

unread,
Jun 16, 2020, 10:08:44 AM6/16/20
to Jenkins Users
Hi,
In 2.164.3 1.0.9 of jfreechart was used while it is now 1.0.19.
There has been a change from String -> Comparable in the method signature as far as I remember.

Just switching the jenkins-core dependency results in some broken enforcer rules, that´s where I stopped investigating more.

Thx, Torsten

Reply all
Reply to author
Forward
0 new messages