Closed Bug 1437886 Opened 6 years ago Closed 6 years ago

Crash in mozilla::wr::RenderThread::RegisterExternalImage

Categories

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

defect

Tracking

()

VERIFIED FIXED
mozilla60
Tracking Status
firefox-esr52 --- unaffected
firefox58 --- unaffected
firefox59 --- unaffected
firefox60 --- fixed

People

(Reporter: calixte, Assigned: aosmond)

References

Details

(Keywords: crash, regression)

Crash Data

Attachments

(1 file, 1 obsolete file)

This bug was filed from the Socorro interface and is
report bp-bda472fd-03c5-4f49-8507-d89a80180213.
=============================================================

Top 10 frames of crashing thread:

0 libc.so libc.so@0x47f4e 
1 libxul.so mozilla::wr::RenderThread::RegisterExternalImage xpcom/threads/Mutex.h:65
2 libxul.so mozilla::detail::RunnableFunction<>::Run gfx/layers/ipc/SharedSurfacesParent.cpp:125
3 libxul.so nsTHashtable<nsBaseHashtableET<nsUint64HashKey, RefPtr<mozilla::gfx::SourceSurfaceSharedDataWrapper> > >::s_InitEntry xpcom/ds/nsTHashtable.h:474
4 libxul.so MessageLoop::RunTask ipc/chromium/src/base/message_loop.cc:452
5 libxul.so MessageLoop::DeferOrRunPendingTask ipc/chromium/src/base/message_loop.cc:460
6 libxul.so MessageLoop::DoWork ipc/chromium/src/base/message_loop.cc:535
7 libxul.so base::MessagePumpDefault::Run ipc/chromium/src/base/message_pump_default.cc:36
8 libxul.so base::MessagePumpDefault::MessagePumpDefault ipc/chromium/src/base/message_pump_default.cc
9 libxul.so std::__ndk1::__vector_base<MessageLoop::PendingTask, std::__ndk1::allocator<MessageLoop::PendingTask> >::__destruct_at_end xpcom/base/nsCOMPtr.h:313

=============================================================

There 33 crashes from 8 installations in nightly 60 starting with buildid 20180213100129.
It could be a consequence of patch for bug 1432375.
:aosmond, could you investigate please ?
Flags: needinfo?(aosmond)
Crash Signature: [@ mozilla::wr::RenderThread::RegisterExternalImage] → [@ mozilla::wr::RenderThread::RegisterExternalImage] [@ RtlEnterCriticalSection | mozilla::wr::RenderThread::RegisterExternalImage] [@ mozilla::detail::MutexImpl::lock | mozilla::wr::RenderThread::RegisterExternalImage]
It looks like image.mem.shared is enabled, while WebRender is disabled. That isn't a supported combination. I need to make sure nothing went wrong with the override pref though.
It may be possible that it refused to enable WebRender, but since gfx.webrender.all was set, image.mem.shared was also set. I may need to check gfxVars::UseWebRender as well.
Assignee: nobody → aosmond
Priority: -- → P2
Flags: needinfo?(aosmond)
Attachment #8950966 - Flags: review?(nical.bugzilla)
Adding a few desktop signatures, Windows and Mac.
Crash Signature: [@ mozilla::wr::RenderThread::RegisterExternalImage] [@ RtlEnterCriticalSection | mozilla::wr::RenderThread::RegisterExternalImage] [@ mozilla::detail::MutexImpl::lock | mozilla::wr::RenderThread::RegisterExternalImage] → [@ mozilla::wr::RenderThread::RegisterExternalImage] [@ RtlEnterCriticalSection | mozilla::wr::RenderThread::RegisterExternalImage] [@ mozilla::detail::MutexImpl::lock | mozilla::wr::RenderThread::RegisterExternalImage] [@ RtlEnterCriticalSection | moz…
OS: Android → All
Hardware: Unspecified → All
Attachment #8950966 - Flags: review?(nical.bugzilla) → review+
Pushed by aosmond@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/2ffed9c081fa
Prevent shared surfaces from being used without WebRender. r=nical
Backout by aosmond@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/cff37914d625
Backed out changeset 2ffed9c081fa for test bustage on a CLOSED TREE. r=backout
Very annoying. I can't trust gfxVars will be initialized on all code paths. As an alternative, I added a gfxVars var alternative method GetXXXOrDefault, which will return the default if it isn't initialized. For the purposes of checking if WebRender is enabled or not, this is fine in imagelib, even if we get it wrong at the beginning (we lose some optimizations at worst). No evidence this happens in normal builds though.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=88c97ec9bbf45d8d31dbb7c80fe587c80702f7d4
Attachment #8950966 - Attachment is obsolete: true
Attachment #8951576 - Flags: review+
Pushed by aosmond@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/fa3b9f40e77b
Prevent shared surfaces from being used without WebRender. r=nical
https://hg.mozilla.org/mozilla-central/rev/fa3b9f40e77b
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
This is present in Nightly 20180216104033, but not present in the subsequent Nightly builds that have the fix. Thanks!
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: