Crash in IPCError-content | PContentChild::RecvReinitRendering

RESOLVED FIXED in Firefox 60



11 months ago
10 months ago


(Reporter: calixte, Assigned: aosmond)


({crash, regression})

Windows 10
crash, regression

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox58 unaffected, firefox59 unaffected, firefox60 fixed)


(crash signature)


(1 attachment)



11 months ago
This bug was filed from the Socorro interface and is
report bp-d43cdd37-eecb-4f19-9129-8426f0180125.

Top 10 frames of crashing thread:

0 xul.dll mozilla::dom::ContentChild::ProcessingError dom/ipc/ContentChild.cpp:2348
1 xul.dll mozilla::ipc::IPCResult::Fail ipc/glue/ProtocolUtils.cpp:64
2 xul.dll mozilla::dom::ContentChild::RecvReinitRendering dom/ipc/ContentChild.cpp:1372
3 xul.dll mozilla::dom::PContentChild::OnMessageReceived ipc/ipdl/PContentChild.cpp:5498
4 xul.dll mozilla::ipc::MessageChannel::DispatchAsyncMessage ipc/glue/MessageChannel.cpp:2110
5 xul.dll mozilla::ipc::MessageChannel::DispatchMessageW ipc/glue/MessageChannel.cpp:2040
6 xul.dll mozilla::ipc::MessageChannel::RunMessage ipc/glue/MessageChannel.cpp:1886
7 xul.dll mozilla::ipc::MessageChannel::MessageTask::Run ipc/glue/MessageChannel.cpp:1919
8 xul.dll nsThread::ProcessNextEvent xpcom/threads/nsThread.cpp:1040
9 xul.dll mozilla::ipc::MessagePump::Run ipc/glue/MessagePump.cpp:97


There are 16 crashes in nightly 60 starting with buildid 20180124220129.
The ipc_channel_error is PContentChild::RecvReinitRendering.
It could be a consequence of patch for bug 1432472.
:aosmond, could you investigate please ?
Flags: needinfo?(aosmond)

Comment 1

11 months ago
My bad, there are 16 crashes for signature "IPCError-content | PContentChild::RecvInitRendering" and 3 for "IPCError-content | PContentChild::RecvReinitRendering".
Crash Signature: [@ IPCError-content | PContentChild::RecvReinitRendering] → [@ IPCError-content | PContentChild::RecvReinitRendering] [@ IPCError-content | PContentChild::RecvInitRendering]

Comment 2

11 months ago
Bug 1432472 fixed CompositorManagerChild::CreateContentCompositorBridge so that in theory we would see more signatures from PContentChild::RecvReinitRendering but this is failing in CompositorManagerChild::Init, which is a few lines above. It is possible that the content process survives longer than it used with said patch, and now it falls over later on. However the volume on nightly was lower -- it would surprise me that it dies more frequently, if related (certainly the build dates line up and I don't see anything obvious in the pushlog.

Comment 3

10 months ago
The PContentChild::RecvReinitRendering crashes appear to be correlated with the crash in bug 1431448. If I filter out the WebRender enabled crashes, there are barely any left.

Comment 4

10 months ago
The RecvInitRendering crashes appear to be happening because the GPU process was disabled before the content process was inititalized. If RecvInitRendering/RecvReinitRendering fail when trying to setup IPDL actors for the GPU process, we should fail silently, and wait for the next RecvReinitRendering to come in. If it fails with the UI process (after disabling the GPU process), then we can crash as we are. I think this will resolve the bulk of the crash reports (and I hope not cause a cascade of new related crashes due to the GPU process crashing so early in the init process...).
Assignee: nobody → aosmond
Flags: needinfo?(aosmond)

Comment 5

10 months ago
Created attachment 8950651 [details] [diff] [review]
0001-Bug-1433646-Allow-ContentChild-Recv-Re-InitRendering.patch, v1

This ignores failures in RecvInitRendering and RecvReinitRendering if the other side for the IPDL actor is the GPU process. The expectation is that it will receive another RecvReinitRendering as a result of the GPU process crashing. If it is the UI process, it should crash like it does today (and that's a good thing).



10 months ago
Attachment #8950651 - Flags: review?(rhunt)

Comment 6

10 months ago
Comment on attachment 8950651 [details] [diff] [review]
0001-Bug-1433646-Allow-ContentChild-Recv-Re-InitRendering.patch, v1

Review of attachment 8950651 [details] [diff] [review]:

Nice catch!
Attachment #8950651 - Flags: review?(rhunt) → review+

Comment 7

10 months ago
Pushed by
Allow ContentChild::Recv(Re)InitRendering to fail with the GPU process. r=rhunt

Comment 8

10 months ago
Last Resolved: 10 months ago
status-firefox60: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
You need to log in before you can comment on or make changes to this bug.