I was using the multibrush with a sketchbrush, and then I flipped my stylus for the eraser end. Krita then crashed with the following backtrace: I didn't try reproducing. Thread 1 "krita" received signal SIGSEGV, Segmentation fault. 0x00007ffff6542268 in QWidgetItem::isEmpty() const () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 (gdb) thread apply all backtrace Thread 3260 (Thread 0x7fff85e1a700 (LWP 31004)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ffff556b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5567467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffeea8070a in start_thread (arg=0x7fff85e1a700) at pthread_create.c:333 #5 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3259 (Thread 0x7fff71f4c700 (LWP 31003)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ffff556b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5567467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffeea8070a in start_thread (arg=0x7fff71f4c700) at pthread_create.c:333 #5 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3258 (Thread 0x7fff6c98c700 (LWP 31001)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ffff556b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5567467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffeea8070a in start_thread (arg=0x7fff6c98c700) at pthread_create.c:333 #5 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3257 (Thread 0x7fff7174b700 (LWP 31000)): #0 pthread_cond_timedwait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:225 #1 0x00007ffff556b738 in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5567467 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffeea8070a in start_thread (arg=0x7fff7174b700) at pthread_create.c:333 #5 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 16 (Thread 0x7fff9957f700 (LWP 25245)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007ffff556b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff6741aa2 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #3 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007fffeea8070a in start_thread (arg=0x7fff9957f700) at pthread_create.c:333 #5 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 14 (Thread 0x7fff99d80700 (LWP 25243)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007ffff556b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5565116 in QSemaphore::tryAcquire(int, int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff2c43743 in KisTileDataSwapper::waitForWork (this=<optimized out>) at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86 #4 0x00007ffff2c4393a in KisTileDataSwapper::run (this=0x7ffff310e920 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/krita/kde/src/krita/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92 ---Type <return> to continue, or q <return> to quit--- #5 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #6 0x00007fffeea8070a in start_thread (arg=0x7fff99d80700) at pthread_create.c:333 #7 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 13 (Thread 0x7fff9a581700 (LWP 25242)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007ffff556b7eb in QWaitCondition::wait(QMutex*, unsigned long) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #2 0x00007ffff5564e8b in QSemaphore::acquire(int) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #3 0x00007ffff2c29afe in KisTileDataPooler::waitForWork (this=0x7ffff310e8e0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>) at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:165 #4 0x00007ffff2c2a2ba in KisTileDataPooler::run (this=0x7ffff310e8e0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder>) at /home/krita/kde/src/krita/libs/image/tiles3/kis_tile_data_pooler.cc:187 #5 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #6 0x00007fffeea8070a in start_thread (arg=0x7fff9a581700) at pthread_create.c:333 #7 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 6 (Thread 0x7fffcbfff700 (LWP 25233)): #0 0x00007ffff4c5ab5d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee15539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee1554ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff577c4fc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #4 0x00007ffff572aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #5 0x00007ffff556638c in QThread::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #6 0x00007fffeecabcd5 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5DBus.so.5 #7 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #8 0x00007fffeea8070a in start_thread (arg=0x7fffcbfff700) at pthread_create.c:333 #9 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 5 (Thread 0x7fffd903b700 (LWP 25232)): #0 0x00007ffff4c5ab5d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee15539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee155722 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fffde499916 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 #4 0x00007fffee17bbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fffeea8070a in start_thread (arg=0x7fffd903b700) at pthread_create.c:333 #6 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 4 (Thread 0x7fffd983c700 (LWP 25231)): #0 0x00007ffff4c5ab5d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee15539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee1554ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fffee1554e9 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #4 0x00007fffee17bbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fffeea8070a in start_thread (arg=0x7fffd983c700) at pthread_create.c:333 #6 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7fffda03d700 (LWP 25230)): #0 0x00007ffff4c5ab5d in poll () at ../sysdeps/unix/syscall-template.S:84 ---Type <return> to continue, or q <return> to quit--- #1 0x00007fffee15539c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee1554ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007fffda04528d in ?? () from /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so #4 0x00007fffee17bbc5 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #5 0x00007fffeea8070a in start_thread (arg=0x7fffda03d700) at pthread_create.c:333 #6 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7fffe48ad700 (LWP 25229)): #0 0x00007ffff4c5ab5d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007ffff336bc62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007ffff336d8d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fffe575cdc9 in ?? () from /home/krita/Qt/5.6/gcc_64/plugins/platforms/../../lib/libQt5XcbQpa.so.5 #4 0x00007ffff556ac89 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #5 0x00007fffeea8070a in start_thread (arg=0x7fffe48ad700) at pthread_create.c:333 #6 0x00007ffff4c6682d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 1 (Thread 0x7ffff7f0e8c0 (LWP 25225)): #0 0x00007ffff6542268 in QWidgetItem::isEmpty() const () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #1 0x00007ffff6542d3a in QWidgetItemV2::minimumSize() const () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #2 0x00007ffff653b311 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #3 0x00007ffff653b985 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #4 0x00007ffff653bbdd in QGridLayout::minimumSize() const () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #5 0x00007ffff653ebb5 in QLayout::totalMinimumSize() const () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #6 0x00007ffff6540480 in QLayout::activate() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #7 0x00007ffff652001a in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #8 0x00007ffff6524488 in QApplication::notify(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Widgets.so.5 #9 0x00007ffff78c8e87 in KisApplication::notify (this=<optimized out>, receiver=0xecb3170, event=0x14439270) at /home/krita/kde/src/krita/libs/ui/KisApplication.cpp:519 #10 0x00007ffff572ce80 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #11 0x00007ffff572f673 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #12 0x00007ffff577c0f3 in ?? () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #13 0x00007fffee1551a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #14 0x00007fffee155400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #15 0x00007fffee1554ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #16 0x00007ffff577c4e7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #17 0x00007ffff572aefa in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #18 0x00007ffff5732d9d in QCoreApplication::exec() () from /home/krita/Qt/5.6/gcc_64/lib/libQt5Core.so.5 #19 0x0000000000404dc4 in main (argc=1, argv=<optimized out>) at /home/krita/kde/src/krita/krita/main.cc:258 (gdb)
Hm... Not sure what we can do here. It's an assert in Qt -- but which widgetitem is empty is hard to say.
Well, I tried to reproduce the problem but failed. The only possible reason might be the tool options, which are relayouted every time the tool changes. Did you have only one Krita window open or multiple ones?
I'm afraid that just to declutter bugzilla, we'll have to close bugs like this one: the backtrace just doesn't give a hint, and the issue is really hard to reproduce. If the issue was one where multiple windows were in play, that might have been fixed recently. I tested that way, and no crash.