Closed
Bug 887100
Opened 11 years ago
Closed 11 years ago
mozilla_sampler_register_thread leaks pseudostacks (40k per thread)
Categories
(Core :: Gecko Profiler, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 872947
People
(Reporter: bjacob, Unassigned)
Details
(Whiteboard: [MemShrink])
I'm using the mozilla-graphics tree. I was told that this might be fixed on central already, but we recently merged -central (of June 24) into -graphics, and I can still reproduce.
See this log (scroll to the bottom): attachment 767554 [details]
These reports:
==9576== 40,992 bytes in 1 blocks are definitely lost in loss record 6,949 of 6,955
==9576== at 0x402C7C1: malloc (vg_replace_malloc.c:292)
==9576== by 0x4041EE4: moz_xmalloc (mozalloc.cpp:54)
==9576== by 0x7E94F1B: mozilla_sampler_register_thread(char const*, void*) (mozalloc.h:201)
==9576== by 0x83FD007: mozilla::LazyIdleThread::InitThread() (LazyIdleThread.cpp:173)
==9576== by 0x6D9EF3C: nsRunnableMethodImpl<void (nsPACMan::*)(), true>::Run() (nsThreadUtils.h:350)
==9576== by 0x84030DD: nsThread::ProcessNextEvent(bool, bool*) (nsThread.cpp:626)
==9576== by 0x83B5404: NS_ProcessNextEvent(nsIThread*, bool) (nsThreadUtils.cpp:238)
==9576== by 0x8402443: nsThread::ThreadFunc(void*) (nsThread.cpp:264)
==9576== by 0x4089DFF: _pt_root (ptthread.c:204)
==9576== by 0x4A2CE99: start_thread (pthread
The code is:
bool mozilla_sampler_register_thread(const char* aName, void* stackTop)
{
PseudoStack* stack = new PseudoStack();
tlsPseudoStack.set(stack);
return Sampler::RegisterCurrentThread(aName, stack, false, stackTop);
}
So I'm assuming that we're leaking these PseudoStack's ? I don't see it being ever destroyed, e.g. in mozilla_sampler_stop() ?
Reporter | ||
Comment 1•11 years ago
|
||
Julian, would Valgrind correctly understand this thread-local global pointer, for reachability analysis?
Flags: needinfo?(jseward)
Reporter | ||
Comment 2•11 years ago
|
||
Note: I am using this cset: http://hg.mozilla.org/projects/graphics/rev/52f85291fd6e
Comment 3•11 years ago
|
||
Sorry looks like I have landed my patch in 872947. I'll get around to it ASAP.
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
Comment 5•11 years ago
|
||
(In reply to Benoit Jacob [:bjacob] from comment #1) > Julian, would Valgrind correctly understand this thread-local global > pointer, for reachability analysis? I think it does correctly understand it. But in any case, a bug in this area -- https://bugs.kde.org/show_bug.cgi?id=324227 -- was fixed in V 3.9.0, so if this is still a concern, it might be worth trying 3.9.0.
Flags: needinfo?(jseward)
You need to log in
before you can comment on or make changes to this bug.
Description
•