https://gitlab.synchro.net/main/sbbs/-/commit/2660833170ac70b2a76c0b42
Added Files:
src/sbbs3/Directory.Build.targets
Log Message:
sbbs3: disable PDB generation for Release|Win32 builds
Adds src/sbbs3/Directory.Build.targets, auto-imported by MSBuild after
every sbbs3 .vcxproj's body, which overrides DebugInformationFormat to
None in ClCompile and GenerateDebugInformation to false in Link for the Release|Win32 configuration across all 33 projects (including scfg/scfg.vcxproj).
The motivation is sporadic, non-deterministic "internal compiler error" failures observed on the Windows GitLab runner -- random source file
and line each run, persisting after AV exemption and single-instance
runner limiting. The root cause is mspdbsrv.exe (the shared PDB writer
spawned by cl.exe under /Zi) wedging or thrashing across the seven
sequential builds the windows-x86 [sbbs] job performs in one shot;
mspdbsrv outlives a single cl invocation and a single MSBuild process,
so per-runner throttling does not help. Eliminating the compiler /Zi
and linker /DEBUG settings removes mspdbsrv from the Release pipeline
entirely.
Verified by building ans2asc.vcxproj Release: produces a working .exe
(~42% smaller, no debug sections), no .pdb in either the output dir or
the intermediate dir, and MSBuild evaluates _DebugSymbolsProduced as
false. Debug builds are unaffected.
The CI artifact list in .gitlab-ci.yml never shipped .pdb files anyway.
Co-Authored-By: Claude Opus 4.7 (1M context) <
noreply@anthropic.com>
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)