Crash when resizing the window during LaTeX threaded rendering. #15

Open
opened 2024-10-29 18:55:49 +00:00 by Ad5001 · 0 comments
Owner

When enabling LaTeX and the async rendering experimental option, trying to open a file which requires several render, resizing the window causes Qt to segfault.

This is due to a racing condition that happens between the newly queued rendering invalidating the previous one, and the state stored and restored after the latex render thread completes. Some more digging is required, as there already is some mitigation code to prevent both drawing on invalidated context and GC wrongfully destroying interal Qt objects.

When enabling LaTeX and the async rendering experimental option, trying to open a file which requires several render, resizing the window causes Qt to segfault. This is due to a racing condition that happens between the newly queued rendering invalidating the previous one, and the state stored and restored after the latex render thread completes. Some more digging is required, as there already is some mitigation code to prevent both [drawing on invalidated context](https://git.ad5001.eu/Ad5001/LogarithmPlotter/src/branch/master/common/src/module/canvas.mjs#L528) and [GC wrongfully destroying interal Qt objects](https://git.ad5001.eu/Ad5001/LogarithmPlotter/src/branch/master/common/src/module/latex.mjs#L146).
Ad5001 added the
bug
Platform: Linux
labels 2024-10-29 18:55:49 +00:00
Ad5001 self-assigned this 2024-10-29 18:55:50 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Ad5001/LogarithmPlotter#15
No description provided.