Created attachment 136630 [details] Crash log for all threads SUMMARY I had one image made and then I made another, dragged&dropped a few layers, then played the animation, then I tried to move the frames. I got a safe assert, I clicked "Ignore" since I wanted to save documents first, I saved them, then I tried to move the frames again and it safe asserted again. STEPS TO REPRODUCE When I tried to reproduce it on fresh Krita with the same document, it didn't safe assert, so I don't have complete steps to reproduce. OBSERVED RESULT Crash EXPECTED RESULT No crash! :) SOFTWARE/OS VERSIONS Krita Version: 5.0.0-prealpha (git 4cb4711) Languages: pl_PL, pl, pl_PL, pl Hidpi: true Qt Version (compiled): 5.11.1 Version (loaded): 5.11.1 ADDITIONAL INFORMATION QAbstractItemModel::endInsertColumns: Invalid index ( 2 , 103 ) in model KisAnimTimelineFramesModel(0x55555eea5f70) SAFE ASSERT (krita): "srcNode" in file /home/tymon/kritadev/krita/plugins/dockers/animation/KisAnimTimelineFramesModel.cpp, line 701 () Empty filename passed to function () Empty filename passed to function SAFE ASSERT (krita): "image" in file /home/tymon/kritadev/krita/libs/ui/flake/kis_shape_selection.cpp, line 86 Thread 1 "krita" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 50 ../sysdeps/unix/sysv/linux/raise.c: Nie ma takiego pliku ani katalogu. (gdb) bt #0 0x00007ffff3d65ed7 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007ffff3d47535 in __GI_abort () at abort.c:79 #2 0x00007ffff452f8d7 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #3 0x00007ffff563c3b8 in kis_assert_common(char const*, char const*, int, bool, bool) (assertion=0x7ffff7b19b0c "image", file=0x7ffff7aa7e30 "/home/tymon/kritadev/krita/libs/ui/flake/kis_shape_selection.cpp", line=86, throwException=false, isIgnorable=true) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qarraydata.h:206 #4 0x00007ffff563c81d in kis_safe_assert_recoverable(char const*, char const*, int) (assertion=assertion@entry=0x7ffff7b19b0c "image", file=file@entry=0x7ffff7aa7e30 "/home/tymon/kritadev/krita/libs/ui/flake/kis_shape_selection.cpp", line=line@entry=86) at /home/tymon/kritadev/krita/libs/global/kis_assert.cpp:107 #5 0x00007ffff6c84e30 in KisShapeSelection::init(KisSharedPtr<KisImage>, KoShapeControllerBase*) (this=0x55556992a550, image=..., shapeControllerBase=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qdebug.h:125 #6 0x00007ffff6c85d71 in KisShapeSelection::KisShapeSelection(KisShapeSelection const&, KisSelection*) (this=0x55556992a550, rhs=..., selection=<optimized out>) at /home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:419 #7 0x00007ffff6c866c6 in non-virtual thunk to KisShapeSelection::clone(KisSelection*) () at /home/tymon/kritadev/krita/libs/ui/flake/kis_shape_selection.cpp:108 #8 0x00007ffff5cd623c in KisSelection::copyFrom(KisSelection const&) (this=0x555570a67c40, rhs=...) at /home/tymon/kritadev/krita/libs/image/kis_selection.cc:233 #9 0x00007ffff5cd6829 in KisSelection::KisSelection(KisSelection const&) (this=0x555570a67c40, rhs=...) at /home/tymon/kritadev/krita/libs/image/kis_selection.cc:194 #10 0x00007ffff5c37263 in KisMask::KisMask(KisMask const&) (this=0x5555726e3d90, rhs=...) at /home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:136 #11 0x00007ffff5b626f9 in KisEffectMask::KisEffectMask(KisEffectMask const&) (this=0x5555726e3d90, rhs=...) at /home/tymon/kritadev/krita/libs/image/kis_effect_mask.cc:23 #12 0x00007ffff5cdda2f in KisSelectionMask::KisSelectionMask(KisSelectionMask const&) (this=0x5555726e3d90, rhs=...) at /home/tymon/kritadev/krita/libs/image/kis_selection_mask.cpp:68 #13 0x00007ffff5ce0132 in KisSelectionMask::clone() const (this=0x55556431de70) at /home/tymon/kritadev/krita/libs/image/kis_selection_mask.h:39 #14 0x00007ffff5c79379 in KisNode::KisNode(KisNode const&) (this=0x5555728f6450, rhs=...) at /home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:164 #15 0x00007ffff5c06827 in KisLayer::KisLayer(KisLayer const&) (this=0x5555728f6450, rhs=...) at /home/tymon/kritadev/krita/libs/image/kis_layer.cc:194 #16 0x00007ffff5bcab7b in KisGroupLayer::KisGroupLayer(KisGroupLayer const&) (this=0x5555728f6450, rhs=...) at /home/tymon/kritadev/krita/libs/image/kis_group_layer.cc:54 #17 0x00007ffff5e0a5d2 in KisGroupLayer::clone() const (this=0x555569a2e930) at /home/tymon/kritadev/build/libs/image/kritaimage_autogen/EWIEGA46WW/../../../../../krita/libs/image/kis_group_layer.h:31 #18 0x00007ffff5be410f in KisImage::copyFromImageImpl(KisImage const&, int) (this=0x55555ec81ee0, rhs=..., policy=1) at /home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:163 #19 0x00007ffff5be539a in KisImage::KisImage(KisImage const&, KisUndoStore*, bool) (this=0x55555ec81ee0, rhs=..., undoStore=<optimized out>, exactCopy=<optimized out>) at /home/tymon/kritadev/krita/libs/image/kis_image.cc:489 #20 0x00007ffff5be5456 in KisImage::clone(bool) (this=0x555571df62a0, exactCopy=<optimized out>) at /home/tymon/kritadev/krita/libs/image/kis_image.cc:347 #21 0x00007fffc5f3c674 in KisStoryboardThumbnailRenderScheduler::renderNextFrame() (this=0x55555f377920) at /home/tymon/kritadev/krita/libs/global/kis_shared_ptr.h:167 #22 0x00007fffc5f3cf41 in KisStoryboardThumbnailRenderScheduler::slotStartFrameRendering() (this=<optimized out>) at /home/tymon/kritadev/krita/plugins/dockers/storyboarddocker/KisStoryboardThumbnailRenderScheduler.cpp:88 #23 0x00007fffc5f46085 in KisStoryboardThumbnailRenderScheduler::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/tymon/kritadev/build/plugins/dockers/storyboarddocker/kritastoryboarddocker_autogen/EWIEGA46WW/moc_KisStoryboardThumbnailRenderScheduler.cpp:97 #24 0x00007ffff47426db in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x00007ffff47426db in QMetaObject::activate(QObject*, int, int, void**) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #26 0x00007ffff474e407 in QTimer::timeout(QTimer::QPrivateSignal) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #27 0x00007ffff4742f4b in QObject::event(QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x00007ffff50d84a1 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007ffff50dfae0 in QApplication::notify(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007ffff6ff78a7 in KisApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x55555f3773b0, event=0x7fffffffd870) at /home/tymon/kritadev/krita/libs/ui/KisApplication.cpp:710 #31 0x00007ffff4719499 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #32 0x00007ffff476a558 in QTimerInfoList::activateTimers() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #33 0x00007ffff476adb4 in () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #34 0x00007ffff0637d5e in g_main_context_dispatch () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #35 0x00007ffff0637ff8 in () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #36 0x00007ffff063808c in g_main_context_iteration () at /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 #37 0x00007ffff476b143 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #38 0x00007fffea76de51 in () at /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #39 0x00007ffff471816b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #40 0x00007ffff47202e2 in QCoreApplication::exec() () at /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 #41 0x0000555555e2a21b in main (argc=<optimized out>, argv=0x7fffffffde28) at /home/tymon/kritadev/krita/krita/main.cc:663 #42 0x00007ffff3d48b6b in __libc_start_main (main=0x555555e28890 <main>, argc=1, argv=0x7fffffffde28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde18) at ../csu/libc-start.c:308 #43 0x0000555555e2b2da in _start () at /home/tymon/kritadev/krita/krita/main.cc:468
Hey Tiar, So far, I've tried every type of movement of layers between images and have failed to reproduce it. I've even tried moving to undesired layers (shape layers, selection layers, etc) after moving layers between documents and didn't run into the crash while running through GDB. Judging solely by the backtrace, it seems like this might be due to the way the Storyboard docker used to request a time switch. I've recently changed it to be more image-thread compliant, so it could be that this bug has been resolved as a byproduct of that change. So I'm going to mark this as NEEDSINFO for now until we can get a consistent reproduction of this crash.
Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone!
This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone!