Repository navigation
[JENKINS-2587] crash in temporary path creation due to using / instead of \ to seperate final part of path #339
Description
Building matrix projects on windows targets with execute shell fails. It appears
that the temporary file path inserts a / in the final directory name:
c:\hudson\workspace\testw32\label/win2k3
This also seems to fail in the same place with a windows batch file.
stack trace below:
Thanks
--Greg Roth
Cornell University
started
Building remotely on win2k3bs
FATAL: Unable to produce a script file
hudson.util.IOException2: Failed to create a temp file on
c:\hudson\workspace\testw32\label/win2k3
at hudson.FilePath.createTextTempFile(FilePath.java:573)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:43)
at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:34)
at hudson.model.Build$RunnerImpl.build(Build.java:138)
at hudson.model.Build$RunnerImpl.doRun(Build.java:113)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:241)
at hudson.model.Run.run(Run.java:817)
at hudson.model.Build.run(Build.java:88)
at hudson.model.ResourceController.execute(ResourceController.java:70)
at hudson.model.Executor.run(Executor.java:88)
Caused by: hudson.util.IOException2: remote file operation failed
at hudson.FilePath.act(FilePath.java:384)
at hudson.FilePath.createTextTempFile(FilePath.java:551)
... 9 more
Caused by: hudson.util.IOException2: Failed to create a temporary directory in null
at hudson.FilePath$9.invoke(FilePath.java:562)
at hudson.FilePath$9.invoke(FilePath.java:551)
at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1201)
at hudson.remoting.UserRequest.perform(UserRequest.java:69)
at hudson.remoting.UserRequest.perform(UserRequest.java:23)
at hudson.remoting.Request$2.run(Request.java:200)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: Access is denied
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.checkAndCreate(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at hudson.FilePath$9.invoke(FilePath.java:560)
... 11 more
finished: FAILURE
Originally reported by gbr4, imported from: crash in temporary path creation due to using / instead of \ to seperate final part of path
- status: Closed
- priority: Major
- component(s): matrix-project-plugin
- resolution: Fixed
- resolved: 2008-11-05T15:47:48+00:00
- votes: 0
- watchers: 0
- imported: 2025-12-06
Raw content of original issue
Building matrix projects on windows targets with execute shell fails. It appears that the temporary file path inserts a / in the final directory name:
c:\hudson\workspace\testw32\label/win2k3
This also seems to fail in the same place with a windows batch file.
stack trace below:
Thanks --Greg Roth Cornell University
started Building remotely on win2k3bs FATAL: Unable to produce a script file hudson.util.IOException2: Failed to create a temp file on c:\hudson\workspace\testw32\label/win2k3 at hudson.FilePath.createTextTempFile(FilePath.java:573) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:43) at hudson.tasks.CommandInterpreter.perform(CommandInterpreter.java:34) at hudson.model.Build$RunnerImpl.build(Build.java:138) at hudson.model.Build$RunnerImpl.doRun(Build.java:113) at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:241) at hudson.model.Run.run(Run.java:817) at hudson.model.Build.run(Build.java:88) at hudson.model.ResourceController.execute(ResourceController.java:70) at hudson.model.Executor.run(Executor.java:88) Caused by: hudson.util.IOException2: remote file operation failed at hudson.FilePath.act(FilePath.java:384) at hudson.FilePath.createTextTempFile(FilePath.java:551) ... 9 more Caused by: hudson.util.IOException2: Failed to create a temporary directory in null at hudson.FilePath$9.invoke(FilePath.java:562) at hudson.FilePath$9.invoke(FilePath.java:551) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1201) at hudson.remoting.UserRequest.perform(UserRequest.java:69) at hudson.remoting.UserRequest.perform(UserRequest.java:23) at hudson.remoting.Request$2.run(Request.java:200) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.io.IOException: Access is denied at java.io.WinNTFileSystem.createFileExclusively(Native Method) at java.io.File.checkAndCreate(Unknown Source) at java.io.File.createTempFile(Unknown Source) at hudson.FilePath$9.invoke(FilePath.java:560) ... 11 more finished: FAILURE
- environment:
Platform: All, OS: All
Activity
jenkins-infra-bot commentedon Nov 5, 2008
Raw content of original comment:
Code changed in hudson
User: : kohsuke
Path:
trunk/hudson/main/core/src/main/java/hudson/FilePath.java
trunk/www/changelog.html
http://fisheye4.cenqua.com/changelog/hudson/?cs=13013
Log:
[FIXED JENKINS-2587]
Notice that the error message indicates a permission problem. The error message isn't as descriptive as it could be, but the directory that Java uses as the temporary directory doesn't seem to let the current user create files.