Summary: | checkGlyphsEqual assert on IS_UNSAFE_TO_BREAK inconsistency seen in crashtesting | ||
---|---|---|---|
Product: | LibreOffice | Reporter: | Caolán McNamara <caolan.mcnamara> |
Component: | graphics stack | Assignee: | خالد حسني <khaled> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aron.budea, khaled, telesto |
Priority: | medium | ||
Version: | 7.6.0.0 alpha0+ | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | target:7.6.0 target:7.5.5 | ||
Crash report or crash signature: | Regression By: | ||
Bug Depends on: | |||
Bug Blocks: | 43808, 71732 |
Description
Caolán McNamara
2023-05-29 09:35:42 UTC
I *think* I know what is going on. The code is creating a glyph subset that cut between a base character and a combining mark, this should have failed but it didn’t and it included the combing mark glyph into the subset because it have the same charPos as the base glyph (this probably couldn’t happen when this code was written, but this changed in 09c076c3f29c28497f162d3a5b7baab040725d56, indeed if I set the cluster level again the assert does not happen). Now when it chceks the layouts, the new layout does nit include the combining mark and the new glyphs are one short so it asserts. This code is pretty complex and I need a bit more time to understand it, but we have GlyphItem flags IS_CLUSTER_START and IS_IN_CLUSTER to allow detecting such situations. Khaled Hosny committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/bf8d1290a4de26f06d429148a92cbdb7a63eecf5 tdf#155542: Fix crashtesting assert It will be available in 7.6.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. outcome looks good to me Khaled Hosny committed a patch related to this issue. It has been pushed to "libreoffice-7-5": https://git.libreoffice.org/core/commit/03721a30cea9d640d15b9e6ee247c862ba080707 tdf#155542: Fix crashtesting assert It will be available in 7.5.5. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Caolán McNamara committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/d669df25d2ac950da85e9d60074d059f9ef1459a Related: tdf#155542 drop workaround for "XB Roya" issue It will be available in 7.6.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. |