Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-9104

Visual studio builds started by Jenkins fail with "Fatal error C1090" because mspdbsrv.exe gets killed

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: core
    • Labels:
      None
    • Environment:
      Windows XP, Windows 7 using MSBuild or devenv.exe to build MS Visual Studio Projects
    • Similar Issues:

      Description

      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/

        Attachments

          Issue Links

            Activity

            gordin Christoph Vogtländer created issue -
            gordin Christoph Vogtländer made changes -
            Field Original Value New Value
            Priority Critical [ 2 ] Minor [ 4 ]
            stormwind Jason Spangler made changes -
            Link This issue is related to JENKINS-3105 [ JENKINS-3105 ]
            danielbeck Daniel Beck made changes -
            Link This issue is related to JENKINS-19156 [ JENKINS-19156 ]
            danielbeck Daniel Beck made changes -
            Link This issue is duplicated by JENKINS-24753 [ JENKINS-24753 ]
            danielweber Daniel Weber made changes -
            Assignee Daniel Weber [ danielweber ]
            alexey_larsky Alexey Larsky made changes -
            Priority Minor [ 4 ] Major [ 3 ]
            alexey_larsky Alexey Larsky made changes -
            Environment Windows XP, using MSBuild or devenv.exe to build MS Visual Studio Projects Windows XP, Windows 7 using MSBuild or devenv.exe to build MS Visual Studio Projects
            leedega Kevin Phillips made changes -
            Labels lts-candidate
            danielbeck Daniel Beck made changes -
            Labels lts-candidate
            scm_issue_link SCM/JIRA link daemon made changes -
            Status Open [ 1 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]
            danielweber Daniel Weber made changes -
            Resolution Fixed [ 1 ]
            Status Resolved [ 5 ] Reopened [ 4 ]
            olexandr_maltsev Olexandr Maltsev made changes -
            Attachment screenshot.JPG [ 32385 ]
            rtyler R. Tyler Croy made changes -
            Workflow JNJira [ 139260 ] JNJira + In-Review [ 185994 ]
            billhoo Bill Hoo made changes -
            Attachment envinject-config.png [ 38970 ]
            danielbeck Daniel Beck made changes -
            Status Reopened [ 4 ] Resolved [ 5 ]
            Resolution Fixed [ 1 ]

              People

              • Assignee:
                danielweber Daniel Weber
                Reporter:
                gordin Christoph Vogtländer
              • Votes:
                71 Vote for this issue
                Watchers:
                93 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: