jenkinsci / jenkinsci/subversion-plugin

[JENKINS-12322] IO Exception on delete on Windows 2008 after previous job was cancelled.

Open
#891 1 comment 0 reactions 0 assignees View on GitHub
component:subversion-plugin imported-jira-issue priority:minor resolution:unresolved
Dominant language
Java
Stars
131
Forks
275
Avg merge
12h 4m
Merged PRs (30d)
6

Description

With a long running windows/msbuild job running on master, another change is submitted, and the next job is queued up. If the current running job is cancelled, Jenkins immediately switches to running the next job. The job is configured to delete changed files and check out new. It looks like the previous job still has files open when jenkins starts to delete, which results in an IOException (Below)

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\MyProjectItemServiceInstaller.sln.cache

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\PSWixLib\bin

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\PSWixLib\obj

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CommonLibWixLib\bin

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CommonLibWixLib\obj

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceInstaller\bin

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceInstaller\obj

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceWixLib\bin

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceWixLib\obj

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\NetSetup\NetSetup.sln.cache

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\NetSetup\Release

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\genericproject.sln.cache

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\hlp

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj

ERROR: Failed to update https://svn.example.com/svn/my_service/trunk

org.tmatesoft.svn.core.SVNException: svn: Unable to delete F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj\Release\BuildLog.htm

at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:78)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.sendUnversionedStatus(SVNStatusEditor.java:358)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:208)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)

at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:380)

at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:83)

at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)

at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)

at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:787)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:768)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:752)

at hudson.FilePath.act(FilePath.java:783)

at hudson.FilePath.act(FilePath.java:765)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:686)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)

at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)

at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)

at hudson.model.Run.run(Run.java:1404)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:47)

at hudson.model.ResourceController.execute(ResourceController.java:88)

at hudson.model.Executor.run(Executor.java:238)

Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: Unable to delete F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj\Release\BuildLog.htm

at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:101)

at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:78)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.sendUnversionedStatus(SVNStatusEditor.java:358)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:208)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)

at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:380)

at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:66)

at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)

at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)

at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:787)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:768)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:752)

at hudson.FilePath.act(FilePath.java:783)

at hudson.FilePath.act(FilePath.java:765)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:684)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)

at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)

at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)

at hudson.model.Run.run(Run.java:1404)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)

... 2 more

Caused by: java.io.IOException: Unable to delete F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj\Release\BuildLog.htm

at hudson.Util.deleteFile(Util.java:266)

at hudson.Util.deleteRecursive(Util.java:316)

at hudson.Util.deleteContentsRecursive(Util.java:227)

at hudson.Util.deleteRecursive(Util.java:307)

at hudson.Util.deleteContentsRecursive(Util.java:227)

at hudson.Util.deleteRecursive(Util.java:307)

at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:74)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:208)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)

at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)

at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:380)

at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:83)

at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)

at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)

at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:787)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:768)

at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:752)

at hudson.FilePath.act(FilePath.java:783)

at hudson.FilePath.act(FilePath.java:765)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:686)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)

at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)

at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)

at hudson.model.Run.run(Run.java:1404)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:47)

... 2 more

FATAL: null

java.lang.NullPointerException

at java.util.ArrayList.addAll(ArrayList.java:472)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)

at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:684)

at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)

at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)

at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)

at hudson.model.Run.run(Run.java:1404)

at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)

at hudson.model.ResourceController.execute(ResourceController.java:88)

at hudson.model.Executor.run(Executor.java:238)

---
Originally reported by b2jrock, imported from: IO Exception on delete on Windows 2008 after previous job was cancelled.


  • status: Open
  • priority: Minor
  • component(s): subversion-plugin
  • label(s): windows
  • resolution: Unresolved
  • votes: 0
  • watchers: 1
  • imported: 20251212-090250

Raw content of original issue

With a long running windows/msbuild job running on master, another change is submitted, and the next job is queued up. If the current running job is cancelled, Jenkins immediately switches to running the next job. The job is configured to delete changed files and check out new. It looks like the previous job still has files open when jenkins starts to delete, which results in an IOException (Below)

Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\MyProjectItemServiceInstaller.sln.cache
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\PSWixLib\bin
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\PSWixLib\obj
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CommonLibWixLib\bin
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CommonLibWixLib\obj
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceInstaller\bin
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceInstaller\obj
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceWixLib\bin
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\MyProjectItemServiceInstaller\CRServiceWixLib\obj
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\NetSetup\NetSetup.sln.cache
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\NetSetup\Release
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\genericproject.sln.cache
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\hlp
Deleting F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj
ERROR: Failed to update https://svn.example.com/svn/my_service/trunk
org.tmatesoft.svn.core.SVNException: svn: Unable to delete F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj\Release\BuildLog.htm
at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:78)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.sendUnversionedStatus(SVNStatusEditor.java:358)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:208)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)
at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:380)
at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:83)
at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:787)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:768)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:752)
at hudson.FilePath.act(FilePath.java:783)
at hudson.FilePath.act(FilePath.java:765)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:686)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)
at hudson.model.Run.run(Run.java:1404)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:47)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)
Caused by: org.tmatesoft.svn.core.SVNErrorMessage: svn: Unable to delete F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj\Release\BuildLog.htm
at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:101)
at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:78)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.sendUnversionedStatus(SVNStatusEditor.java:358)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:208)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.handleDirEntry(SVNStatusEditor.java:318)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)
at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:380)
at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:66)
at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:787)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:768)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:752)
at hudson.FilePath.act(FilePath.java:783)
at hudson.FilePath.act(FilePath.java:765)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:684)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)
at hudson.model.Run.run(Run.java:1404)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
... 2 more
Caused by: java.io.IOException: Unable to delete F:\jenkins\jobs\MyProject\workspace\my_service\genericproject\Source\obj\Release\BuildLog.htm
at hudson.Util.deleteFile(Util.java:266)
at hudson.Util.deleteRecursive(Util.java:316)
at hudson.Util.deleteContentsRecursive(Util.java:227)
at hudson.Util.deleteRecursive(Util.java:307)
at hudson.Util.deleteContentsRecursive(Util.java:227)
at hudson.Util.deleteRecursive(Util.java:307)
at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl$1.handleStatus(UpdateWithCleanUpdater.java:74)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:208)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.getDirStatus(SVNStatusEditor.java:253)
at org.tmatesoft.svn.core.internal.wc.SVNStatusEditor.closeEdit(SVNStatusEditor.java:114)
at org.tmatesoft.svn.core.wc.SVNStatusClient.doStatus(SVNStatusClient.java:380)
at hudson.scm.subversion.UpdateWithCleanUpdater$TaskImpl.preUpdate(UpdateWithCleanUpdater.java:83)
at hudson.scm.subversion.UpdateUpdater$TaskImpl.perform(UpdateUpdater.java:133)
at hudson.scm.subversion.WorkspaceUpdater$UpdateTask.delegateTo(WorkspaceUpdater.java:136)
at hudson.scm.SubversionSCM$CheckOutTask.perform(SubversionSCM.java:787)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:768)
at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:752)
at hudson.FilePath.act(FilePath.java:783)
at hudson.FilePath.act(FilePath.java:765)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:686)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)
at hudson.model.Run.run(Run.java:1404)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:47)
... 2 more
FATAL: null
java.lang.NullPointerException
at java.util.ArrayList.addAll(ArrayList.java:472)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:742)
at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:684)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1195)
at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:568)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:457)
at hudson.model.Run.run(Run.java:1404)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:238)

  • environment: Windows 2008, Jenkins 1.444

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.