Crash in [@ mozilla::ipc::MessageChannel::Send | mozilla::dom::PContentChild::SendInitializeFamily]
Categories
(Core :: Layout: Text and Fonts, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr60 | --- | unaffected |
firefox-esr68 | --- | disabled |
firefox68 | --- | disabled |
firefox69 | --- | disabled |
firefox70 | --- | fixed |
People
(Reporter: over68, Assigned: jfkthame)
References
Details
(Keywords: crash, regression)
Crash Data
Attachments
(1 file)
Steps to reproduce:
- Enable "Restore previous session" in about:preferences
- Set gfx.e10s.font-list.shared to true.
- Open https://bugzilla.mozilla.org/query.cgi?format=advanced.
- Restart Firefox.
Actual results:
The tab crashed.
Crash report: bp-a84af803-fe2a-42d7-8e73-159560190715
Top 10 frames of crashing thread:
0 xul.dll mozilla::ipc::MessageChannel::Send ipc/glue/MessageChannel.cpp
1 xul.dll mozilla::dom::PContentChild::SendInitializeFamily ipc/ipdl/PContentChild.cpp:5109
2 xul.dll gfxPlatformFontList::InitializeFamily gfx/thebes/gfxPlatformFontList.cpp:1048
3 xul.dll mozilla::fontlist::FontList::SearchForLocalFace gfx/thebes/SharedFontList.cpp:795
4 xul.dll gfxPlatformFontList::LookupInSharedFaceNameList gfx/thebes/gfxPlatformFontList.cpp:621
5 xul.dll class gfxFontEntry* gfxDWriteFontList::LookupLocalFont gfx/thebes/gfxDWriteFontList.cpp:876
6 xul.dll gfxPlatform::LookupLocalFont gfx/thebes/gfxPlatform.cpp:1849
7 xul.dll gfxUserFontEntry::DoLoadNextSrc gfx/thebes/gfxUserFontSet.cpp:513
8 xul.dll gfxFontGroup::GetFirstValidFont gfx/thebes/gfxTextRun.cpp:2069
9 xul.dll nsFontMetrics::XHeight gfx/src/nsFontMetrics.cpp:163
Comment 1•5 years ago
|
||
While there are several hundred crashes in this signature, it looks like only 3 total installations so far.
Assignee | ||
Comment 2•5 years ago
|
||
OK, I was able to reproduce this; it occurs (though not 100% reliably) when stylo tries to resolve a src:local @font-face early in the session, before the post-startup font loader has done its work. In this case we may need to explicitly initialize font families in order to examine their face names, but we're not allowed to do the InitializeFamily IPC message from the stylo thread.
I think we can fix this by just posting a runnable to the main thread instead when this happens. This may mean that a given src:local lookup fails temporarily, until the main thread has had a chance to process the runnable, but that'll be a non-critical and transient issue.
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 3•5 years ago
|
||
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fe03bafcc156 Don't try to send InitializeFamily IPC message from a stylo thread, delegate it to a main-thread runnable instead. r=jwatt
Comment 5•5 years ago
|
||
bugherder |
Updated•5 years ago
|
Updated•5 years ago
|
Description
•