Build failure
Every second build we run fails after 2-4 seconds with the following error:
2009-03-11 15:43:20
2009-03-11 15:43:20 Substituted the following configuration element property variables:
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" ${majorVersion} ${minorVersion} ${bugFix} ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 ${minorVersion} ${bugFix} ${buildLabel} ${buildTarget}
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 ${minorVersion} ${bugFix} ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 ${bugFix} ${buildLabel} ${buildTarget}
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 ${bugFix} ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} ${buildTarget}
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} Build-Test
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} Build-Test --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 20090311-1543 Build-Test
2009-03-11 15:43:20
2009-03-11 15:43:20 Should build occur?
Checking for changes incoming to workspace "CR002 - Disclosure Scotland Build Workspace" ... found changes (2)
2009-03-11 15:43:20 Yes: Pre-build participant "com.ibm.team.build.jazzscm" would like to build.
2009-03-11 15:43:21 Invoking pre-build participant "com.ibm.team.build.jazzscm"
Accepting changes into workspace "CR002 - Disclosure Scotland Build Workspace" ...
Deleting fetch destination "C:\cr002-build_workspace" before fetching ...
com.ibm.team.build.common.TeamBuildException: CRRTC3505E: Unable to delete fetch destination "C:\cr002-build_workspace".
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:138)
at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:574)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:430)
at java.lang.Thread.run(Unknown Source)
As information, we've checked and we dont have another process active in the directory that the build is trying to delete. We're using the Jazz command line build utility to poke an msbuild script but this problem has not always been present. We arent sure what has changed to make this failure occur.
2009-03-11 15:43:20
2009-03-11 15:43:20 Substituted the following configuration element property variables:
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" ${majorVersion} ${minorVersion} ${bugFix} ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 ${minorVersion} ${bugFix} ${buildLabel} ${buildTarget}
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 ${minorVersion} ${bugFix} ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 ${bugFix} ${buildLabel} ${buildTarget}
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 ${bugFix} ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} ${buildTarget}
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} ${buildTarget} --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} Build-Test
2009-03-11 15:43:20 com.ibm.team.build.cmdline : com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 ${buildLabel} Build-Test --> com.ibm.team.build.cmdline.arguments = "C:\cr002-build_workspace\CrownOfficeNetClerk\CrownOfficeNetClerk.proj" 1 0 0 20090311-1543 Build-Test
2009-03-11 15:43:20
2009-03-11 15:43:20 Should build occur?
Checking for changes incoming to workspace "CR002 - Disclosure Scotland Build Workspace" ... found changes (2)
2009-03-11 15:43:20 Yes: Pre-build participant "com.ibm.team.build.jazzscm" would like to build.
2009-03-11 15:43:21 Invoking pre-build participant "com.ibm.team.build.jazzscm"
Accepting changes into workspace "CR002 - Disclosure Scotland Build Workspace" ...
Deleting fetch destination "C:\cr002-build_workspace" before fetching ...
com.ibm.team.build.common.TeamBuildException: CRRTC3505E: Unable to delete fetch destination "C:\cr002-build_workspace".
at com.ibm.team.build.internal.engine.JazzScmPreBuildParticipant.preBuild(JazzScmPreBuildParticipant.java:138)
at com.ibm.team.build.internal.engine.BuildLoop.invokePreBuildParticipants(BuildLoop.java:574)
at com.ibm.team.build.internal.engine.BuildLoop$2.run(BuildLoop.java:430)
at java.lang.Thread.run(Unknown Source)
As information, we've checked and we dont have another process active in the directory that the build is trying to delete. We're using the Jazz command line build utility to poke an msbuild script but this problem has not always been present. We arent sure what has changed to make this failure occur.
5 answers
I just encountered this problem and found your forum post.
I logged on to our build server to see what content was left and noticed a pattern. Only a few directories were left, most everything in the fetch destination had been deleted. The things that were left were fragments of the directory structure where the leaf nodes contained a directory with a leading dot. In our case, a directory named ".libs". The ".libs" directory had content in it, and I can only suspect that an attempt to rmdir the parent directory from would fail because the parent directory still has a member named ".libs".
So I suspect that the "clean fetch destination" has a shortcoming in that it isn't removing directories that begin with a leading dot, other than "." and "..". Until someone provides a fix for this, I think I will modify my ant build script to erase all these directories after publishing the build artifacts.
Any product people, I would propose this is behavior a bug.
I logged on to our build server to see what content was left and noticed a pattern. Only a few directories were left, most everything in the fetch destination had been deleted. The things that were left were fragments of the directory structure where the leaf nodes contained a directory with a leading dot. In our case, a directory named ".libs". The ".libs" directory had content in it, and I can only suspect that an attempt to rmdir the parent directory from would fail because the parent directory still has a member named ".libs".
So I suspect that the "clean fetch destination" has a shortcoming in that it isn't removing directories that begin with a leading dot, other than "." and "..". Until someone provides a fix for this, I think I will modify my ant build script to erase all these directories after publishing the build artifacts.
Any product people, I would propose this is behavior a bug.
So I suspect that the "clean fetch destination" has a shortcoming in that it isn't removing directories that begin with a leading dot, other than "." and "..". Until someone provides a fix for this, I think I will modify my ant build script to erase all these directories after publishing the build artifacts
Unfortunately I have yet to see this behavior in my testing, nor do I know why this is happening. I can confirm however that in RTC 3.0, when checking the "Delete directory before loading" checkbox in the "Jazz Source Control" tab, this does delete all files/folders in the load directory (even if they have a "." in front)
Is there any chance that you are using symbolic links for any of your fetched files? I think there might be issues trying to delete symbolic links.