[Webkit-unassigned] [Bug 232000] Apple-Win-10-Release-Build failing due to vc142.pdb write lock

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Oct 19 21:57:40 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=232000

--- Comment #2 from Jed Spraul <jspraul at yahoo.com> ---
Apple-Win-10-Release-Build has failed for 8+ days with an error similar to the following (seeming on random .cpp files, this from the first failed build of ~350 so far - build 6109):

fatal error C1041: cannot open program database 'C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Tools\TestWebKitAPI\TestWebCoreLib.dir\Release\vc142.pdb'; if multiple CL.EXE write to the same .PDB file, please use /FS [C:\cygwin\worker\win10-release\build\WebKitBuild\Release\Tools\TestWebKitAPI\TestWebCoreLib.vcxproj]

The output doesn't appear to be categorized by the buildbot as an error.

As far as a patch, I added the /FS option to the same line turning on the PDB generation. Even the documentation states this might not solve the problem, but it could be the simplest fix. In any case, it may be hard to recreate what's happening on buildbot on a developer's machine.

I only spot-checked a handful of the failed builds, but it seemed like this was primarily an issue in the TestWebCoreLib project, so a fix may only be necessary for that one project rather than across all projects. In addition, the Apple-Win-10-Debug-Build build hasn't been affected, so a Release-only tweak may be enough.

It wasn't clear why the error began occurring either, perhaps some configuration change on the buildbot.

Research:

 https://stackoverflow.com/questions/20643370/visual-studio-2013-fatal-error-c1041-fs

  - the proper solution is per-project intermediate file output directories
  - file locks may be caused by other software, such as antivirus/backup
  - fix had to be applied to all projects for several
  - 1 claim that /FS must also be passed to the linker, doesn't make sense
  - could disable parallel build (slow) or enable in-obj symbols (large)
  - the MSPDBSRV.EXE sync process used by /FS can get wedged
  - some file(s) may become corrupted (especially PDB?), requiring deleting build files, not an issue on a clean build

 https://docs.microsoft.com/en-us/cpp/build/reference/fs-force-synchronous-pdb-writes

  - /FS syncs PDB writes through MSPDBSRV.EXE, longer builds + doesn't prevent all errors
  - recommend separate intermediate and output locations for all projects
  - /MP (not-Ninja per OptionsMSVC.cmake) enables /FS

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20211020/57713420/attachment-0001.htm>


More information about the webkit-unassigned mailing list