Closed Bug 1632928 Opened 4 years ago Closed 4 years ago

Stack fixing on OSX leaves behind some junk

Categories

(Toolkit :: Crash Reporting, task)

task

Tracking

()

RESOLVED FIXED
mozilla77
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.

Nick, could you please take a look? Thanks.

Flags: needinfo?(n.nethercote)

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?

Flags: needinfo?(n.nethercote) → needinfo?(continuation)

(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.

Flags: needinfo?(continuation)

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.

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]

This pulls in:

Assignee: nobody → n.nethercote
Status: NEW → ASSIGNED
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: