Closed Bug 1380655 Opened 7 years ago Closed 7 years ago

Crash in mozilla::layers::LayerManagerComposite::Destroy

Categories

(Core :: Graphics: Layers, defect)

Unspecified
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox-esr52 --- unaffected
firefox54 --- unaffected
firefox55 --- unaffected
firefox56 --- fixed

People

(Reporter: cbook, Assigned: milan)

References

Details

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

Crash Data

Attachments

(1 file)

This bug was filed from the Socorro interface and is 
report bp-69cf5bb7-8ed1-4684-9550-564650170712.
=============================================================

filed via crash stats - seems so far a new - low volume crash 

Crashing Thread (18)
Frame 	Module 	Signature 	Source
0 	XUL 	mozilla::layers::LayerManagerComposite::Destroy() 	gfx/layers/composite/LayerManagerComposite.cpp:174
1 	XUL 	mozilla::layers::CompositorBridgeParent::StopAndClearResources() 	gfx/layers/ipc/CompositorBridgeParent.cpp:452
2 	XUL 	mozilla::layers::CompositorBridgeParent::ActorDestroy(mozilla::ipc::IProtocol::ActorDestroyReason) 	gfx/layers/ipc/CompositorBridgeParent.cpp:652
3 	XUL 	mozilla::layers::PCompositorBridgeParent::DestroySubtree(mozilla::ipc::IProtocol::ActorDestroyReason) 	obj-firefox/ipc/ipdl/PCompositorBridgeParent.cpp:1763
4 	XUL 	mozilla::layers::PCompositorBridgeParent::OnMessageReceived(IPC::Message const&) 	obj-firefox/ipc/ipdl/PCompositorBridgeParent.cpp:525
5 	XUL 	mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) 	ipc/glue/MessageChannel.cpp:2093
6 	XUL 	mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) 	ipc/glue/MessageChannel.cpp:2019
7 	XUL 	mozilla::ipc::MessageChannel::MessageTask::Run() 	ipc/glue/MessageChannel.cpp:1921
8 	XUL 	MessageLoop::DeferOrRunPendingTask(MessageLoop::PendingTask&&) 	ipc/chromium/src/base/message_loop.cc:443
Assignee: nobody → milan
Whiteboard: [gfx-noted]
Not sure if bug 1362166 is the cause, perhaps not as this shows up earlier, but I'll attach the follow up here and take it from there.
See Also: → 1362166
Comment on attachment 8886345 [details]
Bug 1380655: Look for the timeout and terminate GPU process only when we have a separate GPU process, not also when the browser is acting as one.

https://reviewboard.mozilla.org/r/157092/#review162246

::: gfx/ipc/GPUProcessManager.cpp:636
(Diff revision 1)
>  GPUProcessManager::KillProcess()
>  {
>    if (!mProcess) {
>      return;
>    }
> -
> +  MOZ_RELEASE_ASSERT(GPUProcessManager::Get()->GetGPUChild());

I think there is a window of time where mProcess is non-null but mGPUChild is null. For example if we're launching, but haven't established an IPDL connection yet. So this might give us some false positives.
Attachment #8886345 - Flags: review?(dvander) → review+
(In reply to David Anderson [:dvander] from comment #3)



> > -
> > +  MOZ_RELEASE_ASSERT(GPUProcessManager::Get()->GetGPUChild());
> 
> I think there is a window of time where mProcess is non-null but mGPUChild
> is null. For example if we're launching, but haven't established an IPDL
> connection yet. So this might give us some false positives.

Cool; I'll make it a diagnostic assert and move it to the caller instead.
Comment on attachment 8886345 [details]
Bug 1380655: Look for the timeout and terminate GPU process only when we have a separate GPU process, not also when the browser is acting as one.

https://reviewboard.mozilla.org/r/157092/#review162544
Pushed by msreckovic@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/da8b5cbdecef
Look for the timeout and terminate GPU process only when we have a separate GPU process, not also when the browser is acting as one. r=dvander
https://hg.mozilla.org/mozilla-central/rev/da8b5cbdecef
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: