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

NullPointerException in hudson.model.Run.getRootDir

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Blocker Blocker
    • core
    • CentOS 6, OpenJDK 1.7.0_25, Jenkins LTS 1.509.4

      Consistent multiple NullPointerException when publishing analysis results, example follows (Checkstyle, PMD, Clover etc.)

      12:45:27 [CHECKSTYLE] Collecting checkstyle analysis files...
      12:45:27 [CHECKSTYLE] Finding all files that match the pattern build/logs/checkstyle.xml
      12:45:27 ERROR: Publisher hudson.plugins.checkstyle.CheckStylePublisher aborted due to exception
      12:45:27 java.lang.NullPointerException
      12:45:27 	at hudson.model.Run.getRootDir(Run.java:961)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.getDataFile(BuildResult.java:498)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.loadResult(BuildResult.java:913)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.getProject(BuildResult.java:893)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.getContainer(BuildResult.java:1037)
      12:45:27 	at hudson.plugins.analysis.core.BuildHistory.getReferenceAnnotations(BuildHistory.java:86)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.initialize(BuildResult.java:264)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.<init>(BuildResult.java:217)
      12:45:27 	at hudson.plugins.checkstyle.CheckStyleResult.<init>(CheckStyleResult.java:61)
      12:45:27 	at hudson.plugins.checkstyle.CheckStyleResult.<init>(CheckStyleResult.java:56)
      12:45:27 	at hudson.plugins.checkstyle.CheckStyleResult.<init>(CheckStyleResult.java:36)
      12:45:27 	at hudson.plugins.checkstyle.CheckStylePublisher.perform(CheckStylePublisher.java:146)
      12:45:27 	at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:144)
      12:45:27 	at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:333)
      12:45:27 	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      12:45:27 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:780)
      12:45:27 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:752)
      12:45:27 	at hudson.model.Build$BuildExecution.post2(Build.java:183)
      12:45:27 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:705)
      12:45:27 	at hudson.model.Run.execute(Run.java:1617)
      12:45:27 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      12:45:27 	at hudson.model.ResourceController.execute(ResourceController.java:88)
      12:45:27 	at hudson.model.Executor.run(Executor.java:237)
      12:45:27 [PMD] Collecting PMD analysis files...
      12:45:27 [PMD] Finding all files that match the pattern build/logs/pmd.xml
      12:45:27 [PMD] Parsing 1 files in /home/jenkins/workspace/docs-dev-unit-test
      12:45:27 [PMD] Successfully parsed file /home/jenkins/workspace/docs-dev-unit-test/build/logs/pmd.xml of module  with 10 warnings.
      12:45:27 ERROR: Publisher hudson.plugins.pmd.PmdPublisher aborted due to exception
      12:45:27 java.lang.NullPointerException
      12:45:27 	at hudson.model.Run.getRootDir(Run.java:961)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.getDataFile(BuildResult.java:498)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.loadResult(BuildResult.java:913)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.getProject(BuildResult.java:893)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.getContainer(BuildResult.java:1037)
      12:45:27 	at hudson.plugins.analysis.core.BuildHistory.getReferenceAnnotations(BuildHistory.java:86)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.initialize(BuildResult.java:264)
      12:45:27 	at hudson.plugins.analysis.core.BuildResult.<init>(BuildResult.java:217)
      12:45:27 	at hudson.plugins.pmd.PmdResult.<init>(PmdResult.java:61)
      12:45:27 	at hudson.plugins.pmd.PmdResult.<init>(PmdResult.java:56)
      12:45:27 	at hudson.plugins.pmd.PmdResult.<init>(PmdResult.java:36)
      12:45:27 	at hudson.plugins.pmd.PmdPublisher.perform(PmdPublisher.java:142)
      12:45:27 	at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:144)
      12:45:27 	at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:333)
      12:45:27 	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      12:45:27 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:780)
      12:45:27 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:752)
      12:45:27 	at hudson.model.Build$BuildExecution.post2(Build.java:183)
      12:45:27 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:705)
      12:45:27 	at hudson.model.Run.execute(Run.java:1617)
      12:45:27 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      12:45:27 	at hudson.model.ResourceController.execute(ResourceController.java:88)
      12:45:27 	at hudson.model.Executor.run(Executor.java:237)
      12:45:27 [DRY] Collecting duplicate code analysis files...
      12:45:28 [DRY] Finding all files that match the pattern build/logs/pmd-cpd.xml
      12:45:28 [DRY] Parsing 1 files in /home/jenkins/workspace/docs-dev-unit-test
      12:45:28 [DRY] Successfully parsed file /home/jenkins/workspace/docs-dev-unit-test/build/logs/pmd-cpd.xml of module  with 5 warnings.
      12:45:28 ERROR: Publisher hudson.plugins.dry.DryPublisher aborted due to exception
      12:45:28 java.lang.NullPointerException
      12:45:28 	at hudson.model.Run.getRootDir(Run.java:961)
      12:45:28 	at hudson.plugins.analysis.core.BuildResult.getDataFile(BuildResult.java:498)
      12:45:28 	at hudson.plugins.analysis.core.BuildResult.loadResult(BuildResult.java:913)
      12:45:28 	at hudson.plugins.analysis.core.BuildResult.getProject(BuildResult.java:893)
      12:45:28 	at hudson.plugins.analysis.core.BuildResult.getContainer(BuildResult.java:1037)
      12:45:28 	at hudson.plugins.analysis.core.BuildHistory.getReferenceAnnotations(BuildHistory.java:86)
      12:45:28 	at hudson.plugins.analysis.core.BuildResult.initialize(BuildResult.java:264)
      12:45:28 	at hudson.plugins.analysis.core.BuildResult.<init>(BuildResult.java:217)
      12:45:28 	at hudson.plugins.dry.DryResult.<init>(DryResult.java:61)
      12:45:28 	at hudson.plugins.dry.DryResult.<init>(DryResult.java:56)
      12:45:28 	at hudson.plugins.dry.DryResult.<init>(DryResult.java:36)
      12:45:28 	at hudson.plugins.dry.DryPublisher.perform(DryPublisher.java:178)
      12:45:28 	at hudson.plugins.analysis.core.HealthAwarePublisher.perform(HealthAwarePublisher.java:144)
      12:45:28 	at hudson.plugins.analysis.core.HealthAwareRecorder.perform(HealthAwareRecorder.java:333)
      12:45:28 	at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
      12:45:28 	at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:780)
      12:45:28 	at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:752)
      12:45:28 	at hudson.model.Build$BuildExecution.post2(Build.java:183)
      12:45:28 	at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:705)
      12:45:28 	at hudson.model.Run.execute(Run.java:1617)
      12:45:28 	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      12:45:28 	at hudson.model.ResourceController.execute(ResourceController.java:88)
      12:45:28 	at hudson.model.Executor.run(Executor.java:237)
      

      Investigation results:

      Seems that the member

      protected transient final JobT project;
      

      is null when calling

         /**
          * Root directory of this {@link Run} on the master.
          * 
          * Files related to this {@link Run} should be stored below this directory.
          */
          public File getRootDir() {
              return new File(project.getBuildDir(),getId());
          }
      

      Since the member is restored using XStream during startup, there must be a problem with the serialization of the config.xml or build.xml file.

          [JENKINS-20358] NullPointerException in hudson.model.Run.getRootDir

          Ulli Hafner added a comment -

          Is this for all of your jobs? Or just a single one? Seems that Jenkins has problems to restore the project from XML. Are there other logging messages in Jenkins log that show that a project cannot be restored?

          How many projects do you have?

          Ulli Hafner added a comment - Is this for all of your jobs? Or just a single one? Seems that Jenkins has problems to restore the project from XML. Are there other logging messages in Jenkins log that show that a project cannot be restored? How many projects do you have?

          We have 100s of jobs but I believe its only for this job (no-one else has reported problems). However its entirely possible that this plugin set is only used in this job.

          In the jenkins log I also see this (from an earlier failed build, similar stack traces):

          Oct 31, 2013 9:11:51 AM hudson.ExpressionFactory2$JexlExpression evaluate
          WARNING: Caught exception evaluating: from.lastSuccessfulResult.result in /jenkins/job/docs-dev-unit-test/. Reason: java.lang.reflect.InvocationTargetException
          java.lang.reflect.InvocationTargetException
          at sun.reflect.GeneratedMethodAccessor2552.invoke(Unknown Source)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)
          at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)
          at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
          at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
          at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
          at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
          at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
          at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
          at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
          at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
          at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
          at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
          at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98)
          at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
          at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
          at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119)
          at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
          at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81)
          at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
          at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
          at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112)
          at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:674)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799)
          at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:239)
          at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
          at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:685)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799)
          at org.kohsuke.stapler.Stapler.invoke(Stapler.java:587)
          at org.kohsuke.stapler.Stapler.service(Stapler.java:218)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
          at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:208)
          at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:181)
          at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86)
          at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
          at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66)
          at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98)
          at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          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 org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124)
          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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64)
          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:66)
          at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
          at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
          at java.lang.Thread.run(Thread.java:724)
          Caused by: java.lang.NullPointerException
          at hudson.model.Run.getRootDir(Run.java:961)
          at org.jenkinsci.plugins.cloverphp.CloverPHPPublisher.getCloverXmlReport(CloverPHPPublisher.java:151)
          at org.jenkinsci.plugins.cloverphp.CloverBuildAction.getResult(CloverBuildAction.java:143)
          ... 125 more

          Brett Delle Grazie added a comment - We have 100s of jobs but I believe its only for this job (no-one else has reported problems). However its entirely possible that this plugin set is only used in this job. In the jenkins log I also see this (from an earlier failed build, similar stack traces): Oct 31, 2013 9:11:51 AM hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: from.lastSuccessfulResult.result in /jenkins/job/docs-dev-unit-test/. Reason: java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor2552.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314) at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185) at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75) at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83) at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57) at org.apache.commons.jexl.parser.ASTReferenceExpression.value(ASTReferenceExpression.java:51) at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80) at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74) at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81) at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161) at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81) at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:146) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:98) at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91) at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99) at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:119) at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105) at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:81) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63) at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53) at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:112) at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:674) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799) at org.kohsuke.stapler.MetaClass$6.doDispatch(MetaClass.java:239) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:685) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:799) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:587) at org.kohsuke.stapler.Stapler.service(Stapler.java:218) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:208) at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:181) at net.bull.javamelody.PluginMonitoringFilter.doFilter(PluginMonitoringFilter.java:86) at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:84) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98) at hudson.plugins.audit_trail.AuditTrailFilter.doFilter(AuditTrailFilter.java:66) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:98) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 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 org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124) 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 org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:64) 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:66) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:724) Caused by: java.lang.NullPointerException at hudson.model.Run.getRootDir(Run.java:961) at org.jenkinsci.plugins.cloverphp.CloverPHPPublisher.getCloverXmlReport(CloverPHPPublisher.java:151) at org.jenkinsci.plugins.cloverphp.CloverBuildAction.getResult(CloverBuildAction.java:143) ... 125 more

          Ulli Hafner added a comment -

          I see, this is the same problem: the job cannot be restored anymore. Due to this problem, the NPE occurs in Jenkins core.

          How important is the history of this job? If possible I would suggest to create a new job with the same settings and delete the broken one. I think every plug-in that stores data in the build folder will throw a NPE at the same place.
          If this is not possible: I think it would help to stop Jenkins, restart it and watch the Jenkins log without any Jobs running, to see why the project is not loaded anymore.

          Ulli Hafner added a comment - I see, this is the same problem: the job cannot be restored anymore. Due to this problem, the NPE occurs in Jenkins core. How important is the history of this job? If possible I would suggest to create a new job with the same settings and delete the broken one. I think every plug-in that stores data in the build folder will throw a NPE at the same place. If this is not possible: I think it would help to stop Jenkins, restart it and watch the Jenkins log without any Jobs running, to see why the project is not loaded anymore.

          Looks like this was due to Perforce Plugin data left in the job after Perforce Plugin was removed (we never used Perforce at all). Since we also went through a large upgrade (1.480.3 -> 1.509.4 LTS) at the same time this may also be related. As soon as I dismissed the old data and restarted the plugin appears to be working. We can close this issue

          Brett Delle Grazie added a comment - Looks like this was due to Perforce Plugin data left in the job after Perforce Plugin was removed (we never used Perforce at all). Since we also went through a large upgrade (1.480.3 -> 1.509.4 LTS) at the same time this may also be related. As soon as I dismissed the old data and restarted the plugin appears to be working. We can close this issue

          Old job configuration data, when removed using the GUI, things started working again

          Brett Delle Grazie added a comment - Old job configuration data, when removed using the GUI, things started working again

            drulli Ulli Hafner
            bdellegrazie Brett Delle Grazie
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: