New issue
Advanced search Search tips

Issue 697923 link

Starred by 2 users

Issue metadata

Status: Untriaged
Owner: ----
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocked on:
issue 801296



Sign in to add a comment

Make symupload from Breakpad a normal tool build

Project Member Reported by scottmg@chromium.org, Mar 2 2017

Issue description

At the moment, symupload.exe is a special binary that's checked into src/breakpad. It has to be built with VS2013 (because only msdia120.dll is registered on bots) and previously was a manually editbin'd x86 binary to have LargeAddressAware set on it.

I rolled and unrolled it for a week with various failures and different ways of building the binary. Primarily it was failing chrome_child.dll on x86 ("win" and "win-pgo") official builders.

A build has finally now succeeded, with symupload built using VS2013, x64, Release in the vcproj.

However this is of course, quite crazy. We should just make symupload a tool that gets built during building an official build and then use the binary from the output directory. I think even VS2015 Community Edition comes with the DIA SDK now, so there's not even any conditional building required.
 
xrefs:  bug 678874 , bug 696257,  bug 696671 , bug 696911, bug 697638
[
The best part of course was that  bug 678874  was the reason for rolling this, but in reality it doesn't matter at all, because the fixed code needs to be rolled into the server side google3 processor so that the symbols for ntdll will get reprocessed.

Processing symbols on the client side of the build is completely incidental and not affected by the change. But I'd started to roll Breakpad before I realized this, and then it seemed too ugly to leave Breakpad with an unrolled and precariously unrollable binary.

#complexity (unnecessary) #impact (low) :-)
]
Breakpad already uses NoRegCoCreate to initialize DIA [1], so copying DIA next to symupload.exe should work (i.e. we don't have to register it on the bots).

The only concern if we build symupload.exe and copy mdsia*.dll to the build directory is that we might inadvertently redistribute it if a bot just archive the entire build directory (a few bot do this), so we'll need to make sure that this doesn't happen.


[1] https://chromium.googlesource.com/breakpad/breakpad/+/master/src/common/windows/pdb_source_line_writer.cc#135

Comment 4 by mmoss@chromium.org, Jan 11 2018

Cc: scottmg@chromium.org syzygy-team@chromium.org
 Issue 576749  has been merged into this issue.

Comment 5 by mmoss@chromium.org, Jan 11 2018

Blockedon: 801296
Status: Untriaged (was: Available)
Available, but no owner or component? Please find a component, as no one will ever find this without one.

Sign in to add a comment