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

    Details

    • Similar Issues:

      Description

      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.

       

       

        Attachments

          Activity

          Show
          oleg_nenashev Oleg Nenashev added a comment - https://github.com/jenkinsci/filesystem_scm-plugin/pull/3
          Hide
          genmad Jens Rogalli added a comment -

          New Pull request after adjusting to comments of oleg

          https://github.com/jenkinsci/filesystem_scm-plugin/pull/4

          Show
          genmad Jens Rogalli added a comment - New Pull request after adjusting to comments of oleg https://github.com/jenkinsci/filesystem_scm-plugin/pull/4
          Hide
          oleg_nenashev Oleg Nenashev added a comment -

          It has been released in 2.1. Thanks Jens Rogalli!

          Show
          oleg_nenashev Oleg Nenashev added a comment - It has been released in 2.1. Thanks Jens Rogalli !

            People

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

              Dates

              • Created:
                Updated:
                Resolved: