Missing source server information in Windows PDBs (build jobs aren't finding pdbstr anymore, not creating srcsrv streams)
Categories
(Firefox Build System :: Toolchains, defect)
Tracking
(thunderbird_esr115 unaffected, firefox-esr115 unaffected, firefox123 unaffected, firefox124 unaffected, firefox125+ fixed)
Tracking | Status | |
---|---|---|
thunderbird_esr115 | --- | unaffected |
firefox-esr115 | --- | unaffected |
firefox123 | --- | unaffected |
firefox124 | --- | unaffected |
firefox125 | + | fixed |
People
(Reporter: mstange, Assigned: glandium)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
After bug 1881381, Firefox Windows builds which were built in CI (and for which PDB symbols are on the symbol server) don't show source code in Visual Studio when you debug them. This is because the PDB files no longer contain a srcsrv
mapping. This mapping only gets created when pdbstr
is available, and build jobs after bug 1881381 contain this line:
INFO - checking for pdbstr... not found
(Local developer Windows builds still show source code during debugging as usual.)
[Tracking Requested - why for this release]: Crash debugging for Windows crashes will be much harder until this is fixed
Updated•1 year ago
|
Assignee | ||
Comment 1•1 year ago
|
||
Great... the MSVC 17 manifest (https://download.visualstudio.microsoft.com/download/pr/5e7b923b-7d89-4e14-95b8-a84ab168e243/54410195e0c3d9b79f184002f38e607e8e1796ecebcc7279aa83908125306e0b/VisualStudio.vsman) doesn't contain "SDK Debuggers-x86_en-us.msi". The MSVC 16 manifest (https://download.visualstudio.microsoft.com/download/pr/30682086-8872-4c7d-b066-0446b278141b/8cb36e15b53435a8ca6681b28b4fb59be264f9adf45356ba76bd050615c1f327/VisualStudio.vsman) does.
Assignee | ||
Comment 2•1 year ago
|
||
MSVC 17 Preview manifest (https://download.visualstudio.microsoft.com/download/pr/04b720b4-1116-49de-8ee1-0162ed8e3f57/2551360f5c13946f09740dc5a712bcf693240a07ce3e8e2dca2cb2be712e0585/VisualStudioPreview.vsman) doesn't have it either. But the file is in the Windows SDK iso at https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/, and the Windows SDK installer from that page installs it, but the real VS Installer doesn't.
Reporter | ||
Comment 3•1 year ago
|
||
It shouldn't be too hard to write our own Rust program that implements what pdbstr does. If getting the official Microsoft binary is too hard, this might be an alternative.
Assignee | ||
Comment 4•1 year ago
|
||
Might as well add that to dump_syms rather than write an entirely new tool. It would make sense to make dump_syms handle the objcopy part of symbolstore.py as well, similarly. That being said, I'm testing a hack to unblock the situation quickly.
Assignee | ||
Comment 5•1 year ago
|
||
The Visual Studio manifest for VS 2022 doesn't contain the SDK
Debuggers, unlike the standalone Windows SDK. This seems like a mistake
on Microsoft's part, and until we either dump the dependency on the tool
we use from there or it's fixed, we add it manually, copying the
relevant payloads information from the VS 2019 manifest.
To avoid the same from happening again in the future (like, if we update
the yaml with the command in its header, those will go away), we also
make pdbstr non-optional on CI, so that builds would fail if that
happens.
Updated•1 year ago
|
Comment 7•1 year ago
|
||
bugherder |
Description
•