Deadlock on gfxPlatformFontList lock
Categories
(Core :: Graphics: Text, defect)
Tracking
()
People
(Reporter: alwu, Unassigned)
References
Details
Attachments
(1 file)
|
18.42 KB,
text/plain
|
Details |
Following message happened while I was developing bug 1771011. This was an intermittent error message, so I don't have reproducible steps.
###!!! Deadlock may happen NOW!
: 'Error', file C:/mozilla-source/mozilla-unified/xpcom/threads/BlockingResourceBase.cpp:245
[Child 37708, Main Thread] WARNING: Re-entering RecursiveMutex after acquiring other resources.: file C:/mozilla-source/mozilla-unified/xpcom/threads/BlockingResourceBase.cpp:477
###!!! ERROR: Potential deadlock detected:
=== Cyclical dependency starts at
--- RecursiveMutex : gfxPlatformFontList lock (currently acquired)
calling context
[stack trace unavailable]
--- Next dependency:
--- Mutex : gfxFontFamily lock (currently acquired)
calling context
[stack trace unavailable]
=== Cycle completed at
--- RecursiveMutex : gfxPlatformFontList lock (currently acquired)
calling context
[stack trace unavailable]
Comment 1•4 years ago
|
||
Thanks for filing this, we'll need to try and figure out what's happening. (Those [stack trace unavailable] messages are frustrating, though!)
(The most recent change I can think of that might be relevant would be the gfxCharacterMap change in bug 1778711, but I'm not certain yet whether that's what we are encountering here.)
Updated•4 years ago
|
Updated•4 years ago
|
Comment 2•4 years ago
|
||
Maybe a call stack similar to:
gfxFontFamily::FindFontForChar -- https://searchfox.org/mozilla-central/rev/9ad01b5eae48436e3bdb8df01be3973e683d5242/gfx/thebes/gfxFontEntry.cpp#1805
gfxFontFamily::TestCharacterMap -- https://searchfox.org/mozilla-central/rev/9ad01b5eae48436e3bdb8df01be3973e683d5242/gfx/thebes/gfxFontEntry.h#974
gfxFontFamily::ReadAllCMAPs -- https://searchfox.org/mozilla-central/rev/9ad01b5eae48436e3bdb8df01be3973e683d5242/gfx/thebes/gfxFontEntry.cpp#2211
gfxDWriteFontEntry::ReadCMAP -- https://searchfox.org/mozilla-central/rev/9ad01b5eae48436e3bdb8df01be3973e683d5242/gfx/thebes/gfxDWriteFontList.cpp#558
Comment 3•4 years ago
|
||
Any new cases would be whenever a strong reference to gfxCharacterMap is cleared.
Comment 4•4 years ago
|
||
Alastor, could you check whether gfx.e10s.font-list.shared is enabled in the profile you're using? (It's true by default, but if you've toggled it that would affect what code paths are possible here.) Thanks!
Comment 5•4 years ago
|
||
Triage - I am setting severity to S3, given the first comment says it was encountered while developing new code and only infrequently, I am assuming this is not critically urgent.
| Reporter | ||
Comment 6•4 years ago
|
||
(In reply to Jonathan Kew (:jfkthame) from comment #4)
Alastor, could you check whether
gfx.e10s.font-list.sharedis enabled in the profile you're using? (It's true by default, but if you've toggled it that would affect what code paths are possible here.) Thanks!
Yes, I didn't change it so that pref is enabled on my profile.
Comment 7•3 years ago
|
||
I ~100% repro on my macOS VM. STRs are basically: build a debug ; mach run
Comment 8•3 years ago
|
||
Johnathan, it seems I can repro that very easily, this is the default profile after a mach build && mach run, so the pref you mentionned in comment 4 should be at its default value. What kind of debugging can I perform to help fix this ?
Comment 9•3 years ago
|
||
Comment 10•2 years ago
|
||
I can also repro using :gerard-majax's STR in comment 7 on my M1 Mac.
Comment 11•2 years ago
|
||
I think the patch just landing in bug 1824214 may resolve this.
Comment 12•2 years ago
|
||
Erich, Gerard: I believe this should now be fixed (I'm not seeing the warnings in my build, at least) -- can you confirm this? Thanks.
Comment 13•2 years ago
|
||
Unfortunately, I dont think i can remember seeing it. Which might in fact confirm, but given the issue was unclear and I've upgraded a lot of things on this macOS setup, who knows?
Comment 14•2 years ago
|
||
I cannot reproduce this anymore—same machine, same STR, later revision of Firefox (current central revision).
Comment 15•2 years ago
|
||
Thanks for checking. I'm pretty sure it was bug 1824214 that resolved this; closing as a dupe of that.
Description
•