SUMMARY STEPS TO REPRODUCE Steps to reproduce 1. Add a layer (M) on top of any paint layer (P) 2. Paint some pixels on layer M 3. Convert M to a selection mask of P 4. While having the layer P selected, either duplicate it or switch to any selection tool, right click and choose "Cut Selection to new layer" or "Copy selection to new layer". This creates a new paint layer P' with a mask M'. 5. In the Layers docker switch to M'. The canvas enters the selection mask editing mode. 6. Press Undo. This undoes the operation done in step 4 and so P' and M' no longer exist. However, the canvas behaves as though M' is still selected - it remains in the red selection mask mode. The infobar shows the operation 'update-overlay-selection-mask' stuck at 0%. After a few moments Krita crashes. OBSERVED RESULT see above EXPECTED RESULT When the undo operation in step 6 removes the selection mask, canvas should exit the selection mask mode SOFTWARE/OS VERSIONS Linux: Ubuntu 22.04.1 LTS Qt Version: 5.12.12 ADDITIONAL INFORMATION If launched from the terminal Krita produces the following output after the crash: Qt Concurrent has caught an exception thrown from a worker thread. This is not supported, exceptions thrown in worker threads must be caught before control returns to Qt Concurrent. terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc Aborted (core dumped)
5.15 TEST
Thank you for you detailed report, I can confirm with the Krita Version: 5.2.0-prealpha (git 5c98a72) Appimage with Qt 5.15.7, as wel as my local dev build using Qt 5.15.6 GDB backtrace ================================ --Type <RET> for more, q to quit, c to continue without paging-- Thread 1 "krita" received signal SIGTERM, Terminated. 0x00007ffff531a99f in __GI___poll (fds=0x5555561e9b00, nfds=3, timeout=10) at ../sysdeps/unix/sysv/linux/poll.c:29 29 ../sysdeps/unix/sysv/linux/poll.c: No such file or directory. (gdb) (gdb) thread apply all backtrace Thread 45 (Thread 0x7fff2afff700 (LWP 1277921)): #0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555562fa1780) at ../sysdeps/nptl/futex-internal.h:183 #1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555562fa1730, cond=0x555562fa1758) at pthread_cond_wait.c:508 #2 __pthread_cond_wait (cond=0x555562fa1758, mutex=0x555562fa1730) at pthread_cond_wait.c:647 #3 0x00007fffec8b25eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #4 0x00007fffec8b21eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #5 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #6 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 44 (Thread 0x7fff30a0d700 (LWP 1277916)): #0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5555625ee100) at ../sysdeps/nptl/futex-internal.h:183 #1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555625ee0b0, cond=0x5555625ee0d8) at pthread_cond_wait.c:508 #2 __pthread_cond_wait (cond=0x5555625ee0d8, mutex=0x5555625ee0b0) at pthread_cond_wait.c:647 #3 0x00007fffec8b25eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #4 0x00007fffec8b21eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #5 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #6 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 43 (Thread 0x7fff43fff700 (LWP 1277899)): #0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5555604f41d0) at ../sysdeps/nptl/futex-internal.h:183 #1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555604f4180, cond=0x5555604f41a8) at pthread_cond_wait.c:508 #2 __pthread_cond_wait (cond=0x5555604f41a8, mutex=0x5555604f4180) at pthread_cond_wait.c:647 #3 0x00007fffec8b25eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #4 0x00007fffec8b21eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #5 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #6 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 42 (Thread 0x7fff68ff9700 (LWP 1277894)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fff68ff8c90, clockid=<optimized out>, expected=0, futex_word=0x555556a84110) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fff68ff8c90, clockid=<optimized out>, mutex=0x555556a840c0, cond=0x555556a840e8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x555556a840e8, mutex=0x555556a840c0, abstime=0x7fff68ff8c90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 41 (Thread 0x7fff697fa700 (LWP 1277893)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fff697f9c90, clockid=<optimized out>, expected=0, futex_word=0x555556a83c04) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fff697f9c90, clockid=<optimized out>, mutex=0x555556a83bb0, cond=0x555556a83bd8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x555556a83bd8, mutex=0x555556a83bb0, abstime=0x7fff697f9c90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 --Type <RET> for more, q to quit, c to continue without paging-- #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 40 (Thread 0x7fff69ffb700 (LWP 1277892)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fff69ffac90, clockid=<optimized out>, expected=0, futex_word=0x555556a836f4) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fff69ffac90, clockid=<optimized out>, mutex=0x555556a836a0, cond=0x555556a836c8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x555556a836c8, mutex=0x555556a836a0, abstime=0x7fff69ffac90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 39 (Thread 0x7fff6a7fc700 (LWP 1277891)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fff6a7fbc90, clockid=<optimized out>, expected=0, futex_word=0x55555692cfc4) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fff6a7fbc90, clockid=<optimized out>, mutex=0x55555692cf70, cond=0x55555692cf98) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x55555692cf98, mutex=0x55555692cf70, abstime=0x7fff6a7fbc90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 38 (Thread 0x7fff6affd700 (LWP 1277890)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fff6affcc90, clockid=<optimized out>, expected=0, futex_word=0x55555692cbd4) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fff6affcc90, clockid=<optimized out>, mutex=0x55555692cb80, cond=0x55555692cba8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x55555692cba8, mutex=0x55555692cb80, abstime=0x7fff6affcc90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 37 (Thread 0x7fff6b7fe700 (LWP 1277889)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fff6b7fdc90, clockid=<optimized out>, expected=0, futex_word=0x55555692c7e0) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fff6b7fdc90, clockid=<optimized out>, mutex=0x55555692c790, cond=0x55555692c7b8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x55555692c7b8, mutex=0x55555692c790, abstime=0x7fff6b7fdc90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 36 (Thread 0x7fff708aa700 (LWP 1277888)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fff708a9c90, clockid=<optimized out>, expected=0, futex_word=0x55555692c424) at ../sysdeps/nptl/futex-internal.h:320 --Type <RET> for more, q to quit, c to continue without paging-- #1 __pthread_cond_wait_common (abstime=0x7fff708a9c90, clockid=<optimized out>, mutex=0x55555692c3d0, cond=0x55555692c3f8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x55555692c3f8, mutex=0x55555692c3d0, abstime=0x7fff708a9c90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 35 (Thread 0x7fff710ab700 (LWP 1277887)): #0 0x00007ffff5706d49 in QRect::operator&(QRect const&) const () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #1 0x00007ffff6f5f67f in KisSimpleUpdateQueue::trySplitJob(KisSharedPtr<KisNode>, QRect const&, QRect const&, int, KisBaseRectsWalker::UpdateType) (this=0x55555e697688, node=..., rc=..., cropRect=..., levelOfDetail=0, type=KisBaseRectsWalker::UPDATE) at /home/wolthera/krita/src/libs/image/kis_simple_update_queue.cpp:279 #2 0x00007ffff6f5e7d2 in KisSimpleUpdateQueue::addJob(KisSharedPtr<KisNode>, QVector<QRect> const&, QRect const&, int, KisBaseRectsWalker::UpdateType) (this=0x55555e697688, node=..., rects=..., cropRect=..., levelOfDetail=0, type=KisBaseRectsWalker::UPDATE) at /usr/include/c++/9/bits/atomic_base.h:318 #3 0x00007ffff6f5eef5 in KisSimpleUpdateQueue::addUpdateJob(KisSharedPtr<KisNode>, QVector<QRect> const&, QRect const&, int) (this=this@entry=0x55555e697688, node=..., rects=..., cropRect=..., levelOfDetail=<optimized out>) at /usr/include/c++/9/bits/atomic_base.h:318 #4 0x00007ffff6f64e1e in KisUpdateScheduler::updateProjection(KisSharedPtr<KisNode>, QVector<QRect> const&, QRect const&) (this=0x55555e2b2520, node=..., rects=..., cropRect=...) at /usr/include/c++/9/bits/atomic_base.h:318 #5 0x00007ffff6f82a94 in KisImage::requestProjectionUpdateImpl(KisNode*, QVector<QRect> const&, QRect const&) (this=<optimized out>, node=<optimized out>, rects=..., cropRect=...) at /usr/include/c++/9/bits/atomic_base.h:318 #6 0x00007ffff6f91d56 in KisImage::requestProjectionUpdate(KisNode*, QVector<QRect> const&, bool) (this=0x55555e03afa0, node=0x5555560f6320, rects=..., resetAnimationCache=false) at /home/wolthera/krita/src/libs/image/kis_image.cc:2382 #7 0x00007ffff7035959 in KisNode::setDirtyDontResetAnimationCache(QRect const&) (this=this@entry=0x5555560f6320, rect=...) at /usr/include/c++/9/initializer_list:71 #8 0x00007ffff6f846a2 in KisImage::UpdateOverlaySelectionStroke::initStrokeCallback() (this=0x555560a0b9f0) at /home/wolthera/krita/src/libs/image/kis_image.cc:641 #9 0x00007ffff6d44847 in KisStrokeJob::run() (this=<optimized out>) at /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../src/libs/image/kis_stroke_job.h:32 #10 KisUpdateJobItem::runImpl() (this=0x555556726400) at /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../src/libs/image/kis_update_job_item.h:100 #11 KisUpdateJobItem::run() (this=0x555556726400) at /home/wolthera/krita/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../src/libs/image/kis_update_job_item.h:49 #12 0x00007ffff56ca892 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #13 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #14 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #15 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 32 (Thread 0x7fff90bab700 (LWP 1277819)): #0 0x00007ffff531a99f in __GI___poll (fds=0x7fff78005030, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2be336e in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff2be34a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5908b82 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff58acb3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c6342 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffe6be467a in () at /usr/lib/x86_64-linux-gnu/libQt5Quick.so.5 #7 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #9 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 --Type <RET> for more, q to quit, c to continue without paging-- Thread 31 (Thread 0x7fff928af700 (LWP 1277810)): #0 0x00007ffff531a99f in __GI___poll (fds=0x7fff74004a30, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2be336e in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff2be34a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5908b82 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff58acb3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c6342 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffe6439919 in () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #9 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 30 (Thread 0x7fff920ae700 (LWP 1277780)): #0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38 #1 0x00007ffff56c99f0 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #2 0x00007ffff56c9856 in QSemaphore::tryAcquire(int, int) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007ffff6d74f97 in KisTileDataSwapper::waitForWork() (this=<optimized out>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:74 #4 0x00007ffff6d7519a in KisTileDataSwapper::run() (this=0x7ffff73257c0 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:80 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 27 (Thread 0x7fffad095700 (LWP 1277773)): #0 0x00007ffff531a99f in __GI___poll (fds=0x7fff88004e60, nfds=2, timeout=134623) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2be336e in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff2be34a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5908b82 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff58acb3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c6342 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #8 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 26 (Thread 0x7fffad896700 (LWP 1277772)): #0 0x00007ffff531a99f in __GI___poll (fds=0x7fff84004a60, nfds=2, timeout=135342) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2be336e in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff2be34a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5908b82 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff58acb3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c6342 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #8 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 --Type <RET> for more, q to quit, c to continue without paging-- Thread 25 (Thread 0x7fffae4aa700 (LWP 1277771)): #0 0x00007ffff531a99f in __GI___poll (fds=0x7fff8c004e60, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2be336e in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff2be34a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5908b82 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff58acb3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c6342 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #7 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #8 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 24 (Thread 0x7fffc27fc700 (LWP 1277425)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffc27fbc90, clockid=<optimized out>, expected=0, futex_word=0x5555563d4944) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffc27fbc90, clockid=<optimized out>, mutex=0x5555563d48f0, cond=0x5555563d4918) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x5555563d4918, mutex=0x5555563d48f0, abstime=0x7fffc27fbc90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 23 (Thread 0x7fffc2ffd700 (LWP 1277424)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffc2ffcc90, clockid=<optimized out>, expected=0, futex_word=0x55555629a8b4) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffc2ffcc90, clockid=<optimized out>, mutex=0x55555629a860, cond=0x55555629a888) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x55555629a888, mutex=0x55555629a860, abstime=0x7fffc2ffcc90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 22 (Thread 0x7fffc37fe700 (LWP 1277423)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffc37fdc90, clockid=<optimized out>, expected=0, futex_word=0x5555563d45d4) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffc37fdc90, clockid=<optimized out>, mutex=0x5555563d4580, cond=0x5555563d45a8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x5555563d45a8, mutex=0x5555563d4580, abstime=0x7fffc37fdc90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 21 (Thread 0x7fffc3fff700 (LWP 1277422)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffc3ffec90, clockid=<optimized out>, expected=0, futex_word=0x5555563d4e84) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffc3ffec90, clockid=<optimized out>, mutex=0x5555563d4e30, cond=0x5555563d4e58) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x5555563d4e58, mutex=0x5555563d4e30, abstime=0x7fffc3ffec90) at pthread_cond_wait.c:665 --Type <RET> for more, q to quit, c to continue without paging-- #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 20 (Thread 0x7fffd8a35700 (LWP 1277421)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffd8a34c90, clockid=<optimized out>, expected=0, futex_word=0x5555562df1e0) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffd8a34c90, clockid=<optimized out>, mutex=0x5555562df190, cond=0x5555562df1b8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x5555562df1b8, mutex=0x5555562df190, abstime=0x7fffd8a34c90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 19 (Thread 0x7fffd9236700 (LWP 1277420)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffd9235c90, clockid=<optimized out>, expected=0, futex_word=0x5555563d4d80) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffd9235c90, clockid=<optimized out>, mutex=0x5555563d4d30, cond=0x5555563d4d58) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x5555563d4d58, mutex=0x5555563d4d30, abstime=0x7fffd9235c90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 18 (Thread 0x7fffd9a37700 (LWP 1277419)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffd9a36c90, clockid=<optimized out>, expected=0, futex_word=0x5555562dfe90) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffd9a36c90, clockid=<optimized out>, mutex=0x5555562dfe40, cond=0x5555562dfe68) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x5555562dfe68, mutex=0x5555562dfe40, abstime=0x7fffd9a36c90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 17 (Thread 0x7fffe595e700 (LWP 1277418)): #0 futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7fffe595dc90, clockid=<optimized out>, expected=0, futex_word=0x5555564048d0) at ../sysdeps/nptl/futex-internal.h:320 #1 __pthread_cond_wait_common (abstime=0x7fffe595dc90, clockid=<optimized out>, mutex=0x555556404880, cond=0x5555564048a8) at pthread_cond_wait.c:520 #2 __pthread_cond_timedwait (cond=0x5555564048a8, mutex=0x555556404880, abstime=0x7fffe595dc90) at pthread_cond_wait.c:665 #3 0x00007ffff56cd578 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff56caa91 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #7 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 --Type <RET> for more, q to quit, c to continue without paging-- Thread 15 (Thread 0x7fffe77fe700 (LWP 1277412)): #0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x555556089df0) at ../sysdeps/nptl/futex-internal.h:183 #1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x555556089da0, cond=0x555556089dc8) at pthread_cond_wait.c:508 #2 __pthread_cond_wait (cond=0x555556089dc8, mutex=0x555556089da0) at pthread_cond_wait.c:647 #3 0x00007fffec8b25eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #4 0x00007fffec8b21eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #5 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #6 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 13 (Thread 0x7fffeedc7700 (LWP 1277410)): #0 futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5555560d6718) at ../sysdeps/nptl/futex-internal.h:183 #1 __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x5555560d66c8, cond=0x5555560d66f0) at pthread_cond_wait.c:508 #2 __pthread_cond_wait (cond=0x5555560d66f0, mutex=0x5555560d66c8) at pthread_cond_wait.c:647 #3 0x00007fffec8b25eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #4 0x00007fffec8b21eb in () at /usr/lib/x86_64-linux-gnu/dri/iris_dri.so #5 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #6 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 12 (Thread 0x7fffe7fff700 (LWP 1277405)): #0 0x00007ffff531a99f in __GI___poll (fds=0x7fffe7ffec28, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2aecc1a in () at /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007ffff2aee90a in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fffefcf9e18 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #4 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #6 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7fffef5c8700 (LWP 1277383)): #0 0x00007ffff531a99f in __GI___poll (fds=0x7fffe801ebd0, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2be336e in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff2be34a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5908b82 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff58acb3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff56c6342 in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007ffff28bef4b in () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #7 0x00007ffff56c7543 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007ffff355e609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #9 0x00007ffff5327133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7ffff017a880 (LWP 1277174)): #0 0x00007ffff531a99f in __GI___poll (fds=0x5555561e9b00, nfds=3, timeout=10) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff2be336e in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007ffff2be34a3 in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5908b82 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 --Type <RET> for more, q to quit, c to continue without paging-- #4 0x00007ffff58acb3b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff58b4ce4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x000055555555d92e in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /home/wolthera/krita/src/krita/main.cc:729 (gdb)
Git commit e0829ad04d2e2e6985d6a9201843d58a43ab7ce0 by Dmitry Kazakov. Committed on 23/01/2023 at 14:01. Pushed by dkazakov into branch 'master'. Fix a crash when trying to remove an active (overlayed) selection mask Since recently, removing a layer from and image resets its default bounds, therefore, the mask's extent becomes invalid. M +2 -1 libs/image/kis_image.cc https://invent.kde.org/graphics/krita/commit/e0829ad04d2e2e6985d6a9201843d58a43ab7ce0