Didn't try to reproduce. Thread 1 "krita" received signal SIGSEGV, Segmentation fault. KisAnimationFrameCache::dropLowQualityFrames (this=0x5555680667d0, range=..., regionOfInterest=..., minimalRect=...) at /home/wolthera/krita/src/libs/ui/kis_animation_frame_cache.cpp:355 355 while (it.key() <= range.end()) { (gdb) thread apply all backtrace Thread 5276 (Thread 0x7fff80ff9700 (LWP 6155)): #0 0x00007fffee02164b in futex_reltimed_wait_cancelable (private=<optimized out>, reltime=0x7fff80ff8b50, expected=0, futex_word=0x55556f216b70) at ../sysdeps/unix/sysv/linux/futex-internal.h:142 #1 0x00007fffee02164b in __pthread_cond_wait_common (abstime=0x7fff80ff8c10, mutex=0x55556f216b20, cond=0x55556f216b48) at pthread_cond_wait.c:533 #2 0x00007fffee02164b in __pthread_cond_timedwait (cond=0x55556f216b48, mutex=0x55556f216b20, abstime=0x7fff80ff8c10) at pthread_cond_wait.c:667 #3 0x00007ffff4c41588 in QWaitCondition::wait(QMutex*, unsigned long) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff4c3c7cc in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff4c4029d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffee01a7fc in start_thread (arg=0x7fff80ff9700) at pthread_create.c:465 #7 0x00007ffff432bb5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 6 (Thread 0x7fffbc671700 (LWP 27033)): #0 0x00007ffff431f951 in __GI___poll (fds=0x7fffa4002de0, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007fffec9f9169 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffec9f927c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff4e7647f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff4e1be3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff4c3b3ca in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffd9d32f45 in () at /usr/lib/x86_64-linux-gnu/libQt5Qml.so.5 #7 0x00007ffff4c4029d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007fffee01a7fc in start_thread (arg=0x7fffbc671700) at pthread_create.c:465 #9 0x00007ffff432bb5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 5 (Thread 0x7fffbbe70700 (LWP 27004)): #0 0x00007ffff42efbf8 in __GI___nanosleep (requested_time=0x7fffbbe6fcd0, remaining=0x7fffbbe6fcd0) at ../sysdeps/unix/sysv/linux/nanosleep.c:27 #1 0x00007ffff4e75e0d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #2 0x00007ffff1f6b2aa in KisTileDataSwapper::run() (this=0x7ffff2465fa0 <_ZZN12_GLOBAL__N_116Q_QGS_s_instance13innerFunctionEvE6holder+64>) at /home/wolthera/krita/src/libs/image/tiles3/swap/kis_tile_data_swapper.cpp:97 #3 0x00007ffff4c4029d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007fffee01a7fc in start_thread (arg=0x7fffbbe70700) at pthread_create.c:465 #5 0x00007ffff432bb5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 3 (Thread 0x7fffd4430700 (LWP 26801)): #0 0x00007ffff431f951 in __GI___poll (fds=0x7fffcc018e30, nfds=4, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007fffec9f9169 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #2 0x00007fffec9f927c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #3 0x00007ffff4e7647f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #4 0x00007ffff4e1be3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff4c3b3ca in QThread::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #6 0x00007fffee247e45 in () at /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 #7 0x00007ffff4c4029d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #8 0x00007fffee01a7fc in start_thread (arg=0x7fffd4430700) at pthread_create.c:465 #9 0x00007ffff432bb5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7fffe0f72700 (LWP 26795)): #0 0x00007ffff431f951 in __GI___poll (fds=0x7fffe0f71bb8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007ffff26c5747 in () at /usr/lib/x86_64-linux-gnu/libxcb.so.1 ---Type <return> to continue, or q <return> to quit--- #2 0x00007ffff26c753a in xcb_wait_for_event () at /usr/lib/x86_64-linux-gnu/libxcb.so.1 #3 0x00007fffe32bcf09 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #4 0x00007ffff4c4029d in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007fffee01a7fc in start_thread (arg=0x7fffe0f72700) at pthread_create.c:465 #6 0x00007ffff432bb5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7ffff7fa2440 (LWP 26699)): #0 0x00007ffff7526470 in KisAnimationFrameCache::dropLowQualityFrames(KisTimeRange const&, QRect const&, QRect const&) (this=0x5555680667d0, range=..., regionOfInterest=..., minimalRect=...) at /home/wolthera/krita/src/libs/ui/kis_animation_frame_cache.cpp:355 #1 0x00007ffff753726e in KisAnimationPlayer::play() (this=0x555568145a00) at /home/wolthera/krita/src/libs/ui/canvas/kis_animation_player.cpp:355 #2 0x00007fffc06162ab in AnimationDocker::slotPlayPause() (this=0x555567077a80) at /home/wolthera/krita/src/plugins/dockers/animation/animation_docker.cpp:340 #3 0x00007fffc066b015 in AnimationDocker::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/wolthera/krita/build/plugins/dockers/animation/kritaanimationdocker_autogen/EWIEGA46WW/moc_animation_docker.cpp:163 #4 0x00007ffff4e4c8e5 in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #5 0x00007ffff5b91d82 in QAction::triggered(bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #6 0x00007ffff5b9446c in QAction::activate(QAction::ActionEvent) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #7 0x00007ffff5d55afb in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #8 0x00007ffff5d55d54 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #9 0x00007ffff5d3508a in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #10 0x00007ffff5bd8dc8 in QWidget::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #11 0x00007ffff5d35124 in QToolButton::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #12 0x00007ffff5b9846c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #13 0x00007ffff5ba028f in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #14 0x00007ffff7467cb7 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555670c48d0, event=0x7fffffffd8e0) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:627 #15 0x00007ffff4e1dde8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #16 0x00007ffff5b9f262 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #17 0x00007ffff5bf394b in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #18 0x00007ffff5bf5fba in () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #19 0x00007ffff5b9846c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #20 0x00007ffff5b9fd34 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #21 0x00007ffff7467cb7 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x5555641b4540, event=0x7fffffffdd50) at /home/wolthera/krita/src/libs/ui/KisApplication.cpp:627 #22 0x00007ffff4e1dde8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #23 0x00007ffff53dcf43 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #24 0x00007ffff53dea25 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #25 0x00007ffff53b6cab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 #26 0x00007fffe331f5a0 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #27 0x00007fffec9f8fb7 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007fffec9f91f0 in () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x00007fffec9f927c in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0 #30 0x00007ffff4e7647f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #31 0x00007ffff4e1be3a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #32 0x00007ffff4e24da4 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #33 0x0000555555e8c745 in main(int, char**) (argc=<optimized out>, argv=0x7fffffffe3c8) at /home/wolthera/krita/src/krita/main.cc:395 (gdb) (gdb)
I've had this same crash twice more, but the cause is random.
Git commit aa16993845558a589689055cf64e51a4b4b4931f by Dmitry Kazakov. Committed on 18/06/2018 at 12:57. Pushed by dkazakov into branch 'master'. Possibly fix the crash when dropping low quality frames from animation cache I couldn't reproduce the bug, so I'm not sure it actually fixes the bug, but dereferencing end iterator sounds like a possible reason. M +3 -1 libs/ui/kis_animation_frame_cache.cpp https://commits.kde.org/krita/aa16993845558a589689055cf64e51a4b4b4931f
Git commit 208938c164121a9ad065f099e519986d39c7c92d by Boudewijn Rempt, on behalf of Dmitry Kazakov. Committed on 20/06/2018 at 13:12. Pushed by rempt into branch 'krita/4.1'. Possibly fix the crash when dropping low quality frames from animation cache I couldn't reproduce the bug, so I'm not sure it actually fixes the bug, but dereferencing end iterator sounds like a possible reason. M +3 -1 libs/ui/kis_animation_frame_cache.cpp https://commits.kde.org/krita/208938c164121a9ad065f099e519986d39c7c92d
Git commit 7dd9215b522fa2611650068a676acdd281f75403 by Andrey Kamakin, on behalf of Dmitry Kazakov. Committed on 26/06/2018 at 14:18. Pushed by akamakin into branch 'akamakin/T8628-multithreading-optimization'. Possibly fix the crash when dropping low quality frames from animation cache I couldn't reproduce the bug, so I'm not sure it actually fixes the bug, but dereferencing end iterator sounds like a possible reason. M +3 -1 libs/ui/kis_animation_frame_cache.cpp https://commits.kde.org/krita/7dd9215b522fa2611650068a676acdd281f75403