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

NullPointerException at CreateTextFile.CreateFileTask.call()

    Details

    • Similar Issues:

      Description

      On Windows 2008, when setting File Path =
      My_Config.txt

      It fails with Null pointer exception.

      To resolve I use:
      ${WORKSPACE}/My_Config.txt

      Trace is:

      Building remotely on AUTOJEN1 (Win2008 Regression IE9) in workspace c:\jenkins-slave\workspace\Run_Test_Suite_debug
      [EnvInject] - Executing scripts and injecting environment variables after the SCM step.
      java.lang.NullPointerException
      at hudson.FilePath.mkdirs(FilePath.java:2891)
      at hudson.FilePath.access$800(FilePath.java:190)
      at hudson.FilePath$37.invoke(FilePath.java:1904)
      at hudson.FilePath$37.invoke(FilePath.java:1901)
      at hudson.FilePath.act(FilePath.java:990)
      at hudson.FilePath.act(FilePath.java:968)
      at hudson.FilePath.write(FilePath.java:1901)
      at com.etas.jenkins.plugins.CreateTextFile.CreateFileTask.call(CreateFileTask.java:94)
      at com.etas.jenkins.plugins.CreateTextFile.CreateFileTask.call(CreateFileTask.java:38)
      at hudson.remoting.UserRequest.perform(UserRequest.java:120)
      at hudson.remoting.UserRequest.perform(UserRequest.java:48)
      at hudson.remoting.Request$2.run(Request.java:326)
      at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      at java.util.concurrent.FutureTask.run(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      at hudson.remoting.Engine$1$1.run(Engine.java:62)
      at java.lang.Thread.run(Unknown Source)
      at ......remote call to AUTOJEN1(Native Method)
      at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
      at hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
      at hudson.remoting.Channel.call(Channel.java:781)
      at com.etas.jenkins.plugins.CreateTextFile.CreateFileBuilder.perform(CreateFileBuilder.java:82)
      at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
      at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:782)
      at hudson.model.Build$BuildExecution.build(Build.java:205)
      at hudson.model.Build$BuildExecution.doRun(Build.java:162)
      at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
      at com.tikal.jenkins.plugins.multijob.MultiJobBuild$MultiJobRunnerImpl.run(MultiJobBuild.java:136)
      at hudson.model.Run.execute(Run.java:1738)
      at com.tikal.jenkins.plugins.multijob.MultiJobBuild.run(MultiJobBuild.java:73)
      at hudson.model.ResourceController.execute(ResourceController.java:98)
      at hudson.model.Executor.run(Executor.java:410)
      Build step 'Create/Update Text File' marked build as failure

        Attachments

          Activity

          Hide
          zerthimon Lior Goikhburg added a comment -

          Having the same problem.

          Only absolute path to file fixes the problem.
          Please make the paths relative to $WORKSPACE

          Show
          zerthimon Lior Goikhburg added a comment - Having the same problem. Only absolute path to file fixes the problem. Please make the paths relative to $WORKSPACE
          Hide
          sankethpb Sanketh PB added a comment -

          This was implemented to use absolute paths. Sure, I will fix this issue.

          Thanks and Regards,
          Sanketh

          Show
          sankethpb Sanketh PB added a comment - This was implemented to use absolute paths. Sure, I will fix this issue. Thanks and Regards, Sanketh
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Sanketh P B
          Path:
          .project
          pom.xml
          src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder.java
          src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileTask.java
          src/main/resources/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder/config.jelly
          src/main/resources/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder/help-useWorkspace.html
          src/test/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilderTest.java
          http://jenkins-ci.org/commit/text-file-operations-plugin/643305cb7b049ebfcaac928a20c2fc6b4adcb06d
          Log:
          Fixed https://issues.jenkins-ci.org/browse/JENKINS-33221 : Logging added, error handling fixed
          Fixed https://issues.jenkins-ci.org/browse/JENKINS-32694 : If file path doesn't start with variable or not absolute then file is created at ${WORKSPACE}
          Fixed adding multiple end of line when existing file is modified

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sanketh P B Path: .project pom.xml src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder.java src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileTask.java src/main/resources/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder/config.jelly src/main/resources/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder/help-useWorkspace.html src/test/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilderTest.java http://jenkins-ci.org/commit/text-file-operations-plugin/643305cb7b049ebfcaac928a20c2fc6b4adcb06d Log: Fixed https://issues.jenkins-ci.org/browse/JENKINS-33221 : Logging added, error handling fixed Fixed https://issues.jenkins-ci.org/browse/JENKINS-32694 : If file path doesn't start with variable or not absolute then file is created at ${WORKSPACE} Fixed adding multiple end of line when existing file is modified
          Hide
          sankethpb Sanketh PB added a comment - - edited

          Introduced "Create at Workspace" checkbox. If this is enabled the specified file will be created at workspace directory.
          It is allowed to create file at network drive or fixed drive, so I cannot by default create the file at workspace directory always.

          Fix is available in 1.3.0 release.

          Show
          sankethpb Sanketh PB added a comment - - edited Introduced "Create at Workspace" checkbox. If this is enabled the specified file will be created at workspace directory. It is allowed to create file at network drive or fixed drive, so I cannot by default create the file at workspace directory always. Fix is available in 1.3.0 release.
          Hide
          zerthimon Lior Goikhburg added a comment - - edited

          This change is unusable in UNIX-like systems, such as Linux where directory delimeter is a slash

          (/)

          and not a backslash

          (\)

          like it is in Windows.
          Currently the plugin assumes the OS is Windows and the delimiter is backslash

          (\)

          .

          File Path: context/Dockerfile.ubuntu-14.04-extended
          Create at Workspace: True
          results in :

          17:49:02 Creating/updating file at '/var/lib/jenkins/jobs/ubuntu-14.04-extended/workspace\context/Dockerfile.ubuntu-14.04-extended'
          17:49:02 File does not exist at '/var/lib/jenkins/jobs/ubuntu-14.04-extended/workspace\context/Dockerfile.ubuntu-14.04-extended', new file will be created.
          17:49:02 File successfully created/updated at /var/lib/jenkins/jobs/ubuntu-14.04-extended/workspace\context/Dockerfile.ubuntu-14.04-extended
          

          This creates a direcotry named "workspace\context/" inside job.
          Please fix.

          Show
          zerthimon Lior Goikhburg added a comment - - edited This change is unusable in UNIX-like systems, such as Linux where directory delimeter is a slash (/) and not a backslash (\) like it is in Windows. Currently the plugin assumes the OS is Windows and the delimiter is backslash (\) . File Path: context/Dockerfile.ubuntu-14.04-extended Create at Workspace: True results in : 17:49:02 Creating/updating file at '/var/lib/jenkins/jobs/ubuntu-14.04-extended/workspace\context/Dockerfile.ubuntu-14.04-extended' 17:49:02 File does not exist at '/var/lib/jenkins/jobs/ubuntu-14.04-extended/workspace\context/Dockerfile.ubuntu-14.04-extended', new file will be created. 17:49:02 File successfully created/updated at /var/lib/jenkins/jobs/ubuntu-14.04-extended/workspace\context/Dockerfile.ubuntu-14.04-extended This creates a direcotry named "workspace\context/" inside job. Please fix.
          Hide
          sankethpb Sanketh PB added a comment -

          Fixed in 1.3.1

          Show
          sankethpb Sanketh PB added a comment - Fixed in 1.3.1
          Hide
          nmanos Noam Manos added a comment - - edited

          Trying to use Plugin version 1.3.1, I'm getting on this file:

          ${WORKSPACE}/Custom_Data.properties

          Failed to create/update file.
          null

          The file content is:
          ${My_Custom_Data}

          I tried with or without WORKSPACE option, with slash and backslash.
          System is Windows 2008, Jenkins 1.647

          Show
          nmanos Noam Manos added a comment - - edited Trying to use Plugin version 1.3.1, I'm getting on this file: ${WORKSPACE}/Custom_Data.properties Failed to create/update file. null The file content is: ${My_Custom_Data} I tried with or without WORKSPACE option, with slash and backslash. System is Windows 2008, Jenkins 1.647
          Hide
          zerthimon Lior Goikhburg added a comment - - edited

          Using "create at workspace" with relative path or just specifying

          ${WORKSPACE}/path

          .... both ways work well in ver 1.3.1 in Linux.

          Show
          zerthimon Lior Goikhburg added a comment - - edited Using "create at workspace" with relative path or just specifying ${WORKSPACE}/path .... both ways work well in ver 1.3.1 in Linux.
          Hide
          nmanos Noam Manos added a comment - - edited

          So it is probably related to Windows.
          Also happens on Jenkins 1.656.

          Show
          nmanos Noam Manos added a comment - - edited So it is probably related to Windows. Also happens on Jenkins 1.656.
          Hide
          scm_issue_link SCM/JIRA link daemon added a comment -

          Code changed in jenkins
          User: Sanketh P B
          Path:
          src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder.java
          src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileTask.java
          src/test/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilderTest.java
          http://jenkins-ci.org/commit/text-file-operations-plugin/246f5a0ff1aedba561a32df77a913f28c712d9a6
          Log:
          Fixed JENKINS-33899 and JENKINS-32694
          logging caused null exception. Improvements in exception logging.

          Show
          scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sanketh P B Path: src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilder.java src/main/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileTask.java src/test/java/com/etas/jenkins/plugins/CreateTextFile/CreateFileBuilderTest.java http://jenkins-ci.org/commit/text-file-operations-plugin/246f5a0ff1aedba561a32df77a913f28c712d9a6 Log: Fixed JENKINS-33899 and JENKINS-32694 logging caused null exception. Improvements in exception logging.
          Hide
          sankethpb Sanketh PB added a comment -

          Fixed in 1.3.2, please check.

          Show
          sankethpb Sanketh PB added a comment - Fixed in 1.3.2, please check.
          Hide
          nmanos Noam Manos added a comment -

          Yep, now working.
          Thank you, great plugin!

          Show
          nmanos Noam Manos added a comment - Yep, now working. Thank you, great plugin!

            People

            • Assignee:
              nmanos Noam Manos
              Reporter:
              nmanos Noam Manos
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: