Closed Bug 1031284 Opened 7 years ago Closed 7 years ago
Fix assertion failures for pseudostack unwinds using SPS+LUL
After applying the patch for bug 1022583, which enables LUL by default on desktop linux, startups of debug builds done thusly MOZ_PROFILER_MODE=pseudo ./ff-linux64-dbg/dist/bin/firefox-bin quickly assert thusly Assertion failure: !isJs(), at ../../dist/include/js/ProfilingStack.h:127 The failure stack (one of two) is #0 js::ProfileEntry::stackAddress js/public/ProfilingStack.h:127 #1 genProfileEntry tools/profiler/BreakpadSampler.cpp:76 #2 genPseudoBacktraceEntries tools/profiler/BreakpadSampler.cpp:141 #3 populateBuffer tools/profiler/BreakpadSampler.cpp:219 The failure happens because genProfileEntry calls entry.stackAddress() without knowing whether the entry is a JS or CPP entry, and the same for a call of entry.line().
Guard calls to entry.stackAddress()/line() with entry.isCpp().
Attachment #8447146 - Flags: review?(bgirard)
Attachment #8447146 - Flags: review?(bgirard) → review+
Assignee: nobody → jseward
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
You need to log in before you can comment on or make changes to this bug.