Note: There are a few cases of duplicates in user autocompletion which are being worked on.

Crash in mozilla::ipc::MessageChannel::WillDestroyCurrentMessageLoop

Assigned to



3 months ago
3 months ago


(Reporter: marcia, Assigned: dvander)


({crash, leave-open, topcrash})

55 Branch
Windows 7
crash, leave-open, topcrash

Firefox Tracking Flags

(firefox55 affected)


(crash signature)


(2 attachments)



3 months ago
This bug was filed from the Socorro interface and is 
report bp-bce93404-ea89-4166-a0b5-53f842170413.

Seen while looking at nightly crash data - crashes started using 20170413030227 build:

Possible regression window based on Build ID:

Bug 1349699? ni on billm
Flags: needinfo?(wmccloskey)
Any chance you could look at this David? It's an assertion where the compositor thread shuts down before the PCompositorBridgeParent protocol has closed (I had to click on the raw JSON file to find the ProtocolName field). I guess this user doesn't have a GPU process.
Component: IPC → Graphics
Flags: needinfo?(wmccloskey) → needinfo?(dvander)

Comment 2

3 months ago
This is now the top browser crash on Nightly.
Keywords: topcrash
Created attachment 8859373 [details] [diff] [review]
make DEBUG-only

For now let's make this DEBUG-only. There's no reason to crash everybody.
Assignee: nobody → wmccloskey
Attachment #8859373 - Flags: review?(continuation)


3 months ago
Keywords: leave-open
Attachment #8859373 - Flags: review?(continuation) → review+

Comment 4

3 months ago
Pushed by
Make MessageChannel::WillDestroyCurrentMessageLoop assertion DEBUG-only (r=mccr8)


3 months ago
Blocks: 1356448

Comment 6

3 months ago
Created attachment 8859919 [details] [diff] [review]

Milan managed to accidentally reproduce this on try by enabling the GPU process in more places, and I think this is the likely cause. VideoBridgeParent and VsyncBridgeParent both run on the compositor thread, but don't retain a reference to CompositorThreadHolder. As long the holder is alive, the compositor thread will spin an event loop to wait for other threads to receive ActorDestroys.

The fix is to just hold a ref in both of these actors.
Assignee: wmccloskey → dvander
Flags: needinfo?(dvander)
Attachment #8859919 - Flags: review?(matt.woodrow)
If this is the problem, why would the protocol be reported as PCompositorBridgeParent?

Comment 8

3 months ago
Probably we're seeing two different bugs, then. By xpcom-shutdown time, it's too late to report crash metadata in the GPU process, so I had to guess the protocol by looking at the stack.

This does appear to fix the issue Milan saw on try.
Attachment #8859919 - Flags: review?(matt.woodrow) → review+

Comment 9

3 months ago
Pushed by
Fix a race condition between VideoBridge and Compositor thread shutdown. (bug 1356365, r=mattwoodrow)

Comment 11

3 months ago
No crashes after 20170418030220 so far, which doesn't really line up to when this landed. But the crash rate dropped quite a bit after 4/21.
I disabled the assertion on the 18th, so we need to re-enable it to see what was fixed.
You need to log in before you can comment on or make changes to this bug.