Need help regarding fixing one issue in buildgraph-view plugin

34 views
Skip to first unread message

suresh kumar

unread,
Apr 27, 2016, 10:30:12 PM4/27/16
to Jenkins Developers

Hi All,
I am working on a feature "auto refresh" for buildgraph-view plugin. I have completed every thing and its working fine except one scenario.

The scenario goes like below:

Build(FreeStyleProject) -> Deploy(FreeStyleProject) -> Test(FreeStyleProject) -> StartQA(BuildFlow) -> BuildQA(FreeStyleProject) -> Deploy(FreeStyleProject) -> TestQA(FreeStyleProject)


Flow is going fine when we view the BuildGraph after completion of upstream and downstream projects completed.

But the issue is coming when viewing the BuildGraph at running. With FreeStyleProject types no issues, it is with at the time of BuildFlow job type.

Github: https://github.com/pskumar448/buildgraph-view/tree/autorefresh


2016-04-28 07:45:58.056:/jenkins:WARN:  Error while serving http://localhost:8080/jenkins/job/Build/34//BuildGraph/api/json
java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor125.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    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:733)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
    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:733)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
    at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
    at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
    at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
    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:733)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
    at org.kohsuke.stapler.Stapler.invoke(Stapler.java:636)
    at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:491)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1074)
    at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
    at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
    at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
    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.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
    at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
    at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1065)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:365)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:185)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:689)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:391)
    at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:146)
    at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
    at org.mortbay.jetty.Server.handle(Server.java:285)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:457)
    at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:751)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:500)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:209)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:357)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:329)
    at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
Caused by: java.io.IOException: Failed to write buildSteps
    at org.kohsuke.stapler.export.Property.writeTo(Property.java:122)
    at org.kohsuke.stapler.export.Model.writeNestedObjectTo(Model.java:190)
    at org.kohsuke.stapler.export.Model.writeTo(Model.java:157)
    at org.kohsuke.stapler.ResponseImpl.serveExposedBean(ResponseImpl.java:267)
    at hudson.model.Api.doJson(Api.java:205)
    ... 58 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)
    at org.kohsuke.stapler.export.MethodProperty.getValue(MethodProperty.java:66)
    at org.kohsuke.stapler.export.Property.writeTo(Property.java:116)
    ... 62 more
Caused by: java.lang.NullPointerException
    at org.jenkinsci.plugins.buildgraphview.BuildExecution.<init>(BuildExecution.java:52)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.getExecution(BuildGraph.java:94)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.computeGraphFrom(BuildGraph.java:80)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.computeGraphFrom(BuildGraph.java:84)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.computeGraphFrom(BuildGraph.java:84)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.computeGraphFrom(BuildGraph.java:84)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.computeGraphFrom(BuildGraph.java:84)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.getGraph(BuildGraph.java:69)
    at org.jenkinsci.plugins.buildgraphview.BuildGraph.getBuildSteps(BuildGraph.java:148)
    ... 67 more

Thanks in advance,
Suresh

suresh kumar

unread,
May 1, 2016, 4:59:13 AM5/1/16
to Jenkins Developers
Hey All,
I was able to figure out the reason why I am getting this exception.
When BuildFlow schedule a job and Job is in quiet period, FlowDownStreamRunDeclarer is giving null build, because of this the exception is coming.
I have created a JIRA issue for this and waiting for the response
https://issues.jenkins-ci.org/browse/JENKINS-34516
As soon as this fix done, we are going to have a auto refresh functionality in buildgraph-view

Thanks,
Suresh

suresh kumar

unread,
May 1, 2016, 5:28:51 AM5/1/16
to Jenkins Developers

Baptiste Mathus

unread,
May 1, 2016, 8:47:26 AM5/1/16
to Jenkins Developers

Hi Suresh,

Beware that Nicolas has publicly abandoned this plugin two years ago. So you probably don't want to have too big expectations as to his reaction.

Cheers

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/f9264e1e-6860-4f72-99d5-3b6c201070e5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Daniel Beck

unread,
May 1, 2016, 9:57:52 AM5/1/16
to jenkin...@googlegroups.com

> On 01.05.2016, at 14:47, Baptiste Mathus <m...@batmat.net> wrote:
>
> Beware that Nicolas has publicly abandoned this plugin two years ago. So you probably don't want to have too big expectations as to his reaction.

Not Suresh's fault -- Nicolas is still the default assignee. Damien hasn't requested this be changed AFAIK.

suresh kumar

unread,
May 1, 2016, 10:16:31 AM5/1/16
to Jenkins Developers, m...@beckweb.net
Then I think has to re-assign the ticket to Damien.
I will try to contact Damien.

Baptiste Mathus

unread,
May 1, 2016, 2:55:12 PM5/1/16
to Jenkins Developers
FYI, just batch-reassigned all the existing open issues assigned to Nicolas to Damien, the current maintainer.

-- Baptiste

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.

suresh kumar

unread,
May 2, 2016, 11:31:43 AM5/2/16
to Jenkins Developers, m...@batmat.net
Finally I was able to fix this issue and getting ready for the release soon.

Thanks,
Suresh

Damien NOZAY

unread,
May 2, 2016, 2:01:12 PM5/2/16
to Jenkins Developers, m...@batmat.net
Hi Daniel, Baptiste, Suresh,

I was surprised to see 100+ new emails in the last few hours :D.
Since I haven't been very active and don't currently have the chance to dogfood the plugin, I just posted that build-flow-plugin is looking for a new maintainer.

As Nicolas pointed out in the past, DSL is a good way to put things together, but also makes it too easy to abuse. It has shortcomings compared to a pipeline that you can resume, while not being as expressive as the job-dsl-plugin. 
Reply all
Reply to author
Forward
0 new messages