RESOLVED FIXED290231
REGRESSION(291808@main): [macOS Debug]: ASSERTION FAILED: !index in CSSFontSelector::fallbackFontAt on html5lib/generated/run-entities01-data.html (290012)
https://bugs.webkit.org/show_bug.cgi?id=290231
Summary REGRESSION(291808@main): [macOS Debug]: ASSERTION FAILED: !index in CSSFontSe...
Vitor Roriz
Reported 2025-03-21 18:30:20 PDT
Settings control how we resolve generic font-family names. This bug happens because we were setting setFontFallbackPrefersPictographs(true) from another test, on the same process, before running run-entities01-data.html. This made the cached FontCascadeFont object to have its m_lastRealizedFallbackIndex expanded beyound effectiveFamilyCount(), making fontSelectorFallbackIndex turning 1. When running run-entities01-data.html, m_lastRealizedFallbackIndex is still retaining that value. However, fontSelector->fallbackFontCount() that comes from Settings is now 0 and we won't pass the check `fontSelectorFallbackIndex == fontSelector->fallbackFontCount()`. This lead us to a inconsistent state in which we call fallbackFontAt for resolving the pictographFontFamily, although we are stating by the index != 0 that we already did. We can fix this issue by considering the generic font families configuration from settings for building FontCascadeCache key. That way, we won't have false positive hits when settings differ.
Attachments
Vitor Roriz
Comment 1 2025-03-21 18:30:34 PDT
Vitor Roriz
Comment 2 2025-03-21 18:43:21 PDT
Alexey Proskuryakov
Comment 3 2025-03-23 17:30:32 PDT
*** Bug 290012 has been marked as a duplicate of this bug. ***
Alexey Proskuryakov
Comment 4 2025-03-23 17:30:42 PDT
*** Bug 290230 has been marked as a duplicate of this bug. ***
EWS
Comment 5 2025-03-27 09:40:54 PDT
Committed 292764@main (0d680136cb51): <https://commits.webkit.org/292764@main> Reviewed commits have been landed. Closing PR #42857 and removing active labels.
EWS
Comment 6 2025-04-09 09:49:57 PDT
Test gardening commit 289651.418@safari-7621-branch (8fdeff9ee1d6): <https://commits.webkit.org/289651.418@safari-7621-branch> Reviewed commits have been landed. Closing PR #2979 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.