Closed Bug 1391458 Opened 7 years ago Closed 7 years ago

Crash in mozilla::ipc::MessageChannel::CxxStackFrame::CxxStackFrame | mozilla::ipc::MessageChannel::Send | mozilla::layers::PWebRenderBridgeChild::SendDPBegin

Categories

(Core :: Graphics: WebRender, defect)

Unspecified
Windows 10
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox-esr52 --- unaffected
firefox55 --- unaffected
firefox56 --- unaffected
firefox57 --- fixed

People

(Reporter: mccr8, Assigned: vliu)

References

(Blocks 2 open bugs)

Details

(Keywords: crash, Whiteboard: [gfx-noted])

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is 
report bp-d4d7b438-403b-4490-a09e-bab600170817.
=============================================================

This looks like a crash in a channel assertion, which means the channel is being used on the wrong thread, or it is uninitialized, or was corrupted somehow.
Hi kats,

As [1] in bug 1392621 Comment 1 said, there are few similar bugs hit the "not on worker thread" release crash in CxxStackFrame::CxxStackFrame. In current accumulation, SendDPBegin got the 112 crash rate which is the highest till now. To see more info, do you think we should add the below code in [2] to make sure IPC channel is exist before SendDPBegin() is called?


  if (!IPCOpen()) {
    gfxCriticalNote << "IPC Channel is already torn down unexpectedly\n";
    return false;
  }


[2]: https://searchfox.org/mozilla-central/rev/18c16ebf818abb86805ce08a6e537e4cd826f044/gfx/layers/wr/WebRenderBridgeChild.cpp#76
Flags: needinfo?(bugmail)
I think it would be better to put that code at the start of BeginTransaction [1] because then the false return value is actually checked in the paint code. The DPBegin return value doesn't propagate all the way out of the LayerManager, both WebRenderLayerManager::EndTransaction and WebRenderLayerManager::EndTransactionWithoutLayer ignore that return value.

[1] https://searchfox.org/mozilla-central/rev/18c16ebf818abb86805ce08a6e537e4cd826f044/gfx/layers/wr/WebRenderLayerManager.cpp#160
Flags: needinfo?(bugmail)
Assignee: nobody → vliu
Depends on: 1388995
Whiteboard: [gfx-noted]
Blocks: 1388995
No longer depends on: 1388995
Hi kats,

As your suggestion in Comment 2, the patch was attached. Could you please have a review? Thanks.
Attachment #8902593 - Flags: review?(bugmail)
Attachment #8902593 - Flags: review?(bugmail) → review+
try result: https://treeherder.mozilla.org/#/jobs?repo=try&revision=a4d3934d5b1eba2edd0ebf794afca98716510edb
Pushed by vliu@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/378e69fe5a92
Make sure WrBridge is ready in the head of BeginTransaction. r=kats
https://hg.mozilla.org/mozilla-central/rev/378e69fe5a92
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: