Crash in nsObserverService::AddObserver

RESOLVED FIXED in Firefox 60

Status

()

defect
--
critical
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: calixte, Assigned: sotaro)

Tracking

(Blocks 1 bug, {crash, regression})

Trunk
mozilla60
Unspecified
Windows 7
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox58 unaffected, firefox59 unaffected, firefox60 fixed)

Details

(crash signature)

Attachments

(1 attachment)

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.

[1] https://hg.mozilla.org/mozilla-central/rev?node=03d8ada6d1aa
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("@mozilla.org/gfx/info;1"). When calling do_GetService("@mozilla.org/gfx/info;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 sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/75bc8251ce39
Ensure to initialize GfxInfo on main thread r=nical
https://hg.mozilla.org/mozilla-central/rev/75bc8251ce39
Status: NEW → RESOLVED
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 (email:kats@mozilla.com) 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.