nglayout.debug.widget_update_flashing pref cache is not thread safe

RESOLVED FIXED in mozilla20

Status

()

defect
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: romaxa, Assigned: romaxa)

Tracking

unspecified
mozilla20
x86_64
Linux
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
Assertion failure: _mOwningThread.GetThread() == PR_GetCurrentThread() (ValueObserver not thread-safe), at modules/libpref/src/Preferences.cpp:131

I have browser with OMTC enabled and BasicLayerManager::FlashWidgetUpdateArea first time called from Compositor Thread (create observer for nglayout.debug.widget_update_flashing)

and when gecko is shutting down, it removes all observers from GeckoThread. which cause assertion above.
(Assignee)

Comment 1

6 years ago
Move pref observer initialization to gfxPlatform::Init which is guaranteed to be called in Gecko thread.
Assignee: nobody → romaxa
Status: NEW → ASSIGNED
Attachment #692765 - Flags: review?(matt.woodrow)
Attachment #692765 - Flags: review?(matt.woodrow) → review+
(Assignee)

Updated

6 years ago
Blocks: 736219
https://hg.mozilla.org/mozilla-central/rev/c3722e35a871
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
Depends on: 888289
You need to log in before you can comment on or make changes to this bug.