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

Powershell Pipeline Step hangs if capturing Stdout and output is null

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • durable-task-plugin
    • None
    • Jenkins 2.60.3
      Durable Task Plugin 1.14
      Windows Server 2012R2

      If the Powershell step is configured with 'returnStdout: true' and the script does not produce output, than [IO.File]::WriteAllLines fails when converting the temporaryOutput.txt, this causes the job to hang:

      [jaredtest] Running PowerShell script
      Cannot contact : java.nio.file.NoSuchFileException: D:\Jenkins-Windows\workspace\jaredtest@tmp\durable-4fe85a3b\output.txt
      

      Pipeline script to recreate:

      node{
        def output = powershell(returnStdout: true, script: '')
        echo output
      }
      

      Executing `powershellWrapper.ps1` directly in the workspace results in the following error:

      PS H:\> D:\Jenkins-Windows\workspace\jaredtest@tmp\durable-4fe85a3b\powershellWrapper.ps1
      Exception calling "WriteAllLines" with "2" argument(s): "Value cannot be null.
      Parameter name: contents"
      At D:\Jenkins-Windows\workspace\jaredtest@tmp\durable-4fe85a3b\powershellWrapper.ps1:1 char:585
      + ... utput.txt"; [IO.File]::WriteAllLines("D:\Jenkins-Windows\workspace\ja ...
      +                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
          + FullyQualifiedErrorId : ArgumentNullException
      

            gabloe Gabriel Loewen
            jakauppila Jared Kauppila
            Votes:
            4 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: