Closed Bug 1435200 Opened 2 years ago Closed 2 years ago

Crash in nsObserverService::AddObserver


(Core :: Graphics: WebRender, defect)

Windows 7
Not set



Tracking Status
firefox-esr52 --- unaffected
firefox58 --- unaffected
firefox59 --- unaffected
firefox60 --- fixed


(Reporter: calixte, Assigned: sotaro)


(Blocks 1 open bug)


(Keywords: crash, regression)

Crash Data


(1 file)

This bug was filed from the Socorro interface and is
report bp-b4454095-b19e-414b-a897-408360180202.

Top 10 frames of crashing thread:

0 xul.dll nsObserverService::AddObserver xpcom/ds/nsObserverService.cpp:210
1 xul.dll mozilla::widget::GfxInfoBase::Init widget/GfxInfoBase.cpp:600
2 xul.dll mozilla::widget::GfxInfo::Init widget/windows/GfxInfo.cpp:323
3 xul.dll mozilla::widget::GfxInfoConstructor widget/windows/nsWidgetFactory.cpp:152
4 xul.dll nsComponentManagerImpl::CreateInstanceByContractID xpcom/components/nsComponentManager.cpp:1086
5 xul.dll nsComponentManagerImpl::GetServiceByContractID xpcom/components/nsComponentManager.cpp:1446
6 xul.dll nsCOMPtr_base::assign_from_gs_contractid xpcom/base/nsCOMPtr.cpp:95
7 xul.dll mozilla::gl::GLLibraryEGL::EnsureInitialized gfx/gl/GLLibraryEGL.cpp:494
8 xul.dll mozilla::gl::GLContextEGL::CreateEGLPBufferOffscreenContext gfx/gl/GLContextProviderEGL.cpp:914
9 xul.dll mozilla::gl::GLContextProviderEGL::CreateHeadless gfx/gl/GLContextProviderEGL.cpp:958


There are 15 crashes (from are 4 installations) in nightly 60 with buildid 20180201220225. In analyzing the backtrace, the regression may have been introduced by patch [1] to fix bug 1419293.

Flags: needinfo?(sotaro.ikeda.g)
Thanks, I am just looking into the bug. It is actually triggered by Bug 1434524.
Flags: needinfo?(sotaro.ikeda.g)
Assignee: nobody → sotaro.ikeda.g
Blocks: 1434524
GLLibraryEGL::EnsureInitialized() called do_GetService(";1"). When calling do_GetService(";1") was first time in the GPU process, GfxInfoBase::Init() is called. The GfxInfoBase::Init() should be called in main thread. But in this case, GfxInfoBase::Init() was called on render thread.

Until Bug 1434524 fix, GfxInfoBase::Init() was always called on main thread by services::GetGfxInfo() call in D3D11Checks::DoesNV12Work(). With Bug 1434524, services::GetGfxInfo() is not called when D3DDevice does not support NV12.
Attachment #8947757 - Flags: review?(nical.bugzilla)
No longer blocks: 1419293
Comment on attachment 8947757 [details] [diff] [review]
patch - Ensure to initialize GfxInfo on main thread

Review of attachment 8947757 [details] [diff] [review]:

Good catch.
Attachment #8947757 - Flags: review?(nical.bugzilla) → review+
Pushed by
Ensure to initialize GfxInfo on main thread r=nical
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
Emilio put a fix on bug 1435618
Flags: needinfo?(sotaro.ikeda.g)
(In reply to Kartikaya Gupta ( from comment #9)
> Emilio put a fix on bug 1435618

Sorry for causing it.
You need to log in before you can comment on or make changes to this bug.