Put pdbstr.exe in tooltool for Windows builds

NEW
Unassigned

Status

Firefox Build System
General
8 months ago
3 months ago

People

(Reporter: ted, Unassigned)

Tracking

unspecified

Firefox Tracking Flags

(firefox57 wontfix)

Details

MozReview Requests

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(4 attachments)

(Reporter)

Description

8 months ago
We use pdbstr.exe during symbol dumping to put a source server stream into our PDB files. It comes with the Debugging Tools for Windows, which has sometimes been rolled into the Windows SDK.

I think it's pretty standalone, so we should just stick it into tooltool and fetch it from there.
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
Comment hidden (mozreview-request)
(Reporter)

Comment 5

8 months ago
mozreview-review
Comment on attachment 8908934 [details]
Bug 1400354 - Fix JarWriter usage;

https://reviewboard.mozilla.org/r/180546/#review187180
Attachment #8908934 - Flags: review?(ted) → review+
(Reporter)

Comment 6

8 months ago
mozreview-review
Comment on attachment 8908935 [details]
Bug 1400354 - Include pdbstr.exe in toolchain archive;

https://reviewboard.mozilla.org/r/180548/#review187182

::: build/windows_toolchain.py:95
(Diff revision 1)
>  SDK_PATTERNS = [
>      {
>          'pattern': 'bin/x64/**',
>      },
>      {
> +        'pattern': 'Debuggers/x64/srcsrv/**',

We probably don't really need anything else here, tbh.
Attachment #8908935 - Flags: review?(ted) → review+
(Reporter)

Comment 7

8 months ago
mozreview-review
Comment on attachment 8908936 [details]
Bug 1400354 - Upgrade Visual Studio 2015 toolchain;

https://reviewboard.mozilla.org/r/180550/#review187184
Attachment #8908936 - Flags: review?(ted) → review+
(Reporter)

Comment 8

8 months ago
mozreview-review
Comment on attachment 8908937 [details]
Bug 1400354 - Use pdbstr from toolchain archive

https://reviewboard.mozilla.org/r/180552/#review187188

::: toolkit/crashreporter/tools/symbolstore.py:687
(Diff revision 1)
>          stream_output_path = os.path.abspath(streamFilename)
>          # Call SourceIndex to create the .stream file
>          result = SourceIndex(sourceFileStream, stream_output_path, vcs_root)
>          if self.copy_debug:
> -            pdbstr_path = os.environ.get("PDBSTR_PATH")
> -            pdbstr = os.path.normpath(pdbstr_path)
> +            subprocess.check_call(
> +                ["pdbstr.exe", "-w", "-p:" + os.path.basename(debug_file),

Unfortunately this will fail for local developer builds that haven't munged `PATH` appropriately. You might need to add a check to moz.configure to locate pdbstr.exe and then you could check `if buildconfig.substs['PDBSTR']` here.

If you do that, you should make the configure check fail if `MOZ_AUTOMATION` is set and pdbstr is not found, so that we don't accidentally break source server indexing in automation.

It's OK to not have pdbstr for local builds, since all we use it for is inserting source server indexing into the PDB files, which is only really needed in builds that we ship.
Attachment #8908937 - Flags: review-

Updated

8 months ago
status-firefox57: --- → wontfix

Updated

3 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.