Closed Bug 1293580 Opened 4 years ago Closed 1 year ago

Crash in IPC::ParamTraits<mozilla::ipc::Endpoint<T>::Write

Categories

(Core :: Graphics: Layers, defect, critical)

Unspecified
macOS
defect
Not set
critical

Tracking

()

RESOLVED WONTFIX
mozilla51
Tracking Status
firefox51 --- fixed

People

(Reporter: ting, Assigned: dvander)

References

Details

(Keywords: crash)

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is 
report bp-abce101a-ad9b-4dde-b0be-cfbf92160807.
=============================================================

#7 of 0807 Nightly on Mac, 1 crash from 1 installation.
Flags: needinfo?(dvander)
Assignee: nobody → dvander
Status: NEW → ASSIGNED
Flags: needinfo?(dvander)
The crash reports have:

  |[0][GFX1-]: Could not create content compositor bridge: 0x80610001

Which would indicate that GPUProcessManager::CreateContentVRManager failed to create endpoints, and hit NS_ERROR_TRANSPORT_INIT in CreateTransport().

Most likely case is running out of fds, which is a known problem on mac, but I'd like to confirm this with some extra crash report annotations.

The reason this wasn't crashing before is that the old way of bridging in IPDL did not send messages when CreateTransport failed. Now, callers are responsible for checking whether CreateTransport fails, and ContentParent never did that.

So before bug 1287597, we were just silently failing to create VRManager endpoints.

I'm not sure what the best fix is yet, but we could certainly revert back to the old behavior.
Attachment #8783254 - Flags: review?(wmccloskey)
Comment on attachment 8783254 [details] [diff] [review]
bug1293580-analysis.patch

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

::: ipc/glue/ProtocolUtils.cpp
@@ +360,5 @@
> +  nsCString buffer;
> +  buffer.AssignASCII(buf);
> +  CrashReporter::AnnotateCrashReport(
> +    nsCString(tag),
> +    buffer);

nsPrintfCString

::: ipc/glue/Transport_posix.cpp
@@ +45,3 @@
>    fd2 = dup(fd2);
> +  if (fd2 < 0) {
> +    AnnotateCrashReportWithErrno("IpcCreateTransportDupErrno", errno);

These could be moved down to the test below.
Attachment #8783254 - Flags: review?(wmccloskey) → review+
Pushed by danderson@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/bd74dc52fd98
Add crash-report instrumentation to diagnose bug 1293580. r=billm
https://hg.mozilla.org/mozilla-central/rev/bd74dc52fd98
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Closing because no crashes reported for 12 weeks.
Status: REOPENED → RESOLVED
Closed: 4 years ago1 year ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.