[ https://issues.jenkins-ci.org/browse/JENKINS-9104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=161412#comment-161412 ]
Daniel Weber commented on JENKINS-9104: --------------------------------------- How about adding a configurable list of process names which shall not be killed by the "process tree killer"? The workaround described above leaves mspdbsrv.exe running, but also any other "dangling" processes a build might have left behind. I'd still like to use the process tree killer in general, it should just not kill mspdbsrv.exe. > Visual studio builds started by Jenkins fail with "Fatal error C1090" because > mspdbsrv.exe gets killed > ------------------------------------------------------------------------------------------------------ > > Key: JENKINS-9104 > URL: https://issues.jenkins-ci.org/browse/JENKINS-9104 > Project: Jenkins > Issue Type: Bug > Components: core > Affects Versions: current > Environment: Windows XP, using MSBuild or devenv.exe to build MS > Visual Studio Projects > Reporter: Christoph VogtlÃĪnder > Priority: Minor > > I run into errors when using a customized build system which uses Visual > Studio's devenv.exe under the hood to compile VisualStudio 2005 projects > (with VC++ compiler). When starting two parallel builds with Jenkins (on > different code base) the second job will always fail with "Fatal error C1090: > PDB API call failed, error code '23' : '(" in exactly the same second the > first job finishes processing. Running both jobs outside Jenkins does not > produce the error. > This has also been reported for builds executed by MSBuild on the Jenkins > user mailing list [1]. > I analysed this issue thoroughly and can track the problem down to the usage > of mspdbsrv.exe. This program is automatically spawned when building a > VisualStudio project. All Visual Studio instances normally share one common > pdb-server which shutdown itself after a idle period (standard is 10 > minutes). "It ensures access to .pdb files is properly serialized in parallel > builds when multiple instances of the compiler try to access the same .pdb > file" [2]. > I assume that Jenkins does a clean up of its build environment when a > automatically started job finishes (like as described at > http://wiki.jenkins-ci.org/display/JENKINS/Aborting+a+build). I checked > mspbsrv.exe with ProcessExplorer and the process indeed has a variable > JENKINS_COOKIE/HUDSON_COOKIE set in its environment if started through > Jenkins. Killing mspdbsrv.exe while projects are still connected will break > compilation. > Jenkins mustn't kill mspdbsrv.exe to be able to build more than one Visual > Studio project at the same time. > -- > [1] > http://jenkins.361315.n4.nabble.com/MSBuild-fatal-errors-when-build-triggered-by-timer-td385181.html > [2] > http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/b1d1bceb-06b6-47ef-a0ea-23ea752e0c4f/ -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira