Closed Bug 1347059 Opened 7 years ago Closed 7 years ago

GeckoProfiler re-entry and dead locked during StopProfiler()

Categories

(Core :: Gecko Profiler, enhancement)

enhancement
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 1346356
Tracking Status
firefox55 --- affected

People

(Reporter: sinker, Unassigned)

Details

|nsProfiler::StopProfiler()| would caused a re-entry for notifying observers of
the subject "profiler-stopped" before it's deactivated is complete.

see https://dxr.mozilla.org/mozilla-central/rev/f9362554866b327700c7f9b18050d7b7eb3d2b23/tools/profiler/core/platform.cpp#2366

It causes |profiler_get_backtrace()| has been called by
|nsRefreshDriver::AddLayoutFlushObserver()|.  |gPSMutex| will be acquired here
again while |profiler_stop()| is still holding the mutex.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.