Closed Bug 1252349 Opened 4 years ago Closed 4 years ago

[e10s] Frequent IPC::Message (and sometimes SharedMemory) leaks during the dom/media tests on OSX

Categories

(Core :: Graphics: Layers, defect)

Unspecified
macOS
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla48
Tracking Status
e10s + ---
firefox47 --- affected
firefox48 --- fixed
firefox49 --- fixed

People

(Reporter: RyanVM, Assigned: bas.schouten)

References

(Blocks 1 open bug)

Details

(Keywords: memory-leak, Whiteboard: [gfx-noted][MemShrink:P2][e10s-orangeblockers])

https://treeherder.mozilla.org/logviewer.html#?job_id=17386999&repo=try

(In reply to Ryan VanderMeulen [:RyanVM] from bug 1252273 comment #2)
> IPC::Message leak stack:
>  18:25:39     INFO -  #00: IPC::Message::Message(int, unsigned int,
> IPC::Message::PriorityValue, IPC::Message::MessageCompression, char const*)
> [ipc/chromium/src/base/pickle.h:194]
>  18:25:39     INFO -  #01:
> mozilla::ipc::Shmem::ShareTo(mozilla::ipc::Shmem::
> IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead, int, int)
> [ipc/glue/Shmem.cpp:30]
>  18:25:39     INFO -  #02:
> mozilla::layers::PImageBridgeChild::CreateSharedMemory(unsigned long,
> mozilla::ipc::SharedMemory::SharedMemoryType, bool, int*)
> [obj-firefox/ipc/ipdl/PImageBridgeChild.cpp:615]
>  18:25:39     INFO -  #03:
> mozilla::layers::PImageBridgeChild::AllocUnsafeShmem(unsigned long,
> mozilla::ipc::SharedMemory::SharedMemoryType, mozilla::ipc::Shmem*)
> [obj-firefox/ipc/ipdl/PImageBridgeChild.cpp:979]
>  18:25:39     INFO -  #04:
> mozilla::layers::ImageBridgeChild::AllocUnsafeShmem(unsigned long,
> mozilla::ipc::SharedMemory::SharedMemoryType, mozilla::ipc::Shmem*)
> [gfx/layers/ipc/ImageBridgeChild.cpp:931]
>  18:25:39     INFO -  #05: mozilla::layers::ProxyAllocShmemNow
> [gfx/layers/ipc/ImageBridgeChild.cpp:970]
>  18:25:39     INFO -  #06:
> MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&)
> [ipc/chromium/src/base/message_loop.cc:365]
>  18:25:39     INFO -  #07: MessageLoop::DoWork()
> [ipc/chromium/src/base/message_loop.cc:459]
>  18:25:39     INFO -  #08:
> base::MessagePumpDefault::Run(base::MessagePump::Delegate*)
> [ipc/chromium/src/base/message_pump_default.cc:34]
>  18:25:39     INFO -  #09: MessageLoop::Run()
> [ipc/chromium/src/base/message_loop.cc:520]
>  18:25:39     INFO -  #10: base::Thread::ThreadMain()
> [ipc/chromium/src/base/thread.cc:175]
>  18:25:39     INFO -  #11: ThreadFunc
> [ipc/chromium/src/base/platform_thread_posix.cc:36]
> 18:25:39 INFO - #12: libSystem.B.dylib + 0x39fd6
> 
> Looks suspiciously similar to bug 1246529 (which also affects OSX). One of
> the logs in comment 0 had a SharedMemory leak as well, so marking the dep.
Whiteboard: [gfx-noted]
https://treeherder.mozilla.org/logviewer.html#?job_id=17434659&repo=try looks like a similar-looking assert & crash.
Whiteboard: [gfx-noted] → [gfx-noted][MemShrink]
See Also: → 1227718
Whiteboard: [gfx-noted][MemShrink] → [gfx-noted][MemShrink][e10s-orangeblockers]
Whiteboard: [gfx-noted][MemShrink][e10s-orangeblockers] → [gfx-noted][MemShrink:P2][e10s-orangeblockers]
Fixed by bug 1215265.
Assignee: nobody → nical.bugzilla
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Actually, no it wasn't. This has, however, shifted signatures a bit.
Before:
TEST-UNEXPECTED-FAIL | leakcheck | tab process: 4600 bytes leaked (IPC::Message)
After:
TEST-UNEXPECTED-FAIL | leakcheck | tab process: 48 bytes leaked (IPC::Message)

12:50:04     INFO -  allocation stack:
12:50:31     INFO -  #00: IPC::Message::Message(int, unsigned int, IPC::Message::PriorityValue, IPC::Message::MessageCompression, char const*) [ipc/chromium/src/base/pickle.h:199]
12:50:31     INFO -  #01: mozilla::ipc::Shmem::ShareTo(mozilla::ipc::Shmem::IHadBetterBeIPDLCodeCallingThis_OtherwiseIAmADoodyhead, int, int) [ipc/glue/Shmem.cpp:30]
12:50:31     INFO -  #02: mozilla::layers::PImageBridgeChild::CreateSharedMemory(unsigned long, mozilla::ipc::SharedMemory::SharedMemoryType, bool, int*) [obj-firefox/ipc/ipdl/PImageBridgeChild.cpp:585]
12:50:31     INFO -  #03: mozilla::layers::PImageBridgeChild::AllocUnsafeShmem(unsigned long, mozilla::ipc::SharedMemory::SharedMemoryType, mozilla::ipc::Shmem*) [obj-firefox/ipc/ipdl/PImageBridgeChild.cpp:949]
12:50:31     INFO -  #04: mozilla::layers::ImageBridgeChild::AllocUnsafeShmem(unsigned long, mozilla::ipc::SharedMemory::SharedMemoryType, mozilla::ipc::Shmem*) [gfx/layers/ipc/ImageBridgeChild.cpp:944]
12:50:31     INFO -  #05: mozilla::layers::ProxyAllocShmemNow [gfx/layers/ipc/ImageBridgeChild.cpp:985]
12:50:31     INFO -  #06: MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask const&) [ipc/chromium/src/base/message_loop.cc:350]
12:50:31     INFO -  #07: MessageLoop::DoWork() [ipc/chromium/src/base/message_loop.cc:444]
12:50:31     INFO -  #08: base::MessagePumpDefault::Run(base::MessagePump::Delegate*) [ipc/chromium/src/base/message_pump_default.cc:34]
12:50:31     INFO -  #09: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:505]
12:50:31     INFO -  #10: base::Thread::ThreadMain() [ipc/chromium/src/base/thread.cc:177]
12:50:31     INFO -  #11: ThreadFunc [ipc/chromium/src/base/platform_thread_posix.cc:36]
12:50:31     INFO -  #12: libsystem_pthread.dylib + 0x405a
12:50:31     INFO -  #13: libsystem_pthread.dylib + 0x3fd7
12:50:31     INFO -  WARNING | leakcheck | tab process: leaked too many IPC::Message (expected 0, got 1)

So bug 1215265 appears to have made things better here, but not completely fixed.
Assignee: nical.bugzilla → nobody
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: mozilla48 → ---
See Also: → 1264073
Looks like bug 1262898 made this go away.
Assignee: nobody → bas
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Depends on: 1262898
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
You need to log in before you can comment on or make changes to this bug.