Summary: | Krita Next Nightlies SAFE ASSERT Internal Errors and Crash when using Tablet | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Tyson Tan <tysontanx> |
Component: | Tablets (tablet issues are only very rarely bugs in Krita!) | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | parker.l.reed, penguinflyer2222, scottpetrovic, seitroth, tgdev001 |
Priority: | NOR | Keywords: | regression |
Version First Reported In: | nightly build (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | Appimage | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | SAFE ASSERT Internal Errors and Crash when using Tablet |
It seems to happen the first time the stylus (not mouse) is moved over the canvas, but it depends on what tool is active. If the brush tool is active for the first stylus motion(?) over the canvas, it triggers the assert. But if instead another tool (e.g. the move tool) is active, then there is no failed assert, and then you can switch to the brush tool and it's fine. Opening a second image also triggers the line 266 assert, immediately Confirming the ResourceManager safe assert, this appears to be caused by "Remember tool opacity after brush switch" (https://invent.kde.org/graphics/krita/-/merge_requests/2218). With both putting the stylus in proximity and opening a document after the first, KoResourceManager::addDerivedResourceConverter() (which contains the safe assert) is being called by KoToolManager::Private::switchTool(), KoToolManager.cpp:529. In the latter case "A derived resource converter with the same resource ID exists!" is logged before the safe assert. I can also confirm the signal compressor safe assert (two, actually) when the stylus comes in proximity with the canvas the first time with the nightly build (krita-6.0.0-prealpha-eb7151a), but not my local build of 5.3.x or 6.x for some unknown reason.
> SAFE ASSERT (krita): "!m_sanityIsStarting" in file /Users/gitlab/ws/builds/t1_Sat4Gr/0/graphics/krita/libs/global/kis_signal_compressor.cpp, line 210
> SAFE ASSERT (krita): "!m_derivedResources.contains(converter->key())" in file /Users/gitlab/ws/builds/t1_Sat4Gr/0/graphics/krita/libs/flake/KoResourceManager_p.cpp, line 266
> SAFE ASSERT (krita): "m_timer->isActive()" in file /Users/gitlab/ws/builds/t1_Sat4Gr/0/graphics/krita/libs/global/kis_signal_compressor.cpp, line 148
*** Bug 502222 has been marked as a duplicate of this bug. *** I am getting a very similar error with the SAFE_ASSERT for the m_derviedResources.contains() on the same line of KoResourceManager.cpp. I am running a script via Scripter on Windows 11 newDocument = Krita.instance().createDocument(1280, 1024, "Document name", "RGBA", "U8", "", 300.0) Krita.instance().activeWindow().addView(newDocument) # shows it in the application # this line is throwing the safe assert Fixed by https://invent.kde.org/graphics/krita/-/commit/647fcbf1. I get no safe asserts on the 5.3.0-prealpha-647fcbf1 nightly build. Thank you, I've confirmed that too! :) *** Bug 502471 has been marked as a duplicate of this bug. *** |
Created attachment 179843 [details] SAFE ASSERT Internal Errors and Crash when using Tablet Since March 27, 2025, the Krita Next Nightlies give SAFE ASSERT Internal Errors and crash when the stylus is put on a graphics tablet. Krita has encountered an internal error: SAFE ASSERT (krita): "!m_derivedResources.contains(converter->key())" in file /builds/graphics/krita/fibs/flake/ KoResourceManager_p.cpp, line 266 Krita has encountered an internal error: SAFE ASSERT (krita): "!m_sanitylsStarting" in file /builds/graphics/ krita/libs/global/kis_signal_compressor.cpp, line 210 Tested under Linux with krita-5.3.0-prealpha-6f80cd8412-x86_64.AppImage (2025-03-29, and the one before it)