-
Bug
-
Resolution: Duplicate
-
Major
-
None
The multiple-scms plugin causes a null pointer exception in the console log when configuring a multi-branch pipeline job.
If I remove the multiple-scms plugin, no NPE is reported.
The multiple-scms plugin is not used in the job definition, (nor anywhere in my environment), so I removed it from my installation. When I remove it, the null pointer exception no longer appears.
This bug is logged in case others encounter a similar stack trace.
The stack trace is:
WARNING: Caught exception evaluating: h.filterDescriptors(it,attrs.descriptors) in /job/Git-Client-Folder/job/git-client-pipeline-github/configure. Reason: java.lang.NullPoint erException 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) 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)
Steps to duplicate the bug:
- Clone my docker repository and checkout this branch
$ git lfs clone https://github.com/MarkEWaite/docker-lfs JENKINS-45085 $ cd JENKINS-45085 $ git lfs fetch origin origin/explore-JENKINS-45085 $ git checkout -b JENKINS-45085 JENKINS-45085
- Build and run the docker image
$ docker build -t jenkins:JENKINS-45085 . $ docker run -i --rm --publish 8080:8080 jenkins:JENKINS-45085
- Open the Jenkins URL (http://localhost:8080), open "Git Client Plugin Folder" and "Git Client Branches - Jenkinsfile (GitHub)"
- Click the "Configure" link while watching the console log - null pointer exception will be reported to console (but not to the user interface)
Steps to show that removing multiple-scms resolves the problem:
- Checkout branch without multiple-scms
$ git lfs clone https://github.com/MarkEWaite/docker-lfs JENKINS-45085-avoided $ cd JENKINS-45085-avoided $ git lfs fetch origin origin/explore-JENKINS-45085 $ git checkout -b JENKINS-45085-avoided JENKINS-45085-avoided
- Build and run the docker image
$ docker build -t jenkins:JENKINS-45085-avoided . $ docker run -i --rm --publish 8080:8080 jenkins:JENKINS-45085-avoided
- Open the Jenkins URL (http://localhost:8080), open "Git Client Plugin Folder" and "Git Client Branches - Jenkinsfile (GitHub)"
- Click the "Configure" link while watching the console log - null pointer exception will not be reported
- is related to
-
JENKINS-39598 MultiSCM/config.jelly passes descriptors=null
- Closed