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

File System SCM creates NullPointer when trying to write changelog file, even though it had not been configured to do so

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • filesystem_scm-plugin
    • None
    • Jenkins 2.102
      File System SCM

      I'm using File System SCM to provide Folder Libraries. The Folder Librarie had been configured not to populate the changelog of the build with the changes found in the folder library.

       

      When not populating the changelog of the Job with the one of the Library File SCM creates a Null Pointer Exception:

       

      Loading library branchLib@defaultVersion

      FSSCM.checkout c:/ws/UFM6/RefactoringJenkinsJobs/work/Automation/Utils to c:\ws\BRANCH_RefactoringJenkinsJobs\Setup\work@libs\branchLib

      New file: .classpath

      <removed many more Lines of New Files>

      New file: vars\sonar.groovy

       

      java.lang.NullPointerException

                      at java.io.FileOutputStream.<init>(Unknown Source)

                      at java.io.FileOutputStream.<init>(Unknown Source)

                      at hudson.plugins.filesystem_scm.ChangelogSet$XMLSerializer.save(ChangelogSet.java:121)

                      at hudson.plugins.filesystem_scm.FSSCM.checkout(FSSCM.java:213)

                      at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:113)

                      at org.jenkinsci.plugins.workflow.libs.SCMSourceRetriever.doRetrieve(SCMSourceRetriever.java:112)

                      at org.jenkinsci.plugins.workflow.libs.SCMRetriever.retrieve(SCMRetriever.java:64)

                      at org.jenkinsci.plugins.workflow.libs.LibraryAdder.retrieve(LibraryAdder.java:153)

                      at org.jenkinsci.plugins.workflow.libs.LibraryAdder.add(LibraryAdder.java:134)

                      at org.jenkinsci.plugins.workflow.libs.LibraryDecorator$1.call(LibraryDecorator.java:125)

                      at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1065)

                      at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)

                      at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)

                      at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)

                      at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)

                      at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)

                      at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)

                      at groovy.lang.GroovyShell.parse(GroovyShell.java:700)

                      at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:129)

                      at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:123)

                      at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:517)

                      at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:480)

                      at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:268)

                      at hudson.model.ResourceController.execute(ResourceController.java:97)

                      at hudson.model.Executor.run(Executor.java:429)

      org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:

      WorkflowScript: Loading libraries failed

       

      1 error

       

                      at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)

                      at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)

                      at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)

                      at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)

                      at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)

                      at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)

                      at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)

                      at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)

                      at groovy.lang.GroovyShell.parse(GroovyShell.java:700)

                      at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:129)

                      at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:123)

                      at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:517)

                      at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:480)

                      at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:268)

                      at hudson.model.ResourceController.execute(ResourceController.java:97)

                      at hudson.model.Executor.run(Executor.java:429)

      Finished: FAILURE

       

      I checked the code of the File System SCM and of org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout. When the SCMStep is not configured to write a changelog file, then to the FSSCM a null changelog File is handed.

      This cause the Null Pointer Exception.

       

       

            oleg_nenashev Oleg Nenashev
            genmad Jens Rogalli
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: