The following backtrace: Thread 1 (Thread 0x7ffff7e0a8c0 (LWP 7245)): #0 0x00007ffff32c9954 in KisImage::animationInterface (this=0x1e37a420) at /home/wolthera/krita/src/libs/image/kis_image.cc:1690 #1 0x00007fffb2a48031 in KisTimeBasedItemModel::Private::baseNumFrames (this=0x1d583840) at /home/wolthera/krita/src/plugins/dockers/animation/kis_time_based_item_model.cpp:62 #2 KisTimeBasedItemModel::Private::effectiveNumFrames (this=<optimized out>) at /home/wolthera/krita/src/plugins/dockers/animation/kis_time_based_item_model.cpp:71 #3 KisTimeBasedItemModel::columnCount (this=<optimized out>, parent=...) at /home/wolthera/krita/src/plugins/dockers/animation/kis_time_based_item_model.cpp:170 #4 0x00007ffff5cfd4bd in QItemSelectionModel::isRowSelected(int, QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff690b5c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #6 0x00007ffff6915483 in QHeaderView::paintSection(QPainter*, QRect const&, int) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #7 0x00007fffb2a424b2 in TimelineLayersHeader::paintSection (this=0x1d59ecd0, painter=0x7fffffffb310, rect=..., logicalIndex=0) at /home/wolthera/krita/src/plugins/dockers/animation/timeline_layers_header.cpp:117 #8 0x00007ffff69132b7 in QHeaderView::paintEvent(QPaintEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #9 0x00007ffff66f36d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #10 0x00007ffff67d68fe in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #11 0x00007ffff6906833 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #12 0x00007ffff6914ce8 in QHeaderView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #13 0x00007fffb2a42d4b in TimelineLayersHeader::viewportEvent (this=0x1d59ecd0, e=0x7fffffffba00) at /home/wolthera/krita/src/plugins/dockers/animation/timeline_layers_header.cpp:213 #14 0x00007ffff5d4a502 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00007ffff66b23d5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #16 0x00007ffff66b9e07 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #17 0x00007ffff7898f57 in KisApplication::notify (this=<optimized out>, receiver=0x1d5a3380, event=0x7fffffffba00) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:558 #18 0x00007ffff5d4a798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #19 0x00007ffff66ec6ca in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #20 0x00007ffff66ecd11 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #21 0x00007ffff66c22b8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #22 0x00007ffff66c24f8 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #23 0x00007ffff66dbb1f in QWidgetPrivate::syncBackingStore() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #24 0x00007ffff66f38e8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #25 0x00007ffff67e51cb in QMainWindow::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #26 0x00007ffff6ec67c7 in KMainWindow::event (this=this@entry=0x1185920, ev=ev@entry=0x1e191a30) at /home/wolthera/krita/src/libs/widgetutils/xmlgui/kmainwindow.cpp:780 ---Type <return> to continue, or q <return> to quit--- #27 0x00007ffff6efebe9 in KXmlGuiWindow::event (this=0x1185920, ev=0x1e191a30) at /home/wolthera/krita/src/libs/widgetutils/xmlgui/kxmlguiwindow.cpp:125 #28 0x00007ffff66b23fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007ffff66b9e07 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007ffff7898f57 in KisApplication::notify (this=<optimized out>, receiver=0x1185920, event=0x1e191a30) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:558 #31 0x00007ffff5d4a798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #32 0x00007ffff5d4cf7b in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #33 0x00007ffff5da0323 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #34 0x00007fffee383197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #35 0x00007fffee3833f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #36 0x00007fffee38349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #37 0x00007ffff5d9f92f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #38 0x00007ffff5d487ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #39 0x00007ffff68e1aa7 in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007ffff78c9799 in KisMainWindow::slotFileNew (this=<optimized out>) at /home/wolthera/krita/src/libs/ui/KisMainWindow.cpp:1366 #41 0x00007ffff78da4ca in KisMainWindow::qt_static_metacall (_o=0x1185920, _c=<optimized out>, _id=<optimized out>, _a=0x7fffffffc900) at /home/wolthera/krita/build/libs/ui/moc_KisMainWindow.cpp:311 #42 0x00007ffff5d76c19 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #43 0x00007ffff66abf22 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #44 0x00007ffff66ae630 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #45 0x00007ffff680a3ea in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #46 0x00007ffff6811826 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #47 0x00007ffff68127c0 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #48 0x00007ffff66f36d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #49 0x00007ffff6814c73 in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #50 0x00007ffff66b23fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #51 0x00007ffff66baa2b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #52 0x00007ffff7898f57 in KisApplication::notify (this=<optimized out>, receiver=0x1dc94910, event=0x7fffffffcfa0) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:558 #53 0x00007ffff5d4a798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #54 0x00007ffff66b93cf in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #55 0x00007ffff670d856 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #56 0x00007ffff670fea3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #57 0x00007ffff66b23fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #58 0x00007ffff66b9e07 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #59 0x00007ffff7898f57 in KisApplication::notify (this=<optimized out>, receiver=0x1db2f930, event=0x7fffffffd420) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:558 #60 0x00007ffff5d4a798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 ---Type <return> to continue, or q <return> to quit--- #61 0x00007ffff613b940 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #62 0x00007ffff613d8a5 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #63 0x00007ffff6117ceb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #64 0x00007fffe58aee00 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #65 0x00007fffee383197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #66 0x00007fffee3833f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #67 0x00007fffee38349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #68 0x00007ffff5d9f92f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #69 0x00007ffff5d487ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #70 0x00007ffff5d51704 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #71 0x0000000000405193 in main (argc=1, argv=<optimized out>) at /home/wolthera/krita/src/krita/main.cc:272 (gdb) Other things of note: for some reason the timeline didn't empty itself after closing the animation file. We have had the same problem with the layer stack for a while now.
A very similar crash, also on close of animation file: Thread 1 "krita" received signal SIGSEGV, Segmentation fault. KisImageAnimationInterface::totalLength (this=0x1df48800) at /home/wolthera/krita/src/libs/image/kis_image_animation_interface.cpp:392 392 if (m_d->cachedLastFrameValue < 0) { (gdb) thread apply all backtrace Thread 10 (Thread 0x7fffaf190700 (LWP 9427)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007ffff5b728eb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #2 0x00007ffff68ced8a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #3 0x00007ffff5b71989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007fffef9746ba in start_thread (arg=0x7fffaf190700) at pthread_create.c:333 #5 0x00007ffff52683dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 9 (Thread 0x7fffae98f700 (LWP 9426)): #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007ffff5b728eb in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #2 0x00007ffff5b6ba16 in QSemaphore::tryAcquire(int, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007ffff31e4243 in KisTileDataSwapper::waitForWork (this=<optimised out>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:86 #4 0x00007ffff31e443a in KisTileDataSwapper::run (this=0x7ffff36b4b00 <(anonymous namespace)::Q_QGS_s_instance::innerFunction()::holder+64>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:92 #5 0x00007ffff5b71989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffef9746ba in start_thread (arg=0x7fffae98f700) at pthread_create.c:333 #7 0x00007ffff52683dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 3 (Thread 0x7fffd7aaf700 (LWP 9408)): #0 0x00007ffff525c70d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007fffee37c38c in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffee37c49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff5d9a92f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff5d437ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff5b6ccd4 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffefb9fb75 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #7 0x00007ffff5b71989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007fffef9746ba in start_thread (arg=0x7fffd7aaf700) at pthread_create.c:333 #9 0x00007ffff52683dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 Thread 2 (Thread 0x7fffe3228700 (LWP 9406)): #0 0x00007ffff525c70d in poll () at ../sysdeps/unix/syscall-template.S:84 #1 0x00007ffff3911c62 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #2 0x00007ffff39138d7 in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fffe5570329 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #4 0x00007ffff5b71989 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007fffef9746ba in start_thread (arg=0x7fffe3228700) at pthread_create.c:333 #6 0x00007ffff52683dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 ---Type <return> to continue, or q <return> to quit--- Thread 1 (Thread 0x7ffff7e0a8c0 (LWP 9400)): #0 KisImageAnimationInterface::totalLength (this=0x1df48800) at /home/wolthera/krita/src/libs/image/kis_image_animation_interface.cpp:392 #1 0x00007fffb6815093 in KisTimeBasedItemModel::Private::baseNumFrames (this=0x1d4964a0) at /home/wolthera/krita/src/plugins/dockers/animation/kis_time_based_item_model.cpp:65 #2 KisTimeBasedItemModel::Private::effectiveNumFrames (this=<optimised out>) at /home/wolthera/krita/src/plugins/dockers/animation/kis_time_based_item_model.cpp:71 #3 KisTimeBasedItemModel::columnCount (this=<optimised out>, parent=...) at /home/wolthera/krita/src/plugins/dockers/animation/kis_time_based_item_model.cpp:170 #4 0x00007ffff5cf84bd in QItemSelectionModel::isRowSelected(int, QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff69065c5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #6 0x00007ffff6910483 in QHeaderView::paintSection(QPainter*, QRect const&, int) const () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #7 0x00007fffb680f502 in TimelineLayersHeader::paintSection (this=0x1d4b4170, painter=0x7fffffffa750, rect=..., logicalIndex=0) at /home/wolthera/krita/src/plugins/dockers/animation/timeline_layers_header.cpp:117 #8 0x00007ffff690e2b7 in QHeaderView::paintEvent(QPaintEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #9 0x00007ffff66ee6d8 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #10 0x00007ffff67d18fe in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #11 0x00007ffff6901833 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #12 0x00007ffff690fce8 in QHeaderView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #13 0x00007fffb680fd9b in TimelineLayersHeader::viewportEvent (this=0x1d4b4170, e=0x7fffffffae40) at /home/wolthera/krita/src/plugins/dockers/animation/timeline_layers_header.cpp:213 #14 0x00007ffff5d45502 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #15 0x00007ffff66ad3d5 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #16 0x00007ffff66b4e07 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #17 0x00007ffff7898947 in KisApplication::notify (this=<optimised out>, receiver=0x1d4b8830, event=0x7fffffffae40) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:556 #18 0x00007ffff5d45798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #19 0x00007ffff66e76ca in QWidgetPrivate::sendPaintEvent(QRegion const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #20 0x00007ffff66e7d11 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #21 0x00007ffff66e8a0c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #22 0x00007ffff66e7881 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #23 0x00007ffff66e8a0c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #24 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #25 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #26 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #28 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore---Type <return> to continue, or q <return> to quit--- *) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007ffff66e7881 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007ffff66e8a0c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #31 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #32 0x00007ffff66e7881 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #33 0x00007ffff66e8a0c in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #34 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #35 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #36 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #37 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #38 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #39 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #40 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #41 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #42 0x00007ffff66e88f9 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #43 0x00007ffff66e7881 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #44 0x00007ffff66bd320 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #45 0x00007ffff66bda75 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #46 0x00007ffff670a41c in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #47 0x00007ffff670aed3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #48 0x00007ffff66ad3fc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #49 0x00007ffff66b4e07 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #50 0x00007ffff7898947 in KisApplication::notify (this=<optimised out>, receiver=0x1b9ec1b0, event=0x7fffffffd400) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:556 #51 0x00007ffff5d45798 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #52 0x00007ffff6137ced in QGuiApplicationPrivate::processExposeEvent(QWindowSystemInterfacePrivate::ExposeEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #53 0x00007ffff613891d in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 ---Type <return> to continue, or q <return> to quit--- #54 0x00007ffff6112ceb in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #55 0x00007fffe55cee00 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #56 0x00007fffee37c197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #57 0x00007fffee37c3f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #58 0x00007fffee37c49c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #59 0x00007ffff5d9a92f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #60 0x00007ffff5d437ca in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #61 0x00007ffff5d4c704 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #62 0x00000000004051b4 in main (argc=1, argv=<optimised out>) at /home/wolthera/krita/src/krita/main.cc:269 (gdb) (gdb) The big difference is that this is AFTER the first async branch merge.
Hm... I cannot reproduce it, and I don't see how this can happen -- the code does check whether the weak shared pointer to the image is still valid. int baseNumFrames() const { if (image.isNull()) return 0; KisImageAnimationInterface *i = image->animationInterface(); if (!i) return 1; return i->totalLength(); } Can you still reproduce the crash?
Git commit b4e91f627b85af4bd02b54935c7a770e125bf3ed by Boudewijn Rempt. Committed on 27/11/2017 at 08:48. Pushed by rempt into branch 'master'. Fix a possible crash on closing an animation We should always create a strongref from a weak shared pointer before dereferencing. M +4 -2 plugins/dockers/animation/kis_time_based_item_model.cpp https://commits.kde.org/krita/b4e91f627b85af4bd02b54935c7a770e125bf3ed