| Summary: | Crash with: trim to selection > and then switch to a previous snapshot which had an hidden Fill Pattern Layer below a visible layer | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | mvowada <freebox64> |
| Component: | General | Assignee: | Dmitry Kazakov <dimula73> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | dimula73 |
| Priority: | NOR | ||
| Version First Reported In: | 5.0.0 | ||
| Target Milestone: | --- | ||
| Platform: | Appimage | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/graphics/krita/commit/71a2438ef2a41f9aa81710009247becde875c897 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
| Attachments: | Video example. | ||
GDB report (not sure it will help):
SAFE ASSERT (krita): "currentLeaf->node()" in file /home/appimage/workspace/Krita_Stable_Appimage_Build/krita/libs/image/kis_async_merger.cpp, line 221
Thread 1 "AppRun" received signal SIGSEGV, Segmentation fault.
0x00007ffff50a3484 in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
(gdb) k
Kill the program being debugged? (y or n) n
Not confirmed.
(gdb) thread apply all bt
Thread 42 (Thread 0x7fffa7fff700 (LWP 6902)):
#0 0x00007fffee993fb9 in futex_reltimed_wait_cancelable (
private=<optimized out>, reltime=0x7fffa7ffeae0, expected=0,
futex_word=0xa95ad30) at ../sysdeps/unix/sysv/linux/futex-internal.h:142
#1 __pthread_cond_wait_common (abstime=0x7fffa7ffeba0, mutex=0xa95ace0,
cond=0xa95ad08) at pthread_cond_wait.c:533
#2 __pthread_cond_timedwait (cond=0xa95ad08, mutex=0xa95ace0,
abstime=0x7fffa7ffeba0) at pthread_cond_wait.c:667
#3 0x00007ffff4ecbd64 in QWaitCondition::wait(QMutex*, QDeadlineTimer) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff4ecc0f6 in QWaitCondition::wait(QMutex*, unsigned long) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec8b28 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#7 0x00007fffee98d6db in start_thread (arg=0x7fffa7fff700)
at pthread_create.c:463
#8 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 41 (Thread 0x7fffa77fe700 (LWP 6901)):
---Type <return> to continue, or q <return> to quit---
#0 0x00007fffee993fb9 in futex_reltimed_wait_cancelable (
private=<optimized out>, reltime=0x7fffa77fdae0, expected=0,
futex_word=0xdcd65f0) at ../sysdeps/unix/sysv/linux/futex-internal.h:142
#1 __pthread_cond_wait_common (abstime=0x7fffa77fdba0, mutex=0xdcd65a0,
cond=0xdcd65c8) at pthread_cond_wait.c:533
#2 __pthread_cond_timedwait (cond=0xdcd65c8, mutex=0xdcd65a0,
abstime=0x7fffa77fdba0) at pthread_cond_wait.c:667
#3 0x00007ffff4ecbd64 in QWaitCondition::wait(QMutex*, QDeadlineTimer) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff4ecc0f6 in QWaitCondition::wait(QMutex*, unsigned long) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec8b28 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#7 0x00007fffee98d6db in start_thread (arg=0x7fffa77fe700)
at pthread_create.c:463
#8 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 40 (Thread 0x7fffc691e700 (LWP 6900)):
#0 0x00007fffee993fb9 in futex_reltimed_wait_cancelable (
private=<optimized out>, reltime=0x7fffc691dae0, expected=0,
---Type <return> to continue, or q <return> to quit---
futex_word=0x7fff988d3430)
at ../sysdeps/unix/sysv/linux/futex-internal.h:142
#1 __pthread_cond_wait_common (abstime=0x7fffc691dba0, mutex=0x7fff988d33e0,
cond=0x7fff988d3408) at pthread_cond_wait.c:533
#2 __pthread_cond_timedwait (cond=0x7fff988d3408, mutex=0x7fff988d33e0,
abstime=0x7fffc691dba0) at pthread_cond_wait.c:667
#3 0x00007ffff4ecbd64 in QWaitCondition::wait(QMutex*, QDeadlineTimer) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff4ecc0f6 in QWaitCondition::wait(QMutex*, unsigned long) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec8b28 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#7 0x00007fffee98d6db in start_thread (arg=0x7fffc691e700)
at pthread_create.c:463
#8 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 39 (Thread 0x7fffa6ffd700 (LWP 6899)):
#0 0x00007fffee993fb9 in futex_reltimed_wait_cancelable (
private=<optimized out>, reltime=0x7fffa6ffcae0, expected=0,
futex_word=0x7fff9508bea0)
---Type <return> to continue, or q <return> to quit---
at ../sysdeps/unix/sysv/linux/futex-internal.h:142
#1 __pthread_cond_wait_common (abstime=0x7fffa6ffcba0, mutex=0x7fff9508be50,
cond=0x7fff9508be78) at pthread_cond_wait.c:533
#2 __pthread_cond_timedwait (cond=0x7fff9508be78, mutex=0x7fff9508be50,
abstime=0x7fffa6ffcba0) at pthread_cond_wait.c:667
#3 0x00007ffff4ecbd64 in QWaitCondition::wait(QMutex*, QDeadlineTimer) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff4ecc0f6 in QWaitCondition::wait(QMutex*, unsigned long) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec8b28 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#7 0x00007fffee98d6db in start_thread (arg=0x7fffa6ffd700)
at pthread_create.c:463
#8 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 11 (Thread 0x7fffae0ba700 (LWP 6032)):
#0 0x00007ffff459ecb9 in __GI___poll (fds=0x7fffa0004de0, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffed4b66e9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffed4b67fc in g_main_context_iteration ()
---Type <return> to continue, or q <return> to quit---
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff50fc81f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff50a1a8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec2de4 in QThread::exec() ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007fffca6db4f6 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/lib/kritaplugins/../libQt5Quick.so.5
#7 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#8 0x00007fffee98d6db in start_thread (arg=0x7fffae0ba700)
at pthread_create.c:463
#9 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 10 (Thread 0x7fffbffff700 (LWP 6025)):
#0 0x00007ffff459ecb9 in __GI___poll (fds=0x7fffa8004990, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffed4b66e9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffed4b67fc in g_main_context_iteration ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#3 0x00007ffff50fc81f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff50a1a8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec2de4 in QThread::exec() ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007fffcad6ec55 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/lib/kritaplugins/../libQt5Qml.so.5
#7 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#8 0x00007fffee98d6db in start_thread (arg=0x7fffbffff700)
at pthread_create.c:463
#9 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 9 (Thread 0x7fffbf7fe700 (LWP 5995)):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007ffff4ec76ff in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#2 0x00007ffff4ec7567 in QSemaphore::tryAcquire(int, int) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#3 0x00007ffff6a21aba in KisTileDataSwapper::run() ()
---Type <return> to continue, or q <return> to quit---
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaimage.so.17
#4 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007fffee98d6db in start_thread (arg=0x7fffbf7fe700)
at pthread_create.c:463
#6 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 7 (Thread 0x7fffc54ac700 (LWP 5991)):
#0 0x00007ffff459ecb9 in __GI___poll (fds=0x7fffb8003ce0, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffed4b66e9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffed4b67fc in g_main_context_iteration ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff50fc81f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff50a1a8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec2de4 in QThread::exec() ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#7 0x00007fffee98d6db in start_thread (arg=0x7fffc54ac700)
at pthread_create.c:463
#8 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 6 (Thread 0x7fffc5cad700 (LWP 5990)):
#0 0x00007ffff459ecb9 in __GI___poll (fds=0x7fffc0004230, nfds=3, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffed4b66e9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2 0x00007fffed4b67fc in g_main_context_iteration ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3 0x00007ffff50fc81f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#4 0x00007ffff50a1a8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007ffff4ec2de4 in QThread::exec() ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#6 0x00007fffec7bba05 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5DBus.so.5
#7 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#8 0x00007fffee98d6db in start_thread (arg=0x7fffc5cad700)
---Type <return> to continue, or q <return> to quit---
at pthread_create.c:463
#9 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 5 (Thread 0x7fffe3369700 (LWP 5833)):
#0 0x00007ffff459ecb9 in __GI___poll (fds=0x7fffe3368b98, nfds=1, timeout=-1)
at ../sysdeps/unix/sysv/linux/poll.c:29
#1 0x00007fffec8bc747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2 0x00007fffec8be36a in xcb_wait_for_event ()
from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3 0x00007fffe4386ff0 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#4 0x00007ffff4ec442e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#5 0x00007fffee98d6db in start_thread (arg=0x7fffe3369700)
at pthread_create.c:463
#6 0x00007ffff45ab71f in clone ()
at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Thread 1 (Thread 0x7fffe4498d80 (LWP 5790)):
#0 0x00007ffff50a3484 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#1 0x00007ffff50fbbd9 in QTimerInfoList::activateTimers() ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#2 0x00007ffff50fc461 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#3 0x00007fffed4b6537 in g_main_context_dispatch ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4 0x00007fffed4b6770 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5 0x00007fffed4b67fc in g_main_context_iteration ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#6 0x00007ffff50fc81f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#7 0x00007ffff7571852 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaui.so.17
#8 0x00007ffff7952ed2 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaui.so.17
#9 0x00007ffff795449e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaui.so.17
#10 0x00007ffff6ae2844 in KisBusyWaitBroker::notifyWaitOnImageStarted(KisImage*) () from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaimage.so.17
#11 0x00007ffff6b66d09 in KisImage::waitForDone() ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaimage.so.17
#12 0x00007ffff6b66dc2 in KisImage::initialRefreshGraph() ()
---Type <return> to continue, or q <return> to quit---
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaimage.so.17
#13 0x00007ffff790abf8 in KisDocument::setCurrentImage(KisSharedPtr<KisImage>, bool) () from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaui.so.17
#14 0x00007ffff790f21c in KisDocument::copyFromDocumentImpl(KisDocument const&, KisDocument::CopyPolicy) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaui.so.17
#15 0x00007fffcbcbc11a in KisSnapshotModel::Private::switchToDocument(QPointer<KisDocument>) ()
from /tmp/.mount_kritaQyMff9/usr/lib/kritaplugins/kritasnapshotdocker.so
#16 0x00007fffcbcbcc04 in KisSnapshotModel::slotSwitchToSnapshot(QModelIndex const&) ()
from /tmp/.mount_kritaQyMff9/usr/lib/kritaplugins/kritasnapshotdocker.so
#17 0x00007fffcbcc3dab in KisSnapshotView::slotSwitchToSelectedSnapshot() ()
from /tmp/.mount_kritaQyMff9/usr/lib/kritaplugins/kritasnapshotdocker.so
#18 0x00007ffff50d0bc6 in QMetaObject::activate(QObject*, int, int, void**) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#19 0x00007ffff5b7a352 in QAction::triggered(bool) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#20 0x00007ffff5b7c8e0 in QAction::activate(QAction::ActionEvent) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#21 0x00007fffcbcc05f8 in SnapshotDocker::slotBnSwitchToClicked() ()
from /tmp/.mount_kritaQyMff9/usr/lib/kritaplugins/kritasnapshotdocker.so
#22 0x00007ffff50d0bc6 in QMetaObject::activate(QObject*, int, int, void**) ()
---Type <return> to continue, or q <return> to quit---
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#23 0x00007ffff5c6b702 in QAbstractButton::clicked(bool) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#24 0x00007ffff5c6b934 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#25 0x00007ffff5c6d58e in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#26 0x00007ffff5c6d70d in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#27 0x00007ffff5d57f1a in QToolButton::mouseReleaseEvent(QMouseEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#28 0x00007ffff5bc13b8 in QWidget::event(QEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#29 0x00007ffff5d57ff9 in QToolButton::event(QEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#30 0x00007ffff5b808dc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#31 0x00007ffff5b889d0 in QApplication::notify(QObject*, QEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#32 0x00007ffff78facb2 in KisApplication::notify(QObject*, QEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaui.so.17
#33 0x00007ffff50a34f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
---Type <return> to continue, or q <return> to quit---
#34 0x00007ffff5b87462 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#35 0x00007ffff5bdb17a in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#36 0x00007ffff5bde0e3 in ?? ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#37 0x00007ffff5b808dc in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#38 0x00007ffff5b87f20 in QApplication::notify(QObject*, QEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Widgets.so.5
#39 0x00007ffff78facb2 in KisApplication::notify(QObject*, QEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libkritaui.so.17
#40 0x00007ffff50a34f8 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
() from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#41 0x00007ffff5552bc7 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Gui.so.5
#42 0x00007ffff5554195 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Gui.so.5
#43 0x00007ffff553039b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
---Type <return> to continue, or q <return> to quit---
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Gui.so.5
#44 0x00007fffe438813a in ?? ()
from /tmp/.mount_kritaQyMff9/usr/plugins/platforms/../../lib/libQt5XcbQpa.so.5
#45 0x00007fffed4b6537 in g_main_context_dispatch ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007fffed4b6770 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007fffed4b67fc in g_main_context_iteration ()
from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007ffff50fc81f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#49 0x00007ffff50a1a8a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#50 0x00007ffff50aa804 in QCoreApplication::exec() ()
from /tmp/.mount_kritaQyMff9/usr/bin/../lib/libQt5Core.so.5
#51 0x0000000000407750 in main ()
(gdb)
Hi, mvowada! Could you please check this build? I have a feeling that it is the same crash reported in bug 447462 I fixed yesterday: https://binary-factory.kde.org/job/Krita_Stable_Appimage_Build/1346/ Hi Dmitry, thanks for helping with bug 447462 yesterday.:) Yes, here I can reproduce the crash consistently with Build #1346 (27-Dec-2021 6:34:00 PM): 1. create a hidden pattern layer 2. add a paint layer 3. take a snapshot 4. select and trim to selection 5. switch to sbapshot Please, let me know if you need further informations. (changed the title a bit) I can reproduce this issue. I'll try to fix it soon Git commit 3ce8590a94407ea17a6f3ce8d2772ea8a7e86075 by Dmitry Kazakov. Committed on 05/01/2022 at 10:38. Pushed by dkazakov into branch 'master'. Fix a crash when switching to a snapshot with fill layers We should replace the root before amitting any signals, because some of the layers may be subscribed to sigSizeChanged() signal (e.g. KisSelectionBasedLayer). So the old layers should be fully detached before we actually emit this signal. We should also explicitly detach the old root from the image to make sure it doesn't react on the new signals. M +24 -7 libs/image/kis_image.cc M +7 -2 libs/image/kis_selection_based_layer.cpp https://invent.kde.org/graphics/krita/commit/3ce8590a94407ea17a6f3ce8d2772ea8a7e86075 Git commit 71a2438ef2a41f9aa81710009247becde875c897 by Dmitry Kazakov. Committed on 05/01/2022 at 10:42. Pushed by dkazakov into branch 'krita/5.0'. Fix a crash when switching to a snapshot with fill layers We should replace the root before amitting any signals, because some of the layers may be subscribed to sigSizeChanged() signal (e.g. KisSelectionBasedLayer). So the old layers should be fully detached before we actually emit this signal. We should also explicitly detach the old root from the image to make sure it doesn't react on the new signals. (cherry picked from commit 3ce8590a94407ea17a6f3ce8d2772ea8a7e86075) M +24 -7 libs/image/kis_image.cc M +7 -2 libs/image/kis_selection_based_layer.cpp https://invent.kde.org/graphics/krita/commit/71a2438ef2a41f9aa81710009247becde875c897 |
Created attachment 144907 [details] Video example. SUMMARY (See also attached video example.) trim to selection > and then switch to a previous snapshot which had an hidden Fill Pattern Layer right below a visible Fill Color Layer STEPS TO REPRODUCE 1. File > New... 2. Add Fill Layer... > Pattern > OK 3. hide the pattern layer 4. Add Fill Layer... > Color > OK 5. Create snapshot 6. J (Elliptical Selection Tool) > drag on canvas to make a selection 7. Image > Trim to Selection 8. Snapshot docker > select the snapshot created in point 5. > Switch to selected snapshot OBSERVED RESULT Crash EXPECTED RESULT Switch to snapshot SOFTWARE/OS VERSIONS Krita Version: 5.0.1-alpha (git 603a2f6) Qt Version (compiled): 5.12.12 - Version (loaded): 5.12.12 OS Information: Ubuntu 18.04.6 LTS ADDITIONAL INFORMATION