Closed Bug 1290199 Opened 8 years ago Closed 8 years ago

MOZ_PROFILER_SHUTDOWN crash with mPseudoStack when saving the profile

Categories

(Core :: Gecko Profiler, defect)

defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: BenWa, Unassigned)

References

(Blocks 1 open bug)

Details

~/mozilla/mozilla-central/tree> MOZ_PROFILER_STARTUP=true MOZ_PROFILER_SHUTDOWN=prof.dat ./mach run --debug 0:01.69 /Applications/Xcode.app/Contents/Developer/usr/bin/lldb -- /Users/bgirard/mozilla/mozilla-central/builds/obj-ff-64gdb/dist/Nightly.app/Contents/MacOS/firefox -no-remote -foreground -profile /Users/bgirard/mozilla/mozilla-central/builds/obj-ff-64gdb/tmp/scratch_user There is a .lldbinit file in the current directory which is not being read. To silence this warning without sourcing in the local .lldbinit, add the following to the lldbinit file in your home directory: settings set target.load-cwd-lldbinit false To allow lldb to source .lldbinit files in the current working directory, set the value of this variable to true. Only do so if you understand and accept the security risk. (lldb) target create "/Users/bgirard/mozilla/mozilla-central/builds/obj-ff-64gdb/dist/Nightly.app/Contents/MacOS/firefox" Current executable set to '/Users/bgirard/mozilla/mozilla-central/builds/obj-ff-64gdb/dist/Nightly.app/Contents/MacOS/firefox' (x86_64). (lldb) settings set -- target.run-args "-no-remote" "-foreground" "-profile" "/Users/bgirard/mozilla/mozilla-central/builds/obj-ff-64gdb/tmp/scratch_user" (lldb) process launch Process 55614 launched: '/Users/bgirard/mozilla/mozilla-central/builds/obj-ff-64gdb/dist/Nightly.app/Contents/MacOS/firefox' (x86_64) Process 55614 stopped * thread #1: tid = 0x3645b, 0x0000000104cfa6f2 XUL`ThreadProfile::StreamJSON(SpliceableJSONWriter&, double) [inlined] void mozilla::Maybe<UniqueStacks>::emplace<JSRuntime*&>(JSRuntime*&&&) + 4 at Maybe.h:390, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x6030) frame #0: 0x0000000104cfa6f2 XUL`ThreadProfile::StreamJSON(SpliceableJSONWriter&, double) [inlined] void mozilla::Maybe<UniqueStacks>::emplace<JSRuntime*&>(JSRuntime*&&&) + 4 at Maybe.h:390 387 void emplace(Args&&... aArgs) 388 { 389 MOZ_ASSERT(!mIsSome); -> 390 ::new (mStorage.addr()) T(Forward<Args>(aArgs)...); 391 mIsSome = true; 392 } 393 }; (lldb) up frame #1: 0x0000000104cfa6ee XUL`ThreadProfile::StreamJSON(this=0x00000001155bd000, aWriter=0x00007fff5fbfed80, aSinceTime=0) + 62 at ThreadProfile.cpp:51 48 // mUniqueStacks may already be emplaced from FlushSamplesAndMarkers. 49 if (!mUniqueStacks.isSome()) { 50 #ifndef SPS_STANDALONE -> 51 mUniqueStacks.emplace(mPseudoStack->mRuntime); 52 #else 53 mUniqueStacks.emplace(nullptr); 54 #endif (lldb) print mPseudoStack (PseudoStack *) $0 = 0x0000000000000000
Summary: MOZ_PROFILER_SHUTDOWN crash with mPseudoStack when saving the profiling → MOZ_PROFILER_SHUTDOWN crash with mPseudoStack when saving the profile
Blocks: 1329181
I cannot reproduce this. And looking at the code, it looks like we've changed things so that mPseudoStack is never null here.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.