Crash in content processes in BackgroundChildImpl::ProcessingError with message "MsgDropped: Channel error: cannot send/recv"
Categories
(Core :: IPC, defect)
Tracking
()
People
(Reporter: ting, Assigned: jld)
References
Details
(Keywords: crash, Whiteboard: [geckoview][fenix:p1])
Crash Data
Attachments
(1 file)
Comment 1•8 years ago
|
||
Comment 3•8 years ago
|
||
Comment 4•8 years ago
|
||
![]() |
||
Comment 5•8 years ago
|
||
Comment 6•8 years ago
|
||
![]() |
||
Comment 7•8 years ago
|
||
Comment 8•8 years ago
|
||
![]() |
||
Comment 9•8 years ago
|
||
Comment 10•8 years ago
|
||
Comment 11•8 years ago
|
||
Updated•8 years ago
|
Updated•7 years ago
|
Comment 12•7 years ago
|
||
Comment 13•6 years ago
|
||
Comment 14•5 years ago
|
||
Hi Hsin-Yi. This issue has seen a recent uptick in crashes on 77 in Fenix Beta (1340 crashes in the last 7 days). Can someone please take a look?
Updated•5 years ago
|
Comment 15•5 years ago
|
||
(In reply to Emily Toop (:fluffyemily) from comment #14)
Hi Hsin-Yi. This issue has seen a recent uptick in crashes on 77 in Fenix Beta (1340 crashes in the last 7 days). Can someone please take a look?
Deferring to Jens :)
Comment 16•5 years ago
|
||
The crash signature is not ServiceWorker specific now (if it ever was).
On Fenix many of these crashes are all coming from the "Socket Thread". There are some Firefox crashes that happen across more threads. They are all happening in processes that identify themselves as content processes and accordingly have no "IPDL Background" thread. The main loops of the content processes don't seem to indicate that they think they are in shutdown.
I presume something weird is happening with either intentional shutdown of the parent where it didn't want for the child, or unintentional termination of the parent that leaves the child able to leave a crash report.
In any event, it seems like the BackgroundChild instances don't need to cause crashes now that we generally accept that messages can and will be dropped?
Updated•5 years ago
|
Comment 17•5 years ago
|
||
Any chance someone could take a look at this crash please? It's a fairly big Fenix crasher.
Assignee | ||
Comment 18•5 years ago
|
||
So, most toplevels either ignore MsgDropped
or, in some cases like GMPChild
, immediately exit the process on (I assume) the assumption that the channel being unexpectedly closed or otherwise breaking means that the other process (in that case, the parent) has probably exited and that's the most useful thing it can do.
The weird thing about these crashes is that they're from our crash reporter, which runs in the parent process and therefore requires it to still exist, but the most obvious reason to get into this state is the parent process itself having crashed (or being killed, especially on Android because of the LMK). We've had bugs before where Android's own crash reporter was reporting content process crashes (deliberate) after the parent process had crashed (due to some other bug) and that at least made sense.
The crash message just tells us that the channel was in ChannelError
state, which has no associated info about why. It could be from an actual I/O error (as in the case where the other process crashes)… or a channel being closed while it's still in the ChannelOpening
state. PBackground
channels are closed when the child thread that owns them exits, so I wonder if this is happening during shutdown, although from comment #16 that may not make sense.
In any case I think we can just ignore the error, and if there's some user-visible problem underlying this we'll hopefully find out in some other, more actionable way.
Assignee | ||
Comment 19•5 years ago
|
||
Comment 20•5 years ago
|
||
Comment 21•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Description
•