Open Bug 1297148 Opened 5 years ago Updated 4 years ago

Crash in mozilla::CrossProcessMutex::CrossProcessMutex

Categories

(Core :: Panning and Zooming, defect, P3)

48 Branch
ARM
Android
defect

Tracking

()

Tracking Status
firefox48 - wontfix
firefox49 --- wontfix
fennec + ---
firefox50 --- wontfix
firefox51 --- fix-optional
firefox52 --- fix-optional
firefox53 --- fix-optional

People

(Reporter: u279076, Unassigned)

References

Details

(Keywords: crash, regression, Whiteboard: [gfx-noted])

Crash Data

This bug was filed from the Socorro interface and is 
report bp-56652f58-d463-4e07-8a8d-86ffc2160804.
=============================================================
0 	libxul.so 	mozilla::CrossProcessMutex::CrossProcessMutex 	ipc/glue/CrossProcessMutex_posix.cpp:63
1 	libxul.so 	mozilla::layers::AsyncPanZoomController::ShareCompositorFrameMetrics 	gfx/layers/apz/src/AsyncPanZoomController.cpp:3747
2 	libxul.so 	mozilla::layers::AsyncPanZoomController::NotifyLayersUpdated 	gfx/layers/apz/src/AsyncPanZoomController.cpp:3267
3 	libxul.so 	mozilla::layers::APZCTreeManager::PrepareNodeForLayer 	gfx/layers/apz/src/APZCTreeManager.cpp:463
4 	libxul.so 	mozilla::layers::APZCTreeManager::UpdateHitTestingTree 	gfx/layers/apz/src/APZCTreeManager.cpp:571
5 	libxul.so 	mozilla::layers::APZCTreeManager::UpdateHitTestingTree 	gfx/layers/apz/src/APZCTreeManager.cpp:602
6 	libxul.so 	mozilla::layers::APZCTreeManager::UpdateHitTestingTree 	gfx/layers/apz/src/APZCTreeManager.cpp:602
7 	libxul.so 	mozilla::layers::APZCTreeManager::UpdateHitTestingTree 	gfx/layers/apz/src/APZCTreeManager.cpp:602
8 	libxul.so 	mozilla::layers::APZCTreeManager::UpdateHitTestingTree 	gfx/layers/apz/src/APZCTreeManager.cpp:182
9 	libxul.so 	mozilla::layers::CompositorBridgeParent::ShadowLayersUpdated 	gfx/layers/ipc/CompositorBridgeParent.cpp:1398
10 	libxul.so 	mozilla::layers::LayerTransactionParent::RecvUpdate 	gfx/layers/ipc/LayerTransactionParent.cpp:633
11 	libxul.so 	mozilla::layers::LayerTransactionParent::RecvUpdateNoSwap 	gfx/layers/ipc/LayerTransactionParent.cpp:207
12 	libxul.so 	mozilla::layers::PLayerTransactionParent::OnMessageReceived 	obj-firefox/ipc/ipdl/PLayerTransactionParent.cpp:538
13 	libxul.so 	mozilla::layers::PCompositorBridgeParent::OnMessageReceived 	obj-firefox/ipc/ipdl/PCompositorBridgeParent.cpp:521
14 	libxul.so 	mozilla::ipc::MessageChannel::DispatchAsyncMessage 	ipc/glue/MessageChannel.cpp:1654
15 	libxul.so 	mozilla::ipc::MessageChannel::DispatchMessage 	ipc/glue/MessageChannel.cpp:1592
16 	libxul.so 	mozilla::ipc::MessageChannel::OnMaybeDequeueOne 	ipc/glue/MessageChannel.cpp:1559
17 	libxul.so 	MessageLoop::RunTask 	ipc/chromium/src/base/message_loop.cc:349
18 	libxul.so 	MessageLoop::DeferOrRunPendingTask 	ipc/chromium/src/base/message_loop.cc:357
19 	libxul.so 	MessageLoop::DoWork 	ipc/chromium/src/base/message_loop.cc:444
20 	libxul.so 	base::MessagePumpDefault::Run 	ipc/chromium/src/base/message_pump_default.cc:34
21 	libxul.so 	MessageLoop::Run 	ipc/chromium/src/base/message_loop.cc:223
22 	libxul.so 	base::Thread::ThreadMain 	ipc/chromium/src/base/thread.cc:174
23 	libxul.so 	ThreadFunc 	ipc/chromium/src/base/platform_thread_posix.cc:36
Ø 24 	libc.so 	libc.so@0x13ef7 	
Ø 25 	libc.so 	libc.so@0x13ed7 	
Ø 26 	libc.so 	libc.so@0x13ed7 	
Ø 27 	libc.so 	libc.so@0x11f2b 	
=============================================================
More reports: https://crash-stats.mozilla.com/signature/?product=FennecAndroid&signature=mozilla%3A%3ACrossProcessMutex%3A%3ACrossProcessMutex

Originally saw this when investigating bug 1038253, it looks like there is a spike in these crashes with Fennec 48 beginning on August 3, 2016. By volume this is low at #292 (0.04%). There does not appear to be a strong device or Android version correlation.

[Tracking Requested - why for this release]: Flagging merely because it appears to be a regression in 48.
Component: Graphics: Layers → Panning and Zooming
It looks like the shared memory is failing to be allocated (OOM) or get mapped (out of file descriptors?). One possible short term solution is to not use the cross process mutex on Android and instead use a regular mutex not allocated from shared memory since Fennec is currently single process with multiple threads. However once we enable either compositor process or e10s, we would need to use the cross process mutex again. Of course finding a way to share the FrameMetrics with out having to lock a piece of shared memory would be even better.
Regression from APZ in 48. Marking P3 since the crash volume seems pretty low.
tracking-fennec: ? → +
This is a very low volume crash so right now there are no reports in 52. There are two reports in 51 though so marking that as affected. It's quite likely still affecting 52 but we just haven't gotten any reports of it yet.
This crash is present in 49.0.2, but it looks as there isn't yet any volume in 50 (12 crashes in B12) and only a few crashes in Aurora. Maybe not worth tracking any longer?
You need to log in before you can comment on or make changes to this bug.