This crash just started happening to me today on git master on my Windows 10 machine. The crash starts happening right at the "FIx jumping of the mirror axis handle" commit. Going back to the "scale imagepipe spray brushes as well" commit makes the crash go away. I am not quite sure why the commit might be causing a crash. If I just start Krita, then close Krita, the crash doesn't happen. It seems there is something with the document creation that makes it happen. I tried cleaning and rebuilding on that commit, but that didn't make the crash stop. Reproducible: Always Steps to Reproduce: 1. Start Krita 2. Create a custom document (just use defaults settings) 3. Close the application on the top right X (not the document) Actual Results: crash Expected Results: does not crash
Yeah, have it as well. Kinda really annoying. It seems to be because of the mirror mode. Here's the backtrace: (gdb) start Temporary breakpoint 1 at 0x403e00: file /home/krita/kde/src/krita/krita/main.cc, line 63. Starting program: /home/krita/kde/inst/bin/krita continue [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". QCoreApplication::arguments: Please instantiate the QApplication object first krita.lib.pigment: Compiled for arch: ::Vc::AVXImpl krita.lib.pigment: Features supported: krita.lib.pigment: "SSE2" --- yes krita.lib.pigment: "SSSE3" --- yes krita.lib.pigment: "SSE4.1" --- yes krita.lib.pigment: "AVX " --- yes Temporary breakpoint 1, main (argc=1, argv=0x7fffffffd8e8) at /home/krita/kde/src/krita/krita/main.cc:63 63 { (gdb) continue Continuing. [New Thread 0x7fffe4867700 (LWP 13862)] [New Thread 0x7fffda03e700 (LWP 13863)] [New Thread 0x7fffd983d700 (LWP 13864)] [New Thread 0x7fffd903c700 (LWP 13865)] [New Thread 0x7fffcbfff700 (LWP 13866)] [New Thread 0x7fffc0b41700 (LWP 13868)] [New Thread 0x7fffbbfff700 (LWP 13869)] Set style "Fusion" Setting XDG_DATA_DIRS "/home/krita/kde/inst/bin/../share:/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop" Available translations QSet("en_US") Available domain translations QSet("en_US") [Thread 0x7fffbbfff700 (LWP 13869) exited] KoJsonTrader will load its plugins from "/home/krita/kde/inst/lib/x86_64-linux-gnu/kritaplugins" krita.general: ERROR: no sample brush found in "/home/krita/.local/share/krita/brushes/PHOTOSHOP_BRUSHES___swirls_by_darkmercy.abr" falling back on QIcon::FromTheme: "document-properties" [New Thread 0x7fffbbfff700 (LWP 13877)] [New Thread 0x7fffa67b6700 (LWP 13878)] libpng warning: iCCP: too many profiles libpng warning: iCCP: too many profiles libpng warning: iCCP: too many profiles libpng warning: iCCP: too many profiles [New Thread 0x7fffa5e6e700 (LWP 13880)] [Thread 0x7fffa5e6e700 (LWP 13880) exited] [New Thread 0x7fffa5e6e700 (LWP 13881)] [Thread 0x7fffc0b41700 (LWP 13868) exited] KoJsonTrader will load its plugins from "/home/krita/kde/inst/lib/x86_64-linux-gnu/kritaplugins" initTemplates(); "templates/" [New Thread 0x7fffc0b41700 (LWP 13883)] [New Thread 0x7fff96ef8700 (LWP 13884)] [New Thread 0x7fff966f7700 (LWP 13885)] [New Thread 0x7fff95ef6700 (LWP 13886)] [Thread 0x7fff966f7700 (LWP 13885) exited] [Thread 0x7fff96ef8700 (LWP 13884) exited] [Thread 0x7fff95ef6700 (LWP 13886) exited] [Thread 0x7fffc0b41700 (LWP 13883) exited] libpng warning: iCCP: too many profiles krita.lib.flake: "InteractionTool" : action "object_order_raise" conflicts with canvas action "rotate_canvas_right" shortcut: "Ctrl+]" krita.lib.flake: "InteractionTool" : action "object_order_lower" conflicts with canvas action "rotate_canvas_left" shortcut: "Ctrl+[" krita.lib.flake: "InteractionTool" : action "object_order_raise" conflicts with canvas action "rotate_canvas_right" shortcut: "Ctrl+]" krita.lib.flake: "InteractionTool" : action "object_order_lower" conflicts with canvas action "rotate_canvas_left" shortcut: "Ctrl+[" [New Thread 0x7fff95ef6700 (LWP 13888)] [New Thread 0x7fff96ef8700 (LWP 13889)] [Thread 0x7fff96ef8700 (LWP 13889) exited] [Thread 0x7fff95ef6700 (LWP 13888) exited] Skipping XIAllowTouchEvents() due to not having libXi >= 1.7.4. libXi version at build time was 1.7.2. Expect issues with touch behavior. [New Thread 0x7fff95ef6700 (LWP 13890)] [New Thread 0x7fff96ef8700 (LWP 13891)] [New Thread 0x7fffc0b41700 (LWP 13892)] [New Thread 0x7fff966f7700 (LWP 13893)] [Thread 0x7fffc0b41700 (LWP 13892) exited] [Thread 0x7fff966f7700 (LWP 13893) exited] [Thread 0x7fff96ef8700 (LWP 13891) exited] [Thread 0x7fff95ef6700 (LWP 13890) exited] [New Thread 0x7fff95ef6700 (LWP 13894)] [New Thread 0x7fff96ef8700 (LWP 13895)] [New Thread 0x7fff966f7700 (LWP 13896)] [New Thread 0x7fffc0b41700 (LWP 13897)] Thread 1 "krita" received signal SIGSEGV, Segmentation fault. 0x0000000000000000 in ?? () (gdb) thread apply all backtrace Thread 26 (Thread 0x7fffc0b41700 (LWP 13897)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ffff559b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5597467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffef15a6fa in start_thread (arg=0x7fffc0b41700) at pthread_create.c:333 #5 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 25 (Thread 0x7fff966f7700 (LWP 13896)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ffff559b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5597467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff559ac89 in ?? () ---Type <return> to continue, or q <return> to quit--- from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffef15a6fa in start_thread (arg=0x7fff966f7700) at pthread_create.c:333 #5 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 24 (Thread 0x7fff96ef8700 (LWP 13895)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ffff559b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5597467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffef15a6fa in start_thread (arg=0x7fff96ef8700) at pthread_create.c:333 #5 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 23 (Thread 0x7fff95ef6700 (LWP 13894)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 ---Type <return> to continue, or q <return> to quit--- #1 0x00007ffff559b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5597467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffef15a6fa in start_thread (arg=0x7fff95ef6700) at pthread_create.c:333 #5 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 12 (Thread 0x7fffa5e6e700 (LWP 13881)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007ffff559b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff6771aa2 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #3 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffef15a6fa in start_thread (arg=0x7fffa5e6e700) at pthread_create.c:333 #5 0x00007ffff4c96b5d in clone () ---Type <return> to continue, or q <return> to quit--- at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 10 (Thread 0x7fffa67b6700 (LWP 13878)): #0 0x00007ffff4c5b8dd in nanosleep () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007ffff5642f7d in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff559a138 in QThread::msleep(unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff31275fa in KisTileDataSwapper::run ( this=0x7ffff35a3400 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:97 #4 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #5 0x00007fffef15a6fa in start_thread (arg=0x7fffa67b6700) at pthread_create.c:333 #6 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 9 (Thread 0x7fffbbfff700 (LWP 13877)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 ---Type <return> to continue, or q <return> to quit--- #1 0x00007ffff559b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5594e8b in QSemaphore::acquire(int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff310d7be in KisTileDataPooler::waitForWork ( this=0x7ffff35a33c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>) at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165 #4 0x00007ffff310df7a in KisTileDataPooler::run ( this=0x7ffff35a33c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>) at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187 #5 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #6 0x00007fffef15a6fa in start_thread (arg=0x7fffbbfff700) at pthread_create.c:333 #7 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7fffcbfff700 (LWP 13866)): #0 0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee82f42c in g_main_context_iteration () ---Type <return> to continue, or q <return> to quit--- from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff57ac4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007ffff575aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #5 0x00007ffff559638c in QThread::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #6 0x00007fffef385cd5 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5 #7 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #8 0x00007fffef15a6fa in start_thread (arg=0x7fffcbfff700) at pthread_create.c:333 #9 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7fffd903c700 (LWP 13865)): #0 0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee82f6a2 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fffde499906 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007fffee855b45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #5 0x00007fffef15a6fa in start_thread (arg=0x7fffd903c700) at pthread_create.c:333 #6 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7fffd983d700 (LWP 13864)): #0 0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee82f42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fffee82f469 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007fffee855b45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fffef15a6fa in start_thread (arg=0x7fffd983d700) at pthread_create.c:333 #6 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7fffda03e700 (LWP 13863)): #0 0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee82f31c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee82f42c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fffda04628d in ?? () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #4 0x00007fffee855b45 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fffef15a6fa in start_thread (arg=0x7fffda03e700) at pthread_create.c:333 #6 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7fffe4867700 (LWP 13862)): #0 0x00007ffff4c8ae8d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007ffff35bcc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007ffff35be8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fffe5716dc9 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5XcbQpa.so.5 #4 0x00007ffff559ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #5 0x00007fffef15a6fa in start_thread (arg=0x7fffe4867700) at pthread_create.c:333 #6 0x00007ffff4c96b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7ffff7f108c0 (LWP 13856)): #0 0x0000000000000000 in ?? () ---Type <return> to continue, or q <return> to quit--- #1 0x00007ffff78d7a4c in KisMirrorAxis::eventFilter (this=0xcc91f60, target=0xc772020, event=0x7fffffffca70) at /home/krita/kde/src/krita/libs/ui/canvas/kis_mirror_axis.cpp:226 #2 0x00007ffff575cbf3 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff6550025 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #4 0x00007ffff6554488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #5 0x00007ffff78dbae7 in KisApplication::notify (this=<optimized out>, receiver=0xc772020, event=0x7fffffffca70) at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:502 #6 0x00007ffff575ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #7 0x00007ffff578da36 in QObjectPrivate::setParent_helper(QObject*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #8 0x00007ffff578dfd2 in QObject::~QObject() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #9 0x00007ffff658e1d4 in QWidget::~QWidget() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #10 0x00007ffff79355d8 in KisView::Private::~Private (this=0x83b2f80, __in_chrg=<optimized out>) at /home/krita/kde/src/krita/libs/ui/KisView.cpp:105 ---Type <return> to continue, or q <return> to quit---q Quit (gdb) q A debugging session is active. Inferior 1 [process 13856] will be killed. Quit anyway? (y or n) y krita@krita-2012-Client-Platform:~/kde/build$
Git commit 744eb906326a2568153af9cbdaac89b66444cae4 by Dmitry Kazakov. Committed on 03/05/2016 at 19:23. Pushed by dkazakov into branch 'master'. Fix a crash in mirror decoration when closing Krita 1) We should delete all the decorations before killing the canvas. Otherwise orphan events can reach them and they will try to access half-destructed view and canvas objects. 2) Make Mirror Axis decoration filter the events only in case it is visible. Fixes T2402 M +2 -2 libs/ui/canvas/kis_abstract_canvas_widget.h M +12 -4 libs/ui/canvas/kis_canvas_widget_base.cpp M +2 -2 libs/ui/canvas/kis_canvas_widget_base.h M +21 -8 libs/ui/canvas/kis_mirror_axis.cpp M +1 -0 libs/ui/canvas/kis_mirror_axis.h http://commits.kde.org/krita/744eb906326a2568153af9cbdaac89b66444cae4
Yes. This patch worked for me! No more crashes when closing the document. Thanks Dmitry