Skip to content

[JENKINS-2587] crash in temporary path creation due to using / instead of \ to seperate final part of path #339

Closed

Description

@jenkins-infra-bot

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

  1. jenkins-infra-bot commented on Nov 5, 2008

    @jenkins-infra-bot
    Author
    scm_issue_link:
    • Comment link
    • Original comment link (no redirect)
    • 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.

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions