Bug 401326 - Krita crashes on trying to generate a cache for 130+ FullHD frames
Summary: Krita crashes on trying to generate a cache for 130+ FullHD frames
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Animation (show other bugs)
Version: 4.1.5
Platform: Other Microsoft Windows
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: regression, release_blocker
: 403905 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-11-23 12:17 UTC by Dmitry Kazakov
Modified: 2019-02-28 15:27 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Kazakov 2018-11-23 12:17:38 UTC
SUMMARY

Krita silently crashes without generating a crashlog. DebugView says nothing.


STEPS TO REPRODUCE
1. Activate openGL (on my system it crashes with angle only, on the reporter's system it crashes on normal openGL)
2. Activate cache animation to disk option (activated by default)
3. Open a file with about 150 real (non-hold) fullhd frames
4. Press Play button to start regeneration of the cache

Krita silently crashes.

ADDITIONAL NOTES:

1) Crash happens on Windows-only. On Linux it works fine with the same file.
2) Crash doesn't happen when cache-to-memory feature is selected
3) ROI and limit frame size options don't affect the crash

(the file I used for testing is not for publishing, but it seems like it is not file-specific since multiple people could reproduce it)
Comment 1 Halla Rempt 2018-11-23 12:33:21 UTC
On the black monster, I get a safe assert in KisAsyncAnimationRendererBase.cpp, line 128
Comment 2 Halla Rempt 2018-12-11 09:11:33 UTC
Git commit dbc364278417c44bd8b9c9ca7f34c5d138bea64f by Boudewijn Rempt.
Committed on 11/12/2018 at 08:41.
Pushed by rempt into branch 'krita/4.1'.

Disable the cache backend on Windows

And set on-disk hard-coded to false, on Windows

M  +4    -0    libs/image/kis_image_config.cpp
M  +6    -0    libs/ui/dialogs/kis_dlg_preferences.cc

https://commits.kde.org/krita/dbc364278417c44bd8b9c9ca7f34c5d138bea64f
Comment 3 Halla Rempt 2019-02-06 11:16:19 UTC
*** Bug 403905 has been marked as a duplicate of this bug. ***
Comment 4 Dmitry Kazakov 2019-02-28 15:27:42 UTC
Git commit 366731e1b2eea083e88ec599d98acdeac548f002 by Dmitry Kazakov.
Committed on 28/02/2019 at 15:27.
Pushed by dkazakov into branch 'master'.

Fix crash when rendering animation with a lot of frames on Windows

The problem happens because QProgressDialog::setValue() can call
QApplication::processEvents(), which causes recursive reentrancy
into the update functions, which is not nice.
BACKPORT:krita/4.1

M  +44   -3    libs/ui/dialogs/KisAsyncAnimationRenderDialogBase.cpp
M  +1    -0    libs/ui/dialogs/KisAsyncAnimationRenderDialogBase.h

https://commits.kde.org/krita/366731e1b2eea083e88ec599d98acdeac548f002