Dumping the fpo information xul.dll it seems like we are missing unwind information for a bunch of the code (more info at bug 519616). I can't reproduce this with VS2008 and so I wonder if maybe the problem only occurs with VS2005. It would be interesting if rel-eng could do a build with VS2008 to see if that fixes the problem.
I know catlee was poking at VC2008, but I don't know what he determined.
This is still biting us, as evidenced by bug 529363. I'll take a look at the symbol dumping code and see if we're just missing something. I also have a PGO build done with VC2010 here that I can compare against.
Dumping the symbols on my VC2010 PGO build shows that we have unwind info for the function from bug 529363: FUNC 2150c9 f5 8 nsAppShellService::RegisterTopLevelWindow(nsIXULWindow *) STACK WIN 4 2150c9 f5 8 0 8 0 1c 0 1 $T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = In fact, we have a *lot* more STACK lines in the output: This is from 3.6b2, built with VC8: grep "^STACK" /home/luser/symbols/xul.pdb/B36564041E3D436EBB92C44DBA08920C2/xul.sym | wc -l 44747 This is from a trunk build, built with VC10: $ grep "^STACK" ../pgo-vc10/dist/crashreporter-symbols/xul.pdb/B7CC83471F9F41409B5B7836F7C6F95C2/xul.sym | wc -l 121491 That's a big discrepancy! However, bug 529363 shows that the VC debugger can in fact get a stack, so there must be something we're missing.
It would be interesting to see if VC9 is closer to VC10 or to VC8.
With the symbols from Firefox 3.6b2, nearly 18% of functions in xul.sym are missing unwind info: http://people.mozilla.com/~tmielczarek/no-unwind.lst In my VC10 PGO build, only 11 functions are in that list, and they're all compiler miscellany, nothing important. I'm going to try a VC9 PGO build next.
I'm not sure there's anything we can block on here, short of switching to a newer compiler (which might be a good idea).
I can't get a VC9 PGO build to complete, it keeps running out of memory on my system. (Odd that VC8 and VC10 both work.)
Finally got a VC9 PGO build to finish. It doesn't seem to be any better than VC8 here: $ ../mozilla-central/toolkit/crashreporter/tools/win32/dump_syms.exe ./toolkit/library/xul.pdb | grep "^STACK" | wc -l 42843 Guess we'll have to wait for VC10 to be released.
Fixed by bug msvc2010.