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

Decorated Launcher Does Not Maintain "isUnix" for RemoteLauncher


    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • Reproducible with Windows master, Linux slaves

      RemoteLauncher's isUnix attribute is supplied on construction for slaves. However, when the RemoteLauncher is passed through decorateByEnv, because the anonymous class created in this method does not override isUnix, it delegates back to the base Launcher's File.pathSeparatorChar==':' check. The value for the slave passed into RemoteLauncher on construction is lost. A similar problem occurs with decorateByPrefix.

      This will cause a problem if any downstream logic depends on the Launcher's isUnix value for a process launched on a slave with a different isUnix value than the master. For example, with a Windows master and a Linux slave, the wrong file path separator is selected in a regex on the history output, and so the SCM polling does not accurately pick up changes.

            tslantz Timothy Lantz
            tslantz Timothy Lantz
            0 Vote for this issue
            4 Start watching this issue