SUMMARY I created a new file, drew a little with the calligraphy tool to test a graphic tablet, then quit, and opted to discard the file. Then Krita crashed while quitting. In a few tries I couldn't reproduce it. SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20241112 KDE Plasma Version: 6.2.3 KDE Frameworks Version: 6.8.0 Qt Version: 6.8.0 Kernel Version: 6.11.5-1-default (64-bit) Graphics Platform: X11 BACKTRACE Application: Krita (krita), signal: Segmentation fault [KCrash Handler] #4 KisCanvas2::globalShapeManager (this=0x0) at /usr/src/debug/krita-5.2.6/libs/ui/canvas/kis_canvas2.cpp:462 #5 0x00007f31ae2c4ec8 in KisSelectionManager::shapeSelectionChanged (this=0x564b666357c8) at /usr/src/debug/krita-5.2.6/libs/ui/kis_selection_manager.cc:557 #6 0x00007f31ac535672 in doActivate<false> (sender=0x564b6bb94028, signal_index=6, argv=0x7ffcdc72abb0) at kernel/qobject.cpp:3937 #7 0x00007f31ac535672 in doActivate<false> (sender=0x564b6d795900, signal_index=3, argv=0x7ffcdc72ac80) at kernel/qobject.cpp:3937 #8 0x00007f31ac535672 in doActivate<false> (sender=0x564b6d9ad3d0, signal_index=3, argv=0x7ffcdc72ad50) at kernel/qobject.cpp:3937 #9 0x00007f31ac535672 in doActivate<false> (sender=0x564b6d7b8440, signal_index=3, argv=0x7ffcdc72ae20) at kernel/qobject.cpp:3937 #10 0x00007f31ac535672 in doActivate<false> (sender=0x564b6d79f060, signal_index=3, argv=0x7ffcdc72aef0) at kernel/qobject.cpp:3937 #11 0x00007f31addc6e15 in KisSignalCompressor::tryEmitSignalSafely (this=this@entry=0x564b6d79f060) at /usr/src/debug/krita-5.2.6/libs/global/kis_signal_compressor.cpp:195 #12 0x00007f31addcc565 in KisSignalCompressor::tryEmitOnTick (this=this@entry=0x564b6d79f060, isFromTimer=isFromTimer@entry=false) at /usr/src/debug/krita-5.2.6/libs/global/kis_signal_compressor.cpp:172 #13 0x00007f31addcc643 in KisSignalCompressor::start (this=0x564b6d79f060) at /usr/src/debug/krita-5.2.6/libs/global/kis_signal_compressor.cpp:138 #14 0x00007f31ac535672 in doActivate<false> (sender=0x564b6d7b8440, signal_index=4, argv=0x7ffcdc72b010) at kernel/qobject.cpp:3937 #15 0x00007f31ab6c19c1 in KoSelection::select (this=this@entry=0x564b6d9ad3d0, shape=<optimized out>) at /usr/src/debug/krita-5.2.6/libs/flake/KoSelection.cpp:107 #16 0x00007f31850d142b in KarbonCalligraphyTool::deactivate (this=0x564b6bc741e0) at /usr/src/debug/krita-5.2.6/plugins/tools/karbonplugins/tools/CalligraphyTool/KarbonCalligraphyTool.cpp:374 #17 0x00007f31ab6ea472 in KoToolManager::Private::disconnectActiveTool (this=this@entry=0x564b6615ffe0) at /usr/src/debug/krita-5.2.6/libs/flake/KoToolManager.cpp:458 #18 0x00007f31ab6ef42b in KoToolManager::Private::detachCanvas (this=0x564b6615ffe0, controller=<optimized out>) at /usr/src/debug/krita-5.2.6/libs/flake/KoToolManager.cpp:637 #19 0x00007f31ab6ef582 in KoToolManager::removeCanvasController (this=<optimized out>, controller=<optimized out>) at /usr/src/debug/krita-5.2.6/libs/flake/KoToolManager.cpp:250 #20 0x00007f31ae4fd4c8 in KisView::~KisView (this=0x564b6bb5b7e0, this=<optimized out>) at /usr/src/debug/krita-5.2.6/libs/ui/KisView.cpp:279 #21 0x00007f31ae4fd759 in KisView::~KisView (this=0x564b6bb5b7e0, this=<optimized out>) at /usr/src/debug/krita-5.2.6/libs/ui/KisView.cpp:284 #22 0x00007f31ac5267fe in QObjectPrivate::deleteChildren (this=this@entry=0x564b66aa7400) at kernel/qobject.cpp:2137 #23 0x00007f31ad1e2170 in QWidget::~QWidget (this=0x564b6bb5d330, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1524 #24 0x00007f31ad324b09 in QMdiSubWindow::~QMdiSubWindow (this=0x564b6bb5d330, __in_chrg=<optimized out>) at widgets/qmdisubwindow.cpp:2282 #25 0x00007f31ac528ad5 in QObject::event (this=0x564b6bb5d330, e=0x564b6bbe7f80) at kernel/qobject.cpp:1334 #26 0x00007f31ad1a522e in QApplicationPrivate::notify_helper (this=this@entry=0x564b6bb5b7e0, receiver=0x564b6bb5d330, receiver@entry=0x0, e=0x564b6bbe7f80, e@entry=0x698dfd5d0bca4800) at kernel/qapplication.cpp:3640 #27 0x00007f31ad1ac1db in QApplication::notify (this=this@entry=0x7ffcdc72b990, receiver=0x0, receiver@entry=0x564b6bb5d330, e=0x698dfd5d0bca4800, e@entry=0x564b6bbe7f80) at kernel/qapplication.cpp:3386 #28 0x00007f31ae49b32e in KisApplication::notify (this=0x7ffcdc72b990, receiver=0x564b6bb5d330, event=0x564b6bbe7f80) at /usr/src/debug/krita-5.2.6/libs/ui/KisApplication.cpp:771 #29 0x00007f31ac4fc188 in QCoreApplication::notifyInternal2 (receiver=0x564b6bb5d330, event=0x564b6bbe7f80) at kernel/qcoreapplication.cpp:1064 #30 0x00007f31ac4fc35e in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462 #31 0x00007f31ac4ff589 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x564b6343c050) at kernel/qcoreapplication.cpp:1821 #32 0x00007f31ac4ffa18 in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680 #33 0x00007f31ac557703 in postEventSourceDispatch (s=0x564b63809ef0) at kernel/qeventdispatcher_glib.cpp:277 #34 0x00007f31a9910eb8 in ??? () at /lib64/libglib-2.0.so.0 #35 0x00007f31a9912ca8 in ??? () at /lib64/libglib-2.0.so.0 #36 0x00007f31a99134bc in g_main_context_iteration () at /lib64/libglib-2.0.so.0 #37 0x00007f31ac556ef9 in QEventDispatcherGlib::processEvents (this=0x564b63493cd0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #38 0x00007f31ac4fab82 in QEventLoop::exec (this=this@entry=0x7ffcdc72b7b0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #39 0x00007f31ac5032be in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #40 0x00007f31ac97577c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 #41 0x00007f31ad1a51a5 in QApplication::exec () at kernel/qapplication.cpp:2832 #42 0x0000564b46482820 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/krita-5.2.6/krita/main.cc:792 [Inferior 1 (process 1271469) detached]
Hi, Grósz! Thank you for the report! I can reproduce the issue! It is important to first select the painted shape with a shape selection tool, then switch back to the calligraphy tool, then close Krita.
Git commit 051b1f619421e9b390e006039d1bb6325467452f by Dmitry Kazakov. Committed on 14/11/2024 at 14:01. Pushed by dkazakov into branch 'krita/5.2'. Fix crash when closing Krita while Calligraphy Tool is active m_lastShape is not used anymore, so we can just ignore it. M +0 -9 plugins/tools/karbonplugins/tools/CalligraphyTool/KarbonCalligraphyTool.cpp M +0 -3 plugins/tools/karbonplugins/tools/CalligraphyTool/KarbonCalligraphyTool.h https://invent.kde.org/graphics/krita/-/commit/051b1f619421e9b390e006039d1bb6325467452f
Git commit b9cba02f669578a6e36985a7d8edd3a6b13004fe by Dmitry Kazakov. Committed on 14/11/2024 at 14:02. Pushed by dkazakov into branch 'master'. Fix crash when closing Krita while Calligraphy Tool is active m_lastShape is not used anymore, so we can just ignore it. M +0 -9 plugins/tools/karbonplugins/tools/CalligraphyTool/KarbonCalligraphyTool.cpp M +0 -3 plugins/tools/karbonplugins/tools/CalligraphyTool/KarbonCalligraphyTool.h https://invent.kde.org/graphics/krita/-/commit/b9cba02f669578a6e36985a7d8edd3a6b13004fe