Closed Bug 1399652 Opened 2 years ago Closed 2 years ago

Crash in mozilla::ipc::MessageChannel::Send | mozilla::layers::PWebRenderBridgeChild::SendRemovePipelineIdForCompositable (due to MOZ_RELEASE_ASSERT(mWorkerThread == GetCurrentVirtualThread())

Categories

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

x86_64
Windows 10
defect
Not set
critical

Tracking

()

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

People

(Reporter: mats, Assigned: sotaro)

References

(Blocks 1 open bug)

Details

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

Crash Data

Attachments

(1 file, 1 obsolete file)

This bug was filed from the Socorro interface and is 
report bp-65153d22-5325-4caf-ab44-325300170912.
=============================================================

This looks like a recent crash regression - the first reported crash is from
build 20170903100443 and there are 37 crashes so far, all on Windows 10.

MOZ_CRASH Reason: 	MOZ_RELEASE_ASSERT(mWorkerThread == GetCurrentVirtualThread()) (not on worker thread!)

All URLs (other than about:newtab and "") looks like they have video content.

Stack:
mozilla::ipc::MessageChannel::Send(IPC::Message*)
mozilla::layers::PWebRenderBridgeChild::SendRemovePipelineIdForCompositable(mozilla::wr::PipelineId const&)
mozilla::layers::WebRenderImageData::~WebRenderImageData()
mozilla::layers::WebRenderImageData::`scalar deleting destructor'(unsigned int)
XPCLocaleObserver::Release()
nsBaseHashtableET<nsUint32HashKey, RefPtr<mozilla::layers::WebRenderUserData> >::`scalar deleting destructor'(unsigned int)
PLDHashTable::~PLDHashTable()
nsRefPtrHashtable<nsUint32HashKey, mozilla::layers::WebRenderUserData>::`scalar deleting destructor'(unsigned int)
DeleteValue<nsRefPtrHashtable<nsUint32HashKey, mozilla::layers::WebRenderUserData> >
mozilla::FrameProperties::DeleteAll(nsIFrame const*)
nsFrame::DestroyFrom(nsIFrame*)
nsFrameList::DestroyFramesFrom(nsIFrame*)
nsContainerFrame::DestroyAbsoluteFrames(nsIFrame*)
nsBlockFrame::DestroyFrom(nsIFrame*)
nsFrameList::DestroyFramesFrom(nsIFrame*)
nsContainerFrame::DestroyAbsoluteFrames(nsIFrame*)
nsBlockFrame::DestroyFrom(nsIFrame*)
nsContainerFrame::DestroyFrom(nsIFrame*)
nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*, nsFrameList*)
nsBlockFrame::DestroyFrom(nsIFrame*)
nsLineBox::DeleteLineList(nsPresContext*, nsLineList&, nsIFrame*, nsFrameList*)
nsBlockFrame::DestroyFrom(nsIFrame*)
nsContainerFrame::DestroyFrom(nsIFrame*)
nsContainerFrame::DestroyFrom(nsIFrame*)
nsContainerFrame::DestroyFrom(nsIFrame*)
nsCSSFrameConstructor::WillDestroyFrameTree()
mozilla::PresShell::Destroy()
nsDocumentViewer::DestroyPresShell()
nsDocumentViewer::Hide()
nsDocShell::SetVisibility(bool)
nsFrameLoader::Hide()
nsHideViewer::Run()
nsContentUtils::RemoveScriptBlocker()
nsDocumentViewer::Destroy()
nsDocumentViewer::Show()
nsPresContext::EnsureVisible()
mozilla::PresShell::UnsuppressAndInvalidate()
mozilla::PresShell::UnsuppressPainting()
mozilla::PresShell::sPaintSuppressionCallback(nsITimer*, void*)
nsTimerImpl::Fire(int)
nsTimerEvent::Run()
mozilla::SchedulerGroup::Runnable::Run()
nsThread::ProcessNextEvent(bool, bool*)
mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*)
mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)
MessageLoop::RunHandler()
MessageLoop::Run()
nsBaseAppShell::Run()
nsAppShell::Run()
XRE_RunAppShell()
mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*)
MessageLoop::RunHandler()
MessageLoop::Run()
XRE_InitChildProcess(int, char** const, XREChildData const*)
content_process_main(mozilla::Bootstrap*, int, char** const)
NS_internal_main(int, char**, char**)
wmain
__scrt_common_main_seh
BaseThreadInitThunk
RtlUserThreadStart
(BTW, I did see bug 1373587 about the same assertion, but this stack looks
like a separate issue to me.)
Blocks: wr-stability
Component: Graphics: Layers → Graphics: WebRender
webrender won't ship in 57, not tracking
The crash report showed that all these were from Windows 10 on amd64. The highest volume of build id was located in 20170909100226. All crash reports contained "Receive IPC close with reason=AbnormalShutdown", indicating that ipc channel shutdown unexpectedly before an SendRemovePipelineIdForCompositable was called.
Whiteboard: [gfx-noted]
Assignee: nobody → sotaro.ikeda.g
Attachment #8910145 - Flags: review?(bugmail)
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/45b6bcd44222
Add more IPCOpen() checks to WebRenderBridgeChild r=kats
https://hg.mozilla.org/mozilla-central/rev/45b6bcd44222
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.