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

Details

    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

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

          New Pull request after adjusting to comments of oleg

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

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

          It has been released in 2.1. Thanks genmad!

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

          People

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

            Dates

              Created:
              Updated:
              Resolved: