This must be related to the old per-process platform font list, which we don't use these days except that Safe Mode still falls back to it. We've added a bunch of locking to various font objects in order to support offscreen-canvas workers doing text rendering, and apparently the old font-list code is mismanaging something around that. At this point we've had the cross-process shared font list long enough that we could probably leave it enabled in Safe Mode as well, which would avoid this. Initially the concern was that it was new/untested/perhaps fragile, so Safe Mode used the old, stable implementation, but by now it's probably the old version that is less trustworthy as it's no longer being extensively tested and maintained. Removing the check for Safe Mode [here](https://searchfox.org/firefox-main/rev/a5316cedc669bcec09efae23521e0af6b9d3d257/gfx/thebes/gfxPlatformFontList.cpp#594) would probably fix this.
Bug 1991871 Comment 1 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
This must be related to the old per-process platform font list, which we don't use these days except that Safe Mode still falls back to it. We've added a bunch of locking to various font objects in order to support offscreen-canvas workers doing text rendering, and apparently the old font-list code is mismanaging something around that. At this point we've had the cross-process shared font list long enough that we could probably leave it enabled in Safe Mode as well, which would avoid this. Initially the concern was that it was new/untested/perhaps fragile, so Safe Mode used the old, stable implementation, but by now it's probably the old version that is less trustworthy as it's no longer being extensively tested and maintained. Removing the check for Safe Mode [here](https://searchfox.org/firefox-main/rev/a5316cedc669bcec09efae23521e0af6b9d3d257/gfx/thebes/gfxPlatformFontList.cpp#670-671) would probably fix this.