Closed
Bug 1504372
Opened 6 years ago
Closed 6 years ago
Always generate minidumps for replaying child crashes
Categories
(Core Graveyard :: Web Replay, enhancement)
Core Graveyard
Web Replay
Tracking
(firefox65 fixed)
RESOLVED
FIXED
mozilla65
Tracking | Status | |
---|---|---|
firefox65 | --- | fixed |
People
(Reporter: bhackett1024, Assigned: bhackett1024)
Details
Attachments
(1 file)
6.74 KB,
patch
|
mccr8
:
review+
|
Details | Diff | Splinter Review |
There have been cases lately (observed by several people) of minidumps not being generated on record/replay tab crashes. While it's hard to know exactly what's going on here, there are several ways in which tabs can crash without producing minidumps. The attached patch improves this situation by keeping track of whether child processes have generated a minidump; if a replaying process crashes or hangs without generating a minidump, the middleman will crash and produce its own minidump. We don't do anything comparable for recording processes, as they use the normal crash reporter mechanisms for generating their minidumps. This could be improved if missing crash reports remain a problem, by making some modifications to the crash reporter itself. There are also a couple related improvements in this bug to (A) when hanging, generate minidumps directly instead of crashing and going through the dirty memory handler (which might be having problems of its own), and (B) watch out for child processes that had a fatal error but were unable to generate a minidump; the middleman will then crash and indicate the problem in the resulting crash report.
Attachment #9022344 -
Flags: review?(continuation)
Comment 1•6 years ago
|
||
Comment on attachment 9022344 [details] [diff] [review] patch Review of attachment 9022344 [details] [diff] [review]: ----------------------------------------------------------------- Looks straightforward enough. If you go too much further down the road of splitting out these crashing failure conditions, please talk to Ted or somebody in case they have ideas. ::: toolkit/recordreplay/ipc/ChildIPC.cpp @@ +108,5 @@ > if (IsRecording()) { > PrintSpew("Terminate message received, exiting...\n"); > _exit(0); > } else { > + ReportFatalError(Nothing(), "Hanged replaying process"); nit while you are here: "Hung" instead of "Hanged". ::: toolkit/recordreplay/ipc/ParentInternal.h @@ +275,5 @@ > bool mPauseNeeded; > > + // Flags for whether we have received messages from the child indicating it > + // is crashing. > + bool mHasBeginFatalError; Should this be "Begun" instead of "Begin"? (I know the message is "begin" but it makes more sense in isolation as "begun".)
Attachment #9022344 -
Flags: review?(continuation) → review+
Pushed by bhackett@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/b29555ff89f8 Always generate minidumps for replaying child crashes, r=mccr8.
Comment 3•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/b29555ff89f8
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox65:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla65
Updated•4 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•