Closed
Bug 1122045
Opened 10 years ago
Closed 9 years ago
Leaks in MessageLoop::MessageLoop
Categories
(Core :: IPC, defect, P2)
Core
IPC
Tracking
()
RESOLVED
DUPLICATE
of bug 1215265
Tracking | Status | |
---|---|---|
e10s | + | --- |
People
(Reporter: mccr8, Unassigned)
References
(Blocks 1 open bug)
Details
(Whiteboard: [MemShrink:P2])
Attachments
(1 file)
13.34 KB,
text/plain
|
Details |
The stacks are slightly odd here, but it looks like there's some kind of leak involving MessageLoop and queues. This was detected by LSan. The odd thing is that it is only affecting some child processes, in a few non-e10s Mochitests, plus e10s bc1, bc2 and bc3. I'll try to narrow down locally which tests are actually triggering this leak.
try run: https://treeherder.mozilla.org/#/jobs?repo=try&revision=28013e3191a4
Reporter | ||
Comment 1•10 years ago
|
||
The odd stacks are the direct leaks, which seem to be saying that doing a ++ of a mozilla::Atomic is allocating a std::Deque.
Reporter | ||
Comment 2•10 years ago
|
||
(In reply to Andrew McCreight [:mccr8] from comment #1)
> The odd stacks are the direct leaks, which seem to be saying that doing a ++
> of a mozilla::Atomic is allocating a std::Deque.
The next field is |TaskQueue work_queue_;|, so I suppose the default ctor for queues is somehow calling queue ++, which is why it is showing up like that.
Reporter | ||
Updated•10 years ago
|
Whiteboard: [MemShrink]
Reporter | ||
Updated•10 years ago
|
Version: 32 Branch → Trunk
Reporter | ||
Comment 3•10 years ago
|
||
These leaks also show up without bug 1090570. They likely aren't showing up in the e10s M1-M5 because LSan isn't running.
Updated•10 years ago
|
Whiteboard: [MemShrink] → [MemShrink:P2]
Reporter | ||
Comment 4•9 years ago
|
||
This is still happening.
Bill said these are probably due to a Chromium Thread leaking, and that I could log the name of the threads when they are created to figure out what is leaking. I'm going to try that.
Reporter | ||
Updated•9 years ago
|
tracking-e10s:
--- → ?
Reporter | ||
Comment 5•9 years ago
|
||
I added some logging for the Chromium base::Thread, and we leak one iff we leak a PImageBridgeChild. The leaked threads also seem to be named ImageBridgeChild (aside from Chrome_ChildThread and ProcessHangMonitor that seem to "leak" in tests where we crash the process), so for now I'm going to assume these leaks are all somehow related to ImageBridgeChild. The work queue data structures must not be reachable from the stack like the other ImageBridgeChild structures seem to be, and so they show up in the LSan log.
Depends on: 1117203
Updated•9 years ago
|
Priority: -- → P2
Reporter | ||
Comment 6•9 years ago
|
||
I can remove the MessageLoop::MessageLoop, base::WaitableEvent::TimedWait and MessageLoop::PostTask_Helper suppressions now, so I'm going to call this a dupe of bug 1215265.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•