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

CreateProcess error=87, The parameter is incorrect

    • Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Major Major
    • envinject-plugin
    • None
    • Windows Server 2008 Enterprise

      On Jenkins we have envInject installed as version 0.21
      That works fine.

      After upgrade to 1.72 polling with hg and restarting Jenkins and dosTrigger polling starts failing with the error message "CreateProcess error=87, The parameter is incorrect".

      After downgrading the plugin everything works fine again.

          [JENKINS-15475] CreateProcess error=87, The parameter is incorrect

          0.21 is a very old version for the EnvInject plugin.
          Each new version keeps backward compatibility (at least in theory, i try).

          Maybe, I missed a thing with the dostrigger plugin.

          I can try to reproduce the problem.
          Please could you attach your job configuration file (confg.xml)?

          Gregory Boissinot added a comment - 0.21 is a very old version for the EnvInject plugin. Each new version keeps backward compatibility (at least in theory, i try). Maybe, I missed a thing with the dostrigger plugin. I can try to reproduce the problem. Please could you attach your job configuration file (confg.xml)?

          Jakob Braad added a comment -

          Hi Gregory

          We know 0.21 is old, but it is working
          1.72 is giving the problem. I have tried to reproduce it on my PC (Win XP) without success.
          I can only get the error on the Windows 2008 Server Enterprise with Service Pack 2.
          Now we are running with 0.21 without problems. I can't test a lot of things as a lot of colleagues depends on the server running.

          I have tried googling the error and it indicates that classpath is more than 8191 characters. I don't know if this can help you in any way.

          Building the job below has no problems calling hg, but the polling every minute fails with the error.

          <?xml version='1.0' encoding='UTF-8'?>
          <project>
          <actions/>
          <description></description>
          <logRotator>
          <daysToKeep>-1</daysToKeep>
          <numToKeep>20</numToKeep>
          <artifactDaysToKeep>-1</artifactDaysToKeep>
          <artifactNumToKeep>-1</artifactNumToKeep>
          </logRotator>
          <keepDependencies>false</keepDependencies>
          <properties>
          <hudson.model.ParametersDefinitionProperty>
          <parameterDefinitions>
          <hudson.model.StringParameterDefinition>
          <name>Datapakke</name>
          <description>Version for datapakken. Formatet skal være i stil med "173.6" (uden gåseøjne). Hvis den tomme streng angives benyttes samme datapakke som sidst. Skrive "nyeste" (uden gåseøjne og med små bogstaver) for at bruge den nyeste datapakke i dette og efterfølgende byg.</description>
          <defaultValue></defaultValue>
          </hudson.model.StringParameterDefinition>
          </parameterDefinitions>
          </hudson.model.ParametersDefinitionProperty>
          <de.pellepelster.jenkins.walldisplay.WallDisplayJobProperty plugin="jenkinswalldisplay@0.6.13"/>
          </properties>
          <scm class="hudson.plugins.mercurial.MercurialSCM" plugin="mercurial@1.41">
          <installation>(Default)</installation>
          <source>https://hg.dsb.dk/nautila/komponenter</source>
          <modules></modules>
          <clean>false</clean>
          <browser class="hudson.plugins.mercurial.browser.HgWeb">
          <url>https://hg.dsb.dk/nautila/komponenter/</url>
          </browser>
          </scm>
          <assignedNode>master</assignedNode>
          <canRoam>false</canRoam>
          <disabled>false</disabled>
          <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
          <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
          <jdk>JDK1.5.0</jdk>
          <triggers class="vector">
          <hudson.triggers.SCMTrigger>
          <spec>* * * * *</spec>
          </hudson.triggers.SCMTrigger>
          <org.jenkinsci.plugins.dostrigger.DosTrigger plugin="dos-trigger@1.23">
          <spec>* * * * *</spec>
          <script>if exist c:\temp\use_specific_stamdata_version.txt exit
          dir \\10.35.14.34\admi\komponenter\stamdata /ad /o-d /b | findstr /n "^.*$" | findstr "^1:" >c:\temp\faelleskomponenter.latest_stamdata_dir
          for /f "tokens=2 delims=:" %%i in (c:\temp\faelleskomponenter.latest_stamdata_dir) do echo xcopy /y /d /l \\10.35.14.34\admi\komponenter\stamdata%%i\nautilastamdata.jar c:\faelleskomponenter ^| findstr "nautilastamdata.jar" >c:\temp\faelleskomponenter_is_updated.bat
          echo if %%ERRORLEVEL%% equ 0 (>>c:\temp\faelleskomponenter_is_updated.bat
          echo set cause=Datapakken er opdateret>>c:\temp\faelleskomponenter_is_updated.bat
          echo )>>c:\temp\faelleskomponenter_is_updated.bat
          call c:\temp\faelleskomponenter_is_updated.bat
          del c:\temp\faelleskomponenter.latest_stamdata_dir
          del c:\temp\faelleskomponenter_is_updated.bat</script>
          <nextBuildNum>0</nextBuildNum>
          </org.jenkinsci.plugins.dostrigger.DosTrigger>
          </triggers>
          <concurrentBuild>false</concurrentBuild>
          <builders>
          <hudson.tasks.BatchFile>
          <command>if not "%Datapakke%" == "" echo %Datapakke%>c:\temp\use_specific_stamdata_version.txt
          if "%Datapakke%" == "nyeste" del c:\temp\use_specific_stamdata_version.txt
          </command>
          </hudson.tasks.BatchFile>
          <hudson.tasks.Ant plugin="ant@1.1">
          <targets>updateWS all</targets>
          <antName>(Default)</antName>
          <buildFile>Build\ant\build.xml</buildFile>
          </hudson.tasks.Ant>
          </builders>
          <publishers>
          <hudson.tasks.ArtifactArchiver>
          <artifacts>Build/build/dist/*, Build/lib/remote-ejb.jar</artifacts>
          <latestOnly>true</latestOnly>
          </hudson.tasks.ArtifactArchiver>
          <hudson.tasks.BuildTrigger>
          <childProjects>Nautila</childProjects>
          <threshold>
          <name>SUCCESS</name>
          <ordinal>0</ordinal>
          <color>BLUE</color>
          </threshold>
          </hudson.tasks.BuildTrigger>
          <hudson.tasks.Fingerprinter>
          <targets></targets>
          <recordBuildArtifacts>true</recordBuildArtifacts>
          </hudson.tasks.Fingerprinter>
          <hudson.tasks.Mailer>
          <recipients></recipients>
          <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild>
          <sendToIndividuals>false</sendToIndividuals>
          </hudson.tasks.Mailer>
          </publishers>
          <buildWrappers/>
          </project>

          Jakob Braad added a comment - Hi Gregory We know 0.21 is old, but it is working 1.72 is giving the problem. I have tried to reproduce it on my PC (Win XP) without success. I can only get the error on the Windows 2008 Server Enterprise with Service Pack 2. Now we are running with 0.21 without problems. I can't test a lot of things as a lot of colleagues depends on the server running. I have tried googling the error and it indicates that classpath is more than 8191 characters. I don't know if this can help you in any way. Building the job below has no problems calling hg, but the polling every minute fails with the error. <?xml version='1.0' encoding='UTF-8'?> <project> <actions/> <description></description> <logRotator> <daysToKeep>-1</daysToKeep> <numToKeep>20</numToKeep> <artifactDaysToKeep>-1</artifactDaysToKeep> <artifactNumToKeep>-1</artifactNumToKeep> </logRotator> <keepDependencies>false</keepDependencies> <properties> <hudson.model.ParametersDefinitionProperty> <parameterDefinitions> <hudson.model.StringParameterDefinition> <name>Datapakke</name> <description>Version for datapakken. Formatet skal være i stil med "173.6" (uden gåseøjne). Hvis den tomme streng angives benyttes samme datapakke som sidst. Skrive "nyeste" (uden gåseøjne og med små bogstaver) for at bruge den nyeste datapakke i dette og efterfølgende byg.</description> <defaultValue></defaultValue> </hudson.model.StringParameterDefinition> </parameterDefinitions> </hudson.model.ParametersDefinitionProperty> <de.pellepelster.jenkins.walldisplay.WallDisplayJobProperty plugin="jenkinswalldisplay@0.6.13"/> </properties> <scm class="hudson.plugins.mercurial.MercurialSCM" plugin="mercurial@1.41"> <installation>(Default)</installation> <source> https://hg.dsb.dk/nautila/komponenter </source> <modules></modules> <clean>false</clean> <browser class="hudson.plugins.mercurial.browser.HgWeb"> <url> https://hg.dsb.dk/nautila/komponenter/ </url> </browser> </scm> <assignedNode>master</assignedNode> <canRoam>false</canRoam> <disabled>false</disabled> <blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding> <blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding> <jdk>JDK1.5.0</jdk> <triggers class="vector"> <hudson.triggers.SCMTrigger> <spec>* * * * *</spec> </hudson.triggers.SCMTrigger> <org.jenkinsci.plugins.dostrigger.DosTrigger plugin="dos-trigger@1.23"> <spec>* * * * *</spec> <script>if exist c:\temp\use_specific_stamdata_version.txt exit dir \\10.35.14.34\admi\komponenter\stamdata /ad /o-d /b | findstr /n "^.*$" | findstr "^1:" >c:\temp\faelleskomponenter.latest_stamdata_dir for /f "tokens=2 delims=:" %%i in (c:\temp\faelleskomponenter.latest_stamdata_dir) do echo xcopy /y /d /l \\10.35.14.34\admi\komponenter\stamdata%%i\nautilastamdata.jar c:\faelleskomponenter ^| findstr "nautilastamdata.jar" >c:\temp\faelleskomponenter_is_updated.bat echo if %%ERRORLEVEL%% equ 0 (>>c:\temp\faelleskomponenter_is_updated.bat echo set cause=Datapakken er opdateret>>c:\temp\faelleskomponenter_is_updated.bat echo )>>c:\temp\faelleskomponenter_is_updated.bat call c:\temp\faelleskomponenter_is_updated.bat del c:\temp\faelleskomponenter.latest_stamdata_dir del c:\temp\faelleskomponenter_is_updated.bat</script> <nextBuildNum>0</nextBuildNum> </org.jenkinsci.plugins.dostrigger.DosTrigger> </triggers> <concurrentBuild>false</concurrentBuild> <builders> <hudson.tasks.BatchFile> <command>if not "%Datapakke%" == "" echo %Datapakke%>c:\temp\use_specific_stamdata_version.txt if "%Datapakke%" == "nyeste" del c:\temp\use_specific_stamdata_version.txt </command> </hudson.tasks.BatchFile> <hudson.tasks.Ant plugin="ant@1.1"> <targets>updateWS all</targets> <antName>(Default)</antName> <buildFile>Build\ant\build.xml</buildFile> </hudson.tasks.Ant> </builders> <publishers> <hudson.tasks.ArtifactArchiver> <artifacts>Build/build/dist/*, Build/lib/remote-ejb.jar</artifacts> <latestOnly>true</latestOnly> </hudson.tasks.ArtifactArchiver> <hudson.tasks.BuildTrigger> <childProjects>Nautila</childProjects> <threshold> <name>SUCCESS</name> <ordinal>0</ordinal> <color>BLUE</color> </threshold> </hudson.tasks.BuildTrigger> <hudson.tasks.Fingerprinter> <targets></targets> <recordBuildArtifacts>true</recordBuildArtifacts> </hudson.tasks.Fingerprinter> <hudson.tasks.Mailer> <recipients></recipients> <dontNotifyEveryUnstableBuild>false</dontNotifyEveryUnstableBuild> <sendToIndividuals>false</sendToIndividuals> </hudson.tasks.Mailer> </publishers> <buildWrappers/> </project>

          Alex Okrushko added a comment -

          I have the same problem, however this happens only on master and only when I use in combination with Node and Label parameter plugin (e.g. set the node as "master"):

          Started by upstream project "run_everywhere" build number 21
          originally caused by:
          Started by user alexo
          [EnvInject] - Loading node environment variables.
          Building on master in workspace C:\Users\alexo\jenkins\jobs\run_cmd\workspace\default
          Updating https://server.com/trunk/ to revision '2012-10-24T11:59:51.563 -0400'
          At revision 60
          [default] $ cmd /c call C:\Windows\TEMP\hudson8635809542653204475.bat
          The parameter is incorrect
          FATAL: command execution failed
          java.io.IOException: Cannot run program "cmd" (in directory "C:\Users\alexo\jenkins\jobs\run_cmd\workspace\default"): CreateProcess error=87, The parameter is incorrect
          at java.lang.ProcessBuilder.start(Unknown Source)
          at hudson.Proc$LocalProc.<init>(Proc.java:244)
          at hudson.Proc$LocalProc.<init>(Proc.java:216)
          at hudson.Launcher$LocalLauncher.launch(Launcher.java:716)
          at hudson.Launcher$ProcStarter.start(Launcher.java:345)
          at hudson.Launcher$ProcStarter.join(Launcher.java:352)
          at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:82)
          at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:58)
          at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19)
          at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717)
          at hudson.model.Build$BuildExecution.build(Build.java:199)
          at hudson.model.Build$BuildExecution.doRun(Build.java:160)
          at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499)
          at hudson.model.Run.execute(Run.java:1502)
          at hudson.matrix.MatrixRun.run(MatrixRun.java:146)
          at hudson.model.ResourceController.execute(ResourceController.java:88)
          at hudson.model.Executor.run(Executor.java:236)
          Caused by: java.io.IOException: CreateProcess error=87, The parameter is incorrect
          at java.lang.ProcessImpl.create(Native Method)
          at java.lang.ProcessImpl.<init>(Unknown Source)
          at java.lang.ProcessImpl.start(Unknown Source)
          ... 17 more
          Build step 'Execute Windows batch command' marked build as failure
          Finished: FAILURE

          Alex Okrushko added a comment - I have the same problem, however this happens only on master and only when I use in combination with Node and Label parameter plugin (e.g. set the node as "master"): Started by upstream project "run_everywhere" build number 21 originally caused by: Started by user alexo [EnvInject] - Loading node environment variables. Building on master in workspace C:\Users\alexo\jenkins\jobs\run_cmd\workspace\default Updating https://server.com/trunk/ to revision '2012-10-24T11:59:51.563 -0400' At revision 60 [default] $ cmd /c call C:\Windows\TEMP\hudson8635809542653204475.bat The parameter is incorrect FATAL: command execution failed java.io.IOException: Cannot run program "cmd" (in directory "C:\Users\alexo\jenkins\jobs\run_cmd\workspace\default"): CreateProcess error=87, The parameter is incorrect at java.lang.ProcessBuilder.start(Unknown Source) at hudson.Proc$LocalProc.<init>(Proc.java:244) at hudson.Proc$LocalProc.<init>(Proc.java:216) at hudson.Launcher$LocalLauncher.launch(Launcher.java:716) at hudson.Launcher$ProcStarter.start(Launcher.java:345) at hudson.Launcher$ProcStarter.join(Launcher.java:352) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:82) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:58) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:717) at hudson.model.Build$BuildExecution.build(Build.java:199) at hudson.model.Build$BuildExecution.doRun(Build.java:160) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:499) at hudson.model.Run.execute(Run.java:1502) at hudson.matrix.MatrixRun.run(MatrixRun.java:146) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) Caused by: java.io.IOException: CreateProcess error=87, The parameter is incorrect at java.lang.ProcessImpl.create(Native Method) at java.lang.ProcessImpl.<init>(Unknown Source) at java.lang.ProcessImpl.start(Unknown Source) ... 17 more Build step 'Execute Windows batch command' marked build as failure Finished: FAILURE

          I'm afraid I'm closing the issue because I can't reproduce it.
          Please try to isolate the problem from the other plugins and raise a new issue.

          Gregory Boissinot added a comment - I'm afraid I'm closing the issue because I can't reproduce it. Please try to isolate the problem from the other plugins and raise a new issue.

          Jan Seidel added a comment -

          I was able to reproduce exactly this error.
          New newly created and almost empty job kept failing. So I started analyzing the cause.
          It is a parametrized build job like Jakob's but I can't see a related configuration issue in his config.xml.

          In my case was a parameter with a value.
          The message is not very clear about it, but maybe it helps you to track down the cause if you should run into a similar message.

          Jan Seidel added a comment - I was able to reproduce exactly this error. New newly created and almost empty job kept failing. So I started analyzing the cause. It is a parametrized build job like Jakob's but I can't see a related configuration issue in his config.xml. In my case was a parameter with a value. The message is not very clear about it, but maybe it helps you to track down the cause if you should run into a similar message.

          Oleg Nenashev added a comment -

          Linked the issue with JENKINS-22183, where the same issue appears in jobs, where custom-tools and envinject work together.

          I'm not sure the issues are duplicates but I hope it will provide some additional info for analysis

          Oleg Nenashev added a comment - Linked the issue with JENKINS-22183 , where the same issue appears in jobs, where custom-tools and envinject work together. I'm not sure the issues are duplicates but I hope it will provide some additional info for analysis

          I was able to reproduce Alex Okrushko's problem with my Jenkins (vers. 1.590) and the Node and Label parameter plugin version 1.5.1. My test job has nothing to do except of executing the following Windows batch command: echo %JOB_NAME%. I have installed a Jenkins master and slave node (both running as Windows services, the master with an local administration account, the slave with an domain user account) on the same machine. The problem occurs independently of the chosen node.

          Florian Reiser added a comment - I was able to reproduce Alex Okrushko's problem with my Jenkins (vers. 1.590) and the Node and Label parameter plugin version 1.5.1. My test job has nothing to do except of executing the following Windows batch command: echo %JOB_NAME%. I have installed a Jenkins master and slave node (both running as Windows services, the master with an local administration account, the slave with an domain user account) on the same machine. The problem occurs independently of the chosen node.

            gbois Gregory Boissinot
            jbraad Jakob Braad
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: