Stack fixing on OSX leaves behind some junk
Categories
(Toolkit :: Crash Reporting, task)
Tracking
()
Tracking | Status | |
---|---|---|
firefox77 | --- | fixed |
People
(Reporter: mccr8, Assigned: n.nethercote)
Details
Attachments
(1 file)
I was looking at an OSX TreeHerder log recently in bug 1516827:
[Child 1934, Main Thread] ###!!! ASSERTION: Bug 1508626 - Initializing font loader after shutdown but before observer: '!gXPCOMThreadsShutDown', file /builds/worker/checkouts/gecko/gfx/thebes/gfxFontInfoLoader.cpp, line 172
#01: nsTimerImpl::Fire(int) [hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsTimerImpl.cpp:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:573]
#02: nsTimerEvent::Run() [hg:hg.mozilla.org/mozilla-central:xpcom/threads/TimerThread.cpp:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:252]
#03: nsThread::ProcessNextEvent(bool, bool*) [hg:hg.mozilla.org/mozilla-central:mfbt/RefPtr.h:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:314]
#04: NS_ProcessPendingEvents(nsIThread*, unsigned int) [hg:hg.mozilla.org/mozilla-central:xpcom/threads/nsThreadUtils.cpp:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:429]
#05: mozilla::ShutdownXPCOM(nsIServiceManager*) [hg:hg.mozilla.org/mozilla-central:xpcom/build/XPCOMInit.cpp:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:646]
#06: XRE_TermEmbedding() [hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:223]
#07: mozilla::ipc::ScopedXREEmbed::Stop() [hg:hg.mozilla.org/mozilla-central:ipc/glue/ScopedXREEmbed.cpp:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:91]
#08: XRE_InitChildProcess(int, char**, XREChildData const*) [hg:hg.mozilla.org/mozilla-central:toolkit/xre/nsEmbedFunctions.cpp:9226f5b0d05bea99caf4f2f2119b47c0dadf6c69:745]
It looks like the stack fixing is leaving in a bunch of junk between the file name and the line number (9226f5b0d05bea99caf4f2f2119b47c0dadf6c69 in stack 01, for instance).
A log that includes the same assertion on Windows, from bug 1544794, does not include this junk.
Reporter | ||
Comment 1•4 years ago
|
||
Nick, could you please take a look? Thanks.
Assignee | ||
Comment 2•4 years ago
|
||
This is expected. I'm not exactly sure what the ID is, but it comes from somewhere in the binary, and the Symbolic crate prints it deliberately. For some reason it only shows up when using Breakpad symbols, as happens on automation. You say it doesn't happen on Windows but I would have expected it to, and the link you gave doesn't include a stack trace.
If you really hate it I guess I could strip it out pretty easily. Do you want that?
Reporter | ||
Comment 3•4 years ago
|
||
(In reply to Nicholas Nethercote [:njn] from comment #2)
This is expected. I'm not exactly sure what the ID is, but it comes from somewhere in the binary, and the Symbolic crate prints it deliberately. For some reason it only shows up when using Breakpad symbols, as happens on automation. You say it doesn't happen on Windows but I would have expected it to, and the link you gave doesn't include a stack trace.
Sorry, I should have been more specific. You have to click on the link, then click on "open raw log", then search for "Initializing font loader", and you'll see a stack trace with frames like #01: static gfxFontInfoLoader::DelayedStartCallback(nsITimer*, void*) [gfx/thebes/gfxFontInfoLoader.h:205]
If you really hate it I guess I could strip it out pretty easily. Do you want that?
Yes, please. I think the stack traces would be easier to use if the giant number was not in it. I had to edit it out when I was pasting the stack trace in bug 1516827 or it would have wrapped around and made it harder to read.
Assignee | ||
Comment 4•4 years ago
|
||
Breakpad produces line like this:
FILE 263 hg:hg.mozilla.org/integration/autoland:caps/BasePrincipal.cpp:04c31e994f29e72dd81a7340100d12f67e48a5b4
and fix-stacks
just trusts in that. So I wonder if we should change Breakpad instead.
Assignee | ||
Comment 5•4 years ago
•
|
||
https://github.com/mozilla/fix-stacks/pull/24 is the fix-stacks
change that will fix this. An example... this:
#01: nsGlobalWindowOuter::nsGlobalWindowOuter(unsigned long) [hg:hg.mozilla.org/integration/autoland:dom/base/nsGlobalWindowOuter.cpp:565d44023c3500137c6cdfefe5100fd6ecc2cc3d:1340]
becomes this:
> #01: nsGlobalWindowOuter::nsGlobalWindowOuter(unsigned long) [dom/base/nsGlobalWindowOuter.cpp:1340]
Assignee | ||
Comment 6•4 years ago
|
||
This pulls in:
- https://github.com/mozilla/fix-stacks/pull/24, which removes some junk from
Breakpad file names; - https://github.com/mozilla/fix-stacks/pull/25, which avoids having two
different versions of the goblin crate.
Updated•4 years ago
|
Pushed by nnethercote@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/14706ef4800f Update `fix-stacks`. r=erahm
Comment 8•4 years ago
|
||
bugherder |
Description
•