Crash in mozilla::recordreplay::parent::ChildProcessInfo::SendMessage

RESOLVED FIXED in Firefox 64

Status

()

defect
--
critical
RESOLVED FIXED
9 months ago
8 months ago

People

(Reporter: marcia, Assigned: bhackett)

Tracking

({crash, regression})

Trunk
mozilla64
Unspecified
macOS
Points:
---

Firefox Tracking Flags

(firefox-esr60 unaffected, firefox62 unaffected, firefox63 disabled, firefox64 fixed)

Details

(crash signature)

Attachments

(1 attachment)

This bug was filed from the Socorro interface and is
report bp-566238f9-a449-428a-a1c5-4a25a0180901.
=============================================================

2 crashes, first started when nightly was still in 63 - 20180901100051. 

One comment and one URL - https://firefox-dev.tools/debugger-examples/examples/todomvc/ - Replaying WebReplay

Top 10 frames of crashing thread:

0 XUL mozilla::recordreplay::parent::ChildProcessInfo::SendMessage toolkit/recordreplay/ipc/ChildProcess.cpp:276
1 XUL mozilla::recordreplay::parent::ChildProcessInfo::WaitUntil toolkit/recordreplay/ipc/ChildProcess.cpp:665
2 XUL mozilla::recordreplay::parent::ChildProcessInfo::Recover toolkit/recordreplay/ipc/ChildProcess.cpp:378
3 XUL mozilla::recordreplay::parent::ChildProcessInfo::AttemptRestart toolkit/recordreplay/ipc/ChildProcess.cpp:588
4 XUL mozilla::recordreplay::parent::ChildProcessInfo::MaybeProcessPendingMessage toolkit/recordreplay/ipc/ChildProcess.cpp:628
5 XUL mozilla::recordreplay::parent::ChildProcessInfo::WaitUntil toolkit/recordreplay/ipc/ChildProcess.cpp:649
6 XUL mozilla::recordreplay::parent::ChildRoleActive::OnIncomingMessage toolkit/recordreplay/ipc/ParentInternal.h:377
7 XUL mozilla::recordreplay::parent::ChildProcessInfo::OnIncomingMessage toolkit/recordreplay/ipc/ChildProcess.cpp:269
8 XUL mozilla::recordreplay::parent::ChildProcessInfo::MaybeProcessPendingMessage toolkit/recordreplay/ipc/ChildProcess.cpp:628
9 XUL mozilla::recordreplay::parent::ChildProcessInfo::MaybeProcessPendingMessageRunnable toolkit/recordreplay/ipc/ChildProcess.cpp:688

=============================================================
Only 2 crashes over the last month, marking as fix-optional for 63.
Assignee

Comment 2

8 months ago
Posted patch patchSplinter Review
This crash is happening while the middleman is using the recovery system to send messages to a child process to bring it to the same point as another child process.  The child process being updated hanged, and the middleman is trying to send a terminate message to it, but then the middleman itself crashes because it is using an API that should not be called on children that are recovering.  This patch should keep the middleman from crashing so that we can get a report on why the child hanged.
Assignee: nobody → bhackett1024
Attachment #9013129 - Flags: review?(continuation)
Record replay is Nightly only right now, so this can be set to disabled.
Comment on attachment 9013129 [details] [diff] [review]
patch

Review of attachment 9013129 [details] [diff] [review]:
-----------------------------------------------------------------

::: toolkit/recordreplay/ipc/ChildProcess.cpp
@@ +663,5 @@
>              // Sending the message will reset mLastMessageTime so we get to
>              // wait another HangSeconds before hitting the restart case below.
>              CrashReporter::AnnotateCrashReport(CrashReporter::Annotation::RecordReplayHang,
>                                                 true);
> +            SendMessageRaw(TerminateMessage());

Please add a comment here why you aren't using SendMessage, maybe also referencing this bug.
Attachment #9013129 - Flags: review?(continuation) → review+

Comment 5

8 months ago
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f880263eb078
Use the right API when terminating hanged child processes, r=mccr8.

Comment 6

8 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/f880263eb078
Status: NEW → RESOLVED
Last Resolved: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.