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

NPE in console log when I configure a folder in a folder or a pipeline in a folder

      A null pointer exception is reported by the jelly code when I try to configure a folder in a folder or a pipeline in a folder.

      The message is "Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /configure. Reason: java.lang.NullPointerException"

      Refer to comment later in this report for steps markewaite used to duplicate the problem.

      ERROR: Timeout after 10 minutes
      ERROR: Error cloning remote repo 'origin'
      hudson.plugins.git.GitException: Command "git fetch --tags --progress http://dev.newtranx.com:18080/git/app/newtranxPT_iOS.git +refs/heads/*:refs/remotes/origin/*" returned status code 143:
      stdout: 
      stderr: 
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:1745)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:1489)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$300(CliGitAPIImpl.java:64)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:315)
      	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$2.execute(CliGitAPIImpl.java:512)
      	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1054)
      	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1094)
      	at hudson.scm.SCM.checkout(SCM.java:495)
      	at hudson.model.AbstractProject.checkout(AbstractProject.java:1278)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
      	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
      	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
      	at hudson.model.Run.execute(Run.java:1720)
      	at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
      	at hudson.model.ResourceController.execute(ResourceController.java:98)
      	at hudson.model.Executor.run(Executor.java:404)
      ERROR: null
      
      Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /configure. Reason: java.lang.NullPointerException
      java.lang.NullPointerException
      	at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:72)
      	at hudson.Functions.filterDescriptors(Functions.java:1790)
      	at sun.reflect.GeneratedMethodAccessor266.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.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
      	at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
      	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.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:120)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.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.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	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:95)
      	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
      	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:99)
      	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$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	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.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.TagSupport.invokeBody(TagSupport.java:161)
      	at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
      	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.ChooseTag.doTag(ChooseTag.java:38)
      	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$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	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:120)
      	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:120)
      	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
      	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
      	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:99)
      	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$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	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.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.TagSupport.invokeBody(TagSupport.java:161)
      	at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
      	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.ChooseTag.doTag(ChooseTag.java:38)
      	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$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	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:120)
      	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:120)
      	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:95)
      	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
      	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.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.ScopeTag.doTag(ScopeTag.java:37)
      	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.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:120)
      	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:120)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.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:120)
      	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.TagSupport.invokeBody(TagSupport.java:161)
      	at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
      	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.ChooseTag.doTag(ChooseTag.java:38)
      	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$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	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:120)
      	at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
      	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
      	at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
      	at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.TagSupport.invokeBody(TagSupport.java:161)
      	at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)
      	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.ChooseTag.doTag(ChooseTag.java:38)
      	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$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	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.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.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.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
      	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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:120)
      	at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
      	at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
      	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.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:120)
      	at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
      	at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
      	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.JellyFacet$1.dispatch(JellyFacet.java:95)
      	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)
      	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:649)
      	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:812)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669)
      	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:135)
      	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:126)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:86)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	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:76)
      	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
      	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652)
      	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
      	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:553)
      	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
      	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
      	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
      	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
      	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
      	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
      	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
      	at org.eclipse.jetty.server.Server.handle(Server.java:499)
      	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
      	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
      	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
      	at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:724)
      

          [JENKINS-40545] NPE in console log when I configure a folder in a folder or a pipeline in a folder

          Mark Waite added a comment - - edited

          I am able to duplicate the null pointer exception in h.filterDescriptors without any message from the git plugin. I believe this is a problem in core, though I could easily be wrong.

          Steps I take to see the problem:

          1. Clone my docker repository and checkout the lts-with-plugins branch
              $ git clone https://github.com/MarkEWaite/docker JENKINS-40545
              $ cd JENKINS-40545
              $ git checkout -b lts-with-plugins -t origin/lts-with-plugins
            
          2. Build and run that docker image
              $ docker build -t jenkins:JENKINS-40545 .
              $ docker run -i --rm --publish 8080:8080 --publish 50000:50000 --publish 18022:18022 -t jenkins:JENKINS-40545
            
          3. Open a web browser to http://localhost:8080/
          4. Click the "Git Client Plugin Folder" folder in that web browser
          5. Click the "Git Client Branches - Maven" multi-branch job
          6. Click the "Configure" link in that multi-branch maven job, and watch the console log from the docker image

          The console log reports:

          Feb 06, 2017 6:55:04 PM hudson.ExpressionFactory2$JexlExpression evaluate
          WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /job/Git-Folder/job/git-plugin-freestyle-multi-branch/configure. Reason: java.lang.NullPointerException
          java.lang.NullPointerException
                  at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:72)
                  at hudson.Functions.filterDescriptors(Functions.java:1790)
                  at sun.reflect.GeneratedMethodAccessor437.invoke(Unknown Source)
                  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                  at java.lang.reflect.Method.invoke(Method.java:498)
                  at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
                  at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
                  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.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)
                  
          
          

          I see the same null pointer exception if I try to configure a folder inside a folder. For example, the problem happens if I use the following steps:

          1. Click the "Hosting Providers" top level folder
          2. Click the "Assembla" folder
          3. Click the "Configure" link in the Assembla folder (folder in a folder)

          I don't see that null pointer exception when I configure a freestyle job inside a folder.

          Just in case this behavior changes from later modifications to my lts-with-plugins branch, I placed a git tag named "JENKINS-40545" in that repository.

          Mark Waite added a comment - - edited I am able to duplicate the null pointer exception in h.filterDescriptors without any message from the git plugin. I believe this is a problem in core, though I could easily be wrong. Steps I take to see the problem: Clone my docker repository and checkout the lts-with-plugins branch $ git clone https: //github.com/MarkEWaite/docker JENKINS-40545 $ cd JENKINS-40545 $ git checkout -b lts-with-plugins -t origin/lts-with-plugins Build and run that docker image $ docker build -t jenkins:JENKINS-40545 . $ docker run -i --rm --publish 8080:8080 --publish 50000:50000 --publish 18022:18022 -t jenkins:JENKINS-40545 Open a web browser to http://localhost:8080/ Click the "Git Client Plugin Folder" folder in that web browser Click the "Git Client Branches - Maven" multi-branch job Click the "Configure" link in that multi-branch maven job, and watch the console log from the docker image The console log reports: Feb 06, 2017 6:55:04 PM hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /job/Git-Folder/job/git-plugin-freestyle-multi-branch/configure. Reason: java.lang.NullPointerException java.lang.NullPointerException at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:72) at hudson.Functions.filterDescriptors(Functions.java:1790) at sun.reflect.GeneratedMethodAccessor437.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104) 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.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) I see the same null pointer exception if I try to configure a folder inside a folder. For example, the problem happens if I use the following steps: Click the "Hosting Providers" top level folder Click the "Assembla" folder Click the "Configure" link in the Assembla folder (folder in a folder) I don't see that null pointer exception when I configure a freestyle job inside a folder. Just in case this behavior changes from later modifications to my lts-with-plugins branch, I placed a git tag named " JENKINS-40545 " in that repository.

          Jesse Glick added a comment -

          Probably a bug in some plugin, but TBD which. DescriptorVisibilityFilter should look for null descriptors and log a message but continue. And whatever code is creating this descriptor list should be checking for nulls earlier and logging something more specific.

          Jesse Glick added a comment - Probably a bug in some plugin, but TBD which. DescriptorVisibilityFilter should look for null descriptors and log a message but continue. And whatever code is creating this descriptor list should be checking for nulls earlier and logging something more specific.

          We have the same warnings for the plugins filters when opening the Jenkins System configure page.

          WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /jenkins/configure. Reason: java.lang.NullPointerException
          java.lang.NullPointerException
          at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:72)
          at hudson.Functions.filterDescriptors(Functions.java:1790)

          Here is the Jenkins war version:

          • jenkins.war.LTS.2.32.3

          The issue appears after an update of the Jenkins pipeline plugins and dependancies:

          • name: credentials-binding
            version: '1.10'
          • name: docker-commons
            version: '1.5'
          • name: docker-workflow
            version: '1.9'
          • name: durable-task
            version: '1.12'
          • name: pipeline-build-step
            version: '2.4'
          • name: pipeline-graph-analysis
            version: '1.1'
          • name: pipeline-input-step
            version: '2.5'
          • name: pipeline-milestone-step
            version: '1.3'
          • name: pipeline-model-api
            version: '1.0'
          • name: pipeline-model-declarative-agent
            version: '1.0'
          • name: pipeline-model-definition
            version: '1.0'
          • name: pipeline-rest-api
            version: '2.4'
          • name: pipeline-stage-step
            version: '2.2'
          • name: pipeline-stage-tags-metadata
            version: '1.0'
          • name: pipeline-stage-view
            version: '2.4'
          • name: workflow-aggregator
            version: '2.5'
          • name: workflow-api
            version: '2.8'
          • name: workflow-basic-steps
            version: '2.3'
          • name: workflow-cps
            version: '2.24'
          • name: workflow-cps-global-lib
            version: '2.5'
          • name: workflow-durable-task-step
            version: '2.8'
          • name: workflow-job
            version: '2.9'
          • name: workflow-multibranch
            version: '2.9.2'
          • name: workflow-scm-step
            version: '2.3'
          • name: workflow-step-api
            version: '2.7'
          • name: workflow-support
            version: '2.12'

           

          Nicolas Dupont-Jubien added a comment - We have the same warnings for the plugins filters when opening the Jenkins System configure page. WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /jenkins/configure. Reason: java.lang.NullPointerException java.lang.NullPointerException at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:72) at hudson.Functions.filterDescriptors(Functions.java:1790) Here is the Jenkins war version: jenkins.war.LTS.2.32.3 The issue appears after an update of the Jenkins pipeline plugins and dependancies: name: credentials-binding version: '1.10' name: docker-commons version: '1.5' name: docker-workflow version: '1.9' name: durable-task version: '1.12' name: pipeline-build-step version: '2.4' name: pipeline-graph-analysis version: '1.1' name: pipeline-input-step version: '2.5' name: pipeline-milestone-step version: '1.3' name: pipeline-model-api version: '1.0' name: pipeline-model-declarative-agent version: '1.0' name: pipeline-model-definition version: '1.0' name: pipeline-rest-api version: '2.4' name: pipeline-stage-step version: '2.2' name: pipeline-stage-tags-metadata version: '1.0' name: pipeline-stage-view version: '2.4' name: workflow-aggregator version: '2.5' name: workflow-api version: '2.8' name: workflow-basic-steps version: '2.3' name: workflow-cps version: '2.24' name: workflow-cps-global-lib version: '2.5' name: workflow-durable-task-step version: '2.8' name: workflow-job version: '2.9' name: workflow-multibranch version: '2.9.2' name: workflow-scm-step version: '2.3' name: workflow-step-api version: '2.7' name: workflow-support version: '2.12'  

          Have the same issue at my Jenkins when navigating to the /configure section

          core version: 2.46.2 (LTS)
          OS: CentOS Linux release 7.3.1611 (kernel 4.1)
          plugins:

          ace-editor: 1.1
          analysis-core: 1.84
          ansicolor: 0.4.2
          ant: 1.2
          antisamy-markup-formatter: 1.1
          artifactdeployer: 0.33
          artifactory: 2.4.6
          authentication-tokens: 1.3
          aws-credentials: 1.19
          aws-java-sdk: 1.11.68
          blueocean: 1.0.1
          blueocean-autofavorite: 0.7
          blueocean-commons: 1.0.1
          blueocean-config: 1.0.1
          blueocean-dashboard: 1.0.1
          blueocean-display-url: 2.0
          blueocean-events: 1.0.1
          blueocean-git-pipeline: 1.0.1
          blueocean-github-pipeline: 1.0.1
          blueocean-i18n: 1.0.1
          blueocean-jwt: 1.0.1
          blueocean-personalization: 1.0.1
          blueocean-pipeline-api-impl: 1.0.1
          blueocean-pipeline-editor: 0.2.0
          blueocean-rest: 1.0.1
          blueocean-rest-impl: 1.0.1
          blueocean-web: 1.0.1
          bouncycastle-api: 2.16.0
          branch-api: 2.0.8
          build-history-metrics-plugin: 1.2
          build-name-setter: 1.5.1
          build-pipeline-plugin: 1.4.8
          build-timeout: 1.15
          build-user-vars-plugin: 1.4
          buildtriggerbadge: 2.2
          built-on-column: 1.1
          checkstyle: 3.47
          ci-game: 1.23
          claim: 2.9
          cloudbees-folder: 6.0.3
          cobertura: 1.9.7
          conditional-buildstep: 1.3.3
          copy-to-slave: 1.4.4
          copyartifact: 1.37
          credentials: 2.1.13
          credentials-binding: 1.11
          cvs: 2.11
          dashboard-view: 2.9.10
          delivery-pipeline-plugin: 0.9.7
          description-setter: 1.10
          display-url-api: 2.0
          docker-commons: 1.6
          docker-workflow: 1.10
          durable-task: 1.13
          ec2: 1.36
          email-ext: 2.57.2
          embeddable-build-status: 1.8
          envinject: 2.0
          external-monitor-job: 1.4
          extra-columns: 1.18
          favorite: 2.0.4
          file-leak-detector: 1.4
          flexible-publish: 0.15.2
          git: 3.3.0
          git-client: 2.4.5
          git-server: 1.6
          github: 1.26.2
          github-api: 1.85
          github-branch-source: 2.0.5
          github-oauth: 0.24
          github-organization-folder: 1.6
          gradle: 1.26
          greenballs: 1.15
          groovy: 2.0
          groovy-postbuild: 2.2.2
          handlebars: 1.1.1
          hidden-parameter: 0.0.4
          htmlpublisher: 1.11
          icon-shim: 2.0.3
          jackson2-api: 2.7.3
          javadoc: 1.1
          jenkins-multijob-plugin: 1.24
          JiraTestResultReporter: 1.0.4
          jobConfigHistory: 2.12
          join: 1.16
          jquery: 1.11.2-0
          jquery-detached: 1.2.1
          junit: 1.20
          ldap: 1.11
          lenientshutdown: 1.1.1
          logstash: 1.1.1
          mailer: 1.20
          mapdb-api: 1.0.6.0
          matrix-auth: 1.5
          matrix-combinations-parameter: 1.0.9
          matrix-project: 1.7.1
          maven-plugin: 2.15.1
          metrics: 3.1.2.9
          momentjs: 1.1.1
          multiple-scms: 0.5
          naginator: 1.17.2
          nested-view: 1.14
          node-iterator-api: 1.5.0
          nodelabelparameter: 1.5.1
          notification: 1.10
          pam-auth: 1.3
          parameterized-trigger: 2.29
          pipeline-build-step: 2.5
          pipeline-github-lib: 1.0
          pipeline-graph-analysis: 1.3
          pipeline-input-step: 2.5
          pipeline-milestone-step: 1.3.1
          pipeline-model-api: 1.1.4
          pipeline-model-declarative-agent: 1.1.1
          pipeline-model-definition: 1.1.4
          pipeline-model-extensions: 1.1.4
          pipeline-rest-api: 2.6
          pipeline-stage-step: 2.2
          pipeline-stage-tags-metadata: 1.1.4
          pipeline-stage-view: 2.6
          plain-credentials: 1.4
          plot: 1.9
          postbuild-task: 1.8
          postbuildscript: 0.17
          pubsub-light: 1.8
          rebuild: 1.25
          resource-disposer: 0.6
          rich-text-publisher-plugin: 1.3
          run-condition: 1.0
          s3: 0.8
          sauce-ondemand: 1.158
          sbt: 1.5
          scm-api: 2.1.1
          scoverage: 1.3.0
          script-security: 1.27
          scriptler: 2.9
          shelve-project-plugin: 1.5
          shiningpanda: 0.22
          sidebar-link: 1.7
          slack: 1.8.1
          sse-gateway: 1.15
          ssh: 2.4
          ssh-agent: 1.15
          ssh-credentials: 1.13
          ssh-slaves: 1.16
          structs: 1.6
          subversion: 2.5.6
          tap: 2.1
          test-results-analyzer: 0.2.3
          timestamper: 1.7.2
          token-macro: 2.1
          translation: 1.10
          validating-string-parameter: 2.3
          variant: 1.1
          violation-columns: 1.6
          violations: 0.7.11
          windows-slaves: 1.0
          workflow-aggregator: 2.4
          workflow-api: 2.12
          workflow-basic-steps: 2.3
          workflow-cps: 2.29
          workflow-cps-global-lib: 2.7
          workflow-durable-task-step: 2.10
          workflow-job: 2.10
          workflow-multibranch: 2.14
          workflow-scm-step: 2.4
          workflow-step-api: 2.9
          workflow-support: 2.14
          ws-cleanup: 0.32
          

           

           

          Sasha Miroshnychenko added a comment - Have the same issue at my Jenkins when navigating to the /configure section core version: 2.46.2 (LTS) OS: CentOS Linux release 7.3.1611 (kernel 4.1) plugins: ace-editor: 1.1 analysis-core: 1.84 ansicolor: 0.4.2 ant: 1.2 antisamy-markup-formatter: 1.1 artifactdeployer: 0.33 artifactory: 2.4.6 authentication-tokens: 1.3 aws-credentials: 1.19 aws-java-sdk: 1.11.68 blueocean: 1.0.1 blueocean-autofavorite: 0.7 blueocean-commons: 1.0.1 blueocean-config: 1.0.1 blueocean-dashboard: 1.0.1 blueocean-display-url: 2.0 blueocean-events: 1.0.1 blueocean-git-pipeline: 1.0.1 blueocean-github-pipeline: 1.0.1 blueocean-i18n: 1.0.1 blueocean-jwt: 1.0.1 blueocean-personalization: 1.0.1 blueocean-pipeline-api-impl: 1.0.1 blueocean-pipeline-editor: 0.2.0 blueocean- rest : 1.0.1 blueocean- rest -impl: 1.0.1 blueocean-web: 1.0.1 bouncycastle-api: 2.16.0 branch-api: 2.0.8 build-history-metrics-plugin: 1.2 build-name-setter: 1.5.1 build-pipeline-plugin: 1.4.8 build-timeout: 1.15 build-user-vars-plugin: 1.4 buildtriggerbadge: 2.2 built-on-column: 1.1 checkstyle: 3.47 ci-game: 1.23 claim: 2.9 cloudbees-folder: 6.0.3 cobertura: 1.9.7 conditional-buildstep: 1.3.3 copy-to-slave: 1.4.4 copyartifact: 1.37 credentials: 2.1.13 credentials-binding: 1.11 cvs: 2.11 dashboard-view: 2.9.10 delivery-pipeline-plugin: 0.9.7 description-setter: 1.10 display-url-api: 2.0 docker-commons: 1.6 docker-workflow: 1.10 durable-task: 1.13 ec2: 1.36 email-ext: 2.57.2 embeddable-build-status: 1.8 envinject: 2.0 external-monitor-job: 1.4 extra-columns: 1.18 favorite: 2.0.4 file-leak-detector: 1.4 flexible-publish: 0.15.2 git: 3.3.0 git-client: 2.4.5 git-server: 1.6 github: 1.26.2 github-api: 1.85 github-branch-source: 2.0.5 github-oauth: 0.24 github-organization-folder: 1.6 gradle: 1.26 greenballs: 1.15 groovy: 2.0 groovy-postbuild: 2.2.2 handlebars: 1.1.1 hidden-parameter: 0.0.4 htmlpublisher: 1.11 icon-shim: 2.0.3 jackson2-api: 2.7.3 javadoc: 1.1 jenkins-multijob-plugin: 1.24 JiraTestResultReporter: 1.0.4 jobConfigHistory: 2.12 join: 1.16 jquery: 1.11.2-0 jquery-detached: 1.2.1 junit: 1.20 ldap: 1.11 lenientshutdown: 1.1.1 logstash: 1.1.1 mailer: 1.20 mapdb-api: 1.0.6.0 matrix-auth: 1.5 matrix-combinations-parameter: 1.0.9 matrix-project: 1.7.1 maven-plugin: 2.15.1 metrics: 3.1.2.9 momentjs: 1.1.1 multiple-scms: 0.5 naginator: 1.17.2 nested-view: 1.14 node-iterator-api: 1.5.0 nodelabelparameter: 1.5.1 notification: 1.10 pam-auth: 1.3 parameterized-trigger: 2.29 pipeline-build-step: 2.5 pipeline-github-lib: 1.0 pipeline-graph-analysis: 1.3 pipeline-input-step: 2.5 pipeline-milestone-step: 1.3.1 pipeline-model-api: 1.1.4 pipeline-model-declarative-agent: 1.1.1 pipeline-model-definition: 1.1.4 pipeline-model-extensions: 1.1.4 pipeline- rest -api: 2.6 pipeline-stage-step: 2.2 pipeline-stage-tags-metadata: 1.1.4 pipeline-stage-view: 2.6 plain-credentials: 1.4 plot: 1.9 postbuild-task: 1.8 postbuildscript: 0.17 pubsub-light: 1.8 rebuild: 1.25 resource-disposer: 0.6 rich-text-publisher-plugin: 1.3 run-condition: 1.0 s3: 0.8 sauce-ondemand: 1.158 sbt: 1.5 scm-api: 2.1.1 scoverage: 1.3.0 script-security: 1.27 scriptler: 2.9 shelve-project-plugin: 1.5 shiningpanda: 0.22 sidebar-link: 1.7 slack: 1.8.1 sse-gateway: 1.15 ssh: 2.4 ssh-agent: 1.15 ssh-credentials: 1.13 ssh-slaves: 1.16 structs: 1.6 subversion: 2.5.6 tap: 2.1 test-results-analyzer: 0.2.3 timestamper: 1.7.2 token-macro: 2.1 translation: 1.10 validating-string-parameter: 2.3 variant: 1.1 violation-columns: 1.6 violations: 0.7.11 windows-slaves: 1.0 workflow-aggregator: 2.4 workflow-api: 2.12 workflow-basic-steps: 2.3 workflow-cps: 2.29 workflow-cps-global-lib: 2.7 workflow-durable-task-step: 2.10 workflow-job: 2.10 workflow-multibranch: 2.14 workflow-scm-step: 2.4 workflow-step-api: 2.9 workflow-support: 2.14 ws-cleanup: 0.32    

          As I understand the problem, it is the Iterable<T> source what equals null. As the data came from jelly it is super easy to pass null by accident and it is hard to uncover the real cause looking at the stacktrace.

          Oliver Gondža added a comment - As I understand the problem, it is the Iterable<T> source what equals null. As the data came from jelly it is super easy to pass null by accident and it is hard to uncover the real cause looking at the stacktrace.

          Diagnostics proposed

          Oliver Gondža added a comment - Diagnostics proposed

          Code changed in jenkins
          User: Oliver Gondža
          Path:
          core/src/main/java/hudson/model/DescriptorVisibilityFilter.java
          test/src/test/java/hudson/model/DescriptorVisibilityFilterTest.java
          test/src/test/resources/hudson/model/DescriptorVisibilityFilterTest/Jenkins40545/index.jelly
          http://jenkins-ci.org/commit/jenkins/1167430a716c2750efa810974c9e1a513478c4a8
          Log:
          [FIXED JENKINS-40545] Diagnose NPE in DescriptorVisibilityFilter.apply

          Before:
          Jun 15, 2017 8:29:06 AM hudson.ExpressionFactory2$JexlExpression evaluate
          WARNING: Caught exception evaluating: h.filterDescriptors(it, no_descriptors_here).size() in /jenkins/jenkins40545/. Reason: java.lang.NullPointerException
          java.lang.NullPointerException
          at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:72)
          at hudson.Functions.filterDescriptors(Functions.java:1863)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
          ...

          After:
          Jun 15, 2017 12:10:43 PM hudson.ExpressionFactory2$JexlExpression evaluate
          WARNING: Caught exception evaluating: h.filterDescriptors(it, no_descriptors_here).size() in /jenkins/jenkins40545/. Reason: java.lang.NullPointerException: Descriptor list is null for context 'class hudson.model.DescriptorVisibilityFilterTest$Jenkins40545' in thread 'Handling GET /jenkins/jenkins40545/ from 127.0.0.1 : Jetty Thread Pool DescriptorVisibilityFilterTest/Jenkins40545/index.jelly'
          java.lang.NullPointerException: Descriptor list is null for context 'class hudson.model.DescriptorVisibilityFilterTest$Jenkins40545' in thread 'Handling GET /jenkins/jenkins40545/ from 127.0.0.1 : Jetty Thread Pool DescriptorVisibilityFilterTest/Jenkins40545/index.jelly'
          at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:73)
          at hudson.Functions.filterDescriptors(Functions.java:1863)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
          ...

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oliver Gondža Path: core/src/main/java/hudson/model/DescriptorVisibilityFilter.java test/src/test/java/hudson/model/DescriptorVisibilityFilterTest.java test/src/test/resources/hudson/model/DescriptorVisibilityFilterTest/Jenkins40545/index.jelly http://jenkins-ci.org/commit/jenkins/1167430a716c2750efa810974c9e1a513478c4a8 Log: [FIXED JENKINS-40545] Diagnose NPE in DescriptorVisibilityFilter.apply Before: Jun 15, 2017 8:29:06 AM hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: h.filterDescriptors(it, no_descriptors_here).size() in /jenkins/jenkins40545/. Reason: java.lang.NullPointerException java.lang.NullPointerException at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:72) at hudson.Functions.filterDescriptors(Functions.java:1863) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) ... After: Jun 15, 2017 12:10:43 PM hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: h.filterDescriptors(it, no_descriptors_here).size() in /jenkins/jenkins40545/. Reason: java.lang.NullPointerException: Descriptor list is null for context 'class hudson.model.DescriptorVisibilityFilterTest$Jenkins40545' in thread 'Handling GET /jenkins/jenkins40545/ from 127.0.0.1 : Jetty Thread Pool DescriptorVisibilityFilterTest/Jenkins40545/index.jelly' java.lang.NullPointerException: Descriptor list is null for context 'class hudson.model.DescriptorVisibilityFilterTest$Jenkins40545' in thread 'Handling GET /jenkins/jenkins40545/ from 127.0.0.1 : Jetty Thread Pool DescriptorVisibilityFilterTest/Jenkins40545/index.jelly' at hudson.model.DescriptorVisibilityFilter.apply(DescriptorVisibilityFilter.java:73) at hudson.Functions.filterDescriptors(Functions.java:1863) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258) ...

          Code changed in jenkins
          User: Oliver Gondža
          Path:
          core/src/main/java/hudson/model/DescriptorVisibilityFilter.java
          test/src/test/java/hudson/model/DescriptorVisibilityFilterTest.java
          test/src/test/resources/hudson/model/DescriptorVisibilityFilterTest/Jenkins40545/index.jelly
          http://jenkins-ci.org/commit/jenkins/70f80e97c7fcdf112812923c6439773628239a53
          Log:
          Merge pull request #2919 from olivergondza/visiblity-filter

          [FIXED JENKINS-40545] Diagnose NPE in DescriptorVisibilityFilter.apply

          Compare: https://github.com/jenkinsci/jenkins/compare/f7d6b6f89fd8...70f80e97c7fc

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oliver Gondža Path: core/src/main/java/hudson/model/DescriptorVisibilityFilter.java test/src/test/java/hudson/model/DescriptorVisibilityFilterTest.java test/src/test/resources/hudson/model/DescriptorVisibilityFilterTest/Jenkins40545/index.jelly http://jenkins-ci.org/commit/jenkins/70f80e97c7fcdf112812923c6439773628239a53 Log: Merge pull request #2919 from olivergondza/visiblity-filter [FIXED JENKINS-40545] Diagnose NPE in DescriptorVisibilityFilter.apply Compare: https://github.com/jenkinsci/jenkins/compare/f7d6b6f89fd8...70f80e97c7fc

          Jesse Glick added a comment -

          The NPE is not fixed by this change.

          Jesse Glick added a comment - The NPE is not fixed by this change.

          Jesse Glick added a comment -

          markewaite can you rerun with olivergondza’s patch so that we can see where the actual culprit lies?

          Jesse Glick added a comment - markewaite can you rerun with olivergondza ’s patch so that we can see where the actual culprit lies?

          John Gaunt added a comment -

          I tested with version 2.69. My use case was at launch of a fresh install (with quite a bit of configuration) loading the /configure endpoint through Manage Jenkins -> Configure System. It looks like my problem may be related to JENKINS-45085 (multi-scm), here is the interesting part of the console output:

           

          WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /configure. Reason: java.lang.NullPointerException: Descriptor list is null for context 'class hudson.model.Hudson' in thread 'Handling GET /configure from 172.18.0.1 : RequestHandlerThread[#1] Jenkins/configure.jelly GlobalLibraries/config.jelly LibraryConfiguration/config.jelly SCMRetriever/DescriptorImpl/config.jelly MultiSCM/DescriptorImpl/config.jelly'
          java.lang.NullPointerException: Descriptor list is null for context 'class hudson.model.Hudson' in thread 'Handling GET /configure from 172.18.0.1 : RequestHandlerThread[#1] Jenkins/configure.jelly GlobalLibraries/config.jelly LibraryConfiguration/config.jelly SCMRetriever/DescriptorImpl/config.jelly MultiSCM/DescriptorImpl/config.jelly'

          John Gaunt added a comment - I tested with version 2.69. My use case was at launch of a fresh install (with quite a bit of configuration) loading the /configure endpoint through Manage Jenkins -> Configure System. It looks like my problem may be related to JENKINS-45085 (multi-scm), here is the interesting part of the console output:   WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /configure. Reason: java.lang.NullPointerException: Descriptor list is null for context ' class hudson.model.Hudson' in thread 'Handling GET /configure from 172.18.0.1 : RequestHandlerThread[#1] Jenkins/configure.jelly GlobalLibraries/config.jelly LibraryConfiguration/config.jelly SCMRetriever/DescriptorImpl/config.jelly MultiSCM/DescriptorImpl/config.jelly' java.lang.NullPointerException: Descriptor list is null for context ' class hudson.model.Hudson' in thread 'Handling GET /configure from 172.18.0.1 : RequestHandlerThread[#1] Jenkins/configure.jelly GlobalLibraries/config.jelly LibraryConfiguration/config.jelly SCMRetriever/DescriptorImpl/config.jelly MultiSCM/DescriptorImpl/config.jelly'

          Oliver Gondža added a comment - The problem seems to be in multiple-scms plugin: https://github.com/jenkinsci/multiple-scms-plugin/blob/6e7231283defa716d547b2f4f56e9b8db52b67be/src/main/resources/org/jenkinsci/plugins/multiplescms/MultiSCM/config.jelly#L10 https://github.com/jenkinsci/multiple-scms-plugin/blob/6e7231283defa716d547b2f4f56e9b8db52b67be/src/main/java/org/jenkinsci/plugins/multiplescms/MultiSCM.java#L217-L229 Further investigation is needed.

          Oliver Gondža added a comment - - edited

          Oliver Gondža added a comment - - edited Jesse has verified my assumption in https://issues.jenkins-ci.org/browse/JENKINS-39598?focusedCommentId=306856&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-306856 . Which makes this a duplicate.

            Unassigned Unassigned
            haiwang li haiwang
            Votes:
            4 Vote for this issue
            Watchers:
            16 Start watching this issue

              Created:
              Updated:
              Resolved: