Issue Details (XML | Word | Printable)

Key: HUDSON-2851
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: mindless
Reporter: jiai
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Hudson

The cobertura statistics graphic on a project window isn't rendered

Created: 15/Jan/09 01:34 AM   Updated: 06/Apr/09 08:39 AM   Resolved: 06/Apr/09 08:38 AM
Component/s: cobertura
Affects Version/s: current
Fix Version/s: None

File Attachments: None
Image Attachments:

1. Clipboard01.png
(12 kB)
Environment: Platform: All, OS: All
Issue Links:
Duplicate
 


 Description  « Hide

The cobertura statistics graphic on a project window isn't rendered. When you
try to load this graphic you get a:

javax.servlet.ServletException: java.lang.NullPointerException
org.kohsuke.stapler.Stapler.invoke(Stapler.java:450)
org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:313)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:438)
org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:181)
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:438)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:356)
org.kohsuke.stapler.Stapler.service(Stapler.java:116)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:68)
hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:60)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:52)
hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:28)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:42)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:44)
hudson.security.HudsonFilter.doFilter(HudsonFilter.java:110)

root cause

java.lang.NullPointerException
hudson.plugins.cobertura.CoberturaBuildAction.getPreviousResult(CoberturaBuildAction.java:140)
hudson.plugins.cobertura.CoberturaBuildAction.getPreviousResult(CoberturaBuildAction.java:125)
hudson.plugins.cobertura.CoberturaBuildAction.doGraph(CoberturaBuildAction.java:218)
hudson.plugins.cobertura.CoberturaProjectAction.doGraph(CoberturaProjectAction.java:91)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:156)
org.kohsuke.stapler.Function.bindAndInvoke(Function.java:76)
org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:73)
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:438)
org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:313)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:438)
org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:181)
org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:438)
org.kohsuke.stapler.Stapler.invoke(Stapler.java:356)
org.kohsuke.stapler.Stapler.service(Stapler.java:116)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:68)
hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:60)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:52)
hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:28)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:42)
hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:55)
hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:44)
hudson.security.HudsonFilter.doFilter(HudsonFilter.java:110)



Sort Order: Ascending order - Click to sort in descending order
jiai added a comment - 15/Jan/09 01:40 AM

Created an attachment (id=521)
The defect image on the project page


mindless added a comment - 21/Jan/09 09:07 AM

confirmed.. if for some reason a previous build has no cobertura report then you
get this error.


mindless added a comment - 21/Jan/09 09:40 AM
      • Issue 2887 has been marked as a duplicate of this issue. ***

scm_issue_link added a comment - 21/Jan/09 09:46 AM

Code changed in hudson
User: : mindless
Path:
trunk/hudson/plugins/cobertura/src/main/java/hudson/plugins/cobertura/CoberturaBuildAction.java
http://fisheye4.cenqua.com/changelog/hudson/?cs=14699
Log:
[FIXED HUDSON-2851] Avoid NullPointerException in getPreviousResult if some previous
non-failed build has no cobertura report (aborted build, for example).


mindless added a comment - 14/Feb/09 07:07 AM
      • Issue 3042 has been marked as a duplicate of this issue. ***

mindless added a comment - 02/Apr/09 10:05 AM
      • Issue 3301 has been marked as a duplicate of this issue. ***

jiai added a comment - 02/Apr/09 12:31 PM

Sorry, but it isn't fixed, perhaps somewhere in the trunk - but until now there
was no new release! This bug is really annoying and it mutilates the project page.


mindless added a comment - 02/Apr/09 12:38 PM

i've asked the plugin maintainer a couple times to put out a release.. sorry it
hasn't happened yet. for now, please use the snapshot release that is attached
to issue #2823


mindless added a comment - 04/Apr/09 08:47 AM
      • Issue 3413 has been marked as a duplicate of this issue. ***

aebbert added a comment - 06/Apr/09 07:00 AM

How can this be RESOLVED and FIXED, if there is no released version of the plugin?


mindless added a comment - 06/Apr/09 08:38 AM

everyone please stop reopening this issue. you may email the dev or users alias
and encourage the plugin maintainer to put out a new release; as I said, I've
asked twice..