Closed Bug 1031284 Opened 11 years ago Closed 11 years ago

Fix assertion failures for pseudostack unwinds using SPS+LUL

Categories

(Core :: Gecko Profiler, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla33

People

(Reporter: jseward, Assigned: jseward)

References

Details

Attachments

(1 file)

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: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla33
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: