Downloadable debug builds
Testers can now download debug builds of Firefox rather than going trough the complicated process of building Firefox themselves.
Debug builds have extra code called assertions to inform us when assumptions or surrounding code are incorrect. For example, assertions can reliably tell us when third-party code makes common threading mistakes, even though the crashes from those mistakes appear random. I find about a third of my bugs by noticing assertion failures, and it usually isn't the assertion that's incorrect.
In several bug reports from users who were hitting frequent crashes at random, I suggested that the users compile their own debug builds, hoping that assertion failure messages would lead us to the cause of the crash. Few of the users succeeded, since the compilation tools and instructions were written with programmers in mind. Now that pre-made debug builds are available, we may be able to make more progress on these kinds of crash bug reports.
Big thanks to the release engineering team for making these builds available!
January 19th, 2010 at 9:50 am
This is nice and useful. A further great step would be debug and alpha build that can run parallel to vanilla ones so that one wouldn’t have to quit Firefox to use them.
February 11th, 2010 at 5:04 am
Can you confirm that the symbols for those builds are published on the debug server ?
February 11th, 2010 at 4:19 pm
So it seems that the symbol are *not* in the symbol server, but are inside the firefox-3.7a2pre.en-US.win32.crashreporter-symbols.zip together with the debug builds.
The one problem I have is that the compressed pd_ inside this file seems to be missing the path to download the source (pdbstr -r -p:xul.pdb -s:srcsrv runned on the decompressed version shows no output, symchk /v xul.dll both had the border effect of decompressing the pd_ and telling you where the resulting pdb is).
Now, there’s a .sym file on the side of .pd_ file that seems to contain the source info. I don’t know if dbg dll are supposed to interpret it. Windbg 6.9.0003.113 doesn’t at least. Finally the easiest was to extract the SourceStamp and SourceRepository from application.ini and use them to ask hg to provide the whole source package as a zip file ( $SourceRepository/file/$SourceStamp , click on zip)