This happened when I was undoing a contiguous selection. I'm not sure what's going on, but I'm pretty sure that the assert is overkill. krita(4731): "[ 0: /usr/lib64/libkdecore.so.5(kRealBacktrace(int)+0x3b) [0x7fb37b22a86b] 1: /home/boud/kde/inst/lib64/libkritaimage.so.14(+0x253eea) [0x7fb38054feea] 2: /home/boud/kde/inst/lib64/libkritaimage.so.14(KisMergeWalker::startTripWithMask(QSharedPointer<KisProjectionLeaf>)+0x6f) [0x7fb380555c0f] 3: /home/boud/kde/inst/lib64/libkritaimage.so.14(KisMergeWalker::startTrip(QSharedPointer<KisProjectionLeaf>)+0x54) [0x7fb3805568a4] 4: /home/boud/kde/inst/lib64/libkritaimage.so.14(+0x26c136) [0x7fb380568136] 5: /home/boud/kde/inst/lib64/libkritaimage.so.14(KisSimpleUpdateQueue::processOneJob(KisUpdaterContext&)+0x48c) [0x7fb380562eec] 6: /home/boud/kde/inst/lib64/libkritaimage.so.14(KisSimpleUpdateQueue::processQueue(KisUpdaterContext&)+0x3b) [0x7fb380563d9b] 7: /home/boud/kde/inst/lib64/libkritaimage.so.14(KisUpdateScheduler::tryProcessUpdatesQueue()+0x2e) [0x7fb380569d7e] 8: /home/boud/kde/inst/lib64/libkritaimage.so.14(KisUpdateScheduler::processQueues()+0x9c) [0x7fb38056a22c] 9: /home/boud/kde/inst/lib64/libkritaimage.so.14(+0xe9bb8) [0x7fb3803e5bb8] 10: /usr/lib64/libQtCore.so.4(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x2da) [0x7fb37add21fa] 11: /home/boud/kde/inst/lib64/libkritaimage.so.14(+0xe9e3f) [0x7fb3803e5e3f] 12: /usr/lib64/libQtCore.so.4(QMetaObject::activate(QObject*, QMetaObject const*, int, void**)+0x2da) [0x7fb37add21fa] 13: /home/boud/kde/inst/lib64/libkritaimage.so.14(+0xee347) [0x7fb3803ea347] 14: /usr/lib64/libQtCore.so.4(+0x756ae) [0x7fb37acb06ae] 15: /usr/lib64/libQtCore.so.4(+0x8179f) [0x7fb37acbc79f] 16: /usr/X11R6/lib64/libGL.so.1(+0xaa754) [0x7fb37f9ac754] ] " ASSERT: "parentLayer" in file /home/boud/kde/src/calligra/krita/image/kis_base_rects_walker.h, line 388
Looks like this is very reproducible: Thread 4 (Thread 0x7feb69b57700 (LWP 5731)): [KCrash Handler] #5 0x00007febac41b187 in raise () at /lib64/libc.so.6 #6 0x00007febac41c538 in abort () at /lib64/libc.so.6 #7 0x00007febad7162b4 in qt_message_output(QtMsgType, char const*) () at /usr/lib64/libQtCore.so.4 #8 0x00007febad716439 in () at /usr/lib64/libQtCore.so.4 #9 0x00007febad716c44 in qFatal(char const*, ...) () at /usr/lib64/libQtCore.so.4 #10 0x00007febad716c8a in () at /usr/lib64/libQtCore.so.4 #11 0x00007febb2fb3f6a in KisBaseRectsWalker::adjustMasksChangeRect(QSharedPointer<KisProjectionLeaf>) (this=0x7feb5404fd70, firstMask=...) at /home/boud/kde/src/calligra/krita/image/kis_base_rects_walker.h:388 #12 0x00007febb2fb9c0f in KisMergeWalker::startTripWithMask(QSharedPointer<KisProjectionLeaf>) (this=this@entry=0x7feb5404fd60, filthyMask=...) at /home/boud/kde/src/calligra/krita/image/kis_merge_walker.cc:56 #13 0x00007febb2fba8a4 in KisMergeWalker::startTrip(QSharedPointer<KisProjectionLeaf>) (this=0x7feb5404fd60, startLeaf=...) at /home/boud/kde/src/calligra/krita/image/kis_merge_walker.cc:42 #14 0x00007febb2fcc136 in KisBaseRectsWalker::collectRects(KisSharedPtr<KisNode>, QRect const&) (this=this@entry=0x7feb5404fd70, node=..., requestedRect=...) at /home/boud/kde/src/calligra/krita/image/kis_base_rects_walker.h:131 #15 0x00007febb2fc6eec in KisSimpleUpdateQueue::processOneJob(KisUpdaterContext&) (requestedRect=..., this=0x7feb5404fd70) at /home/boud/kde/src/calligra/krita/image/kis_base_rects_walker.h:140 #16 0x00007febb2fc6eec in KisSimpleUpdateQueue::processOneJob(KisUpdaterContext&) (this=this@entry=0x64ae990, updaterContext=...) at /home/boud/kde/src/calligra/krita/image/kis_simple_update_queue.cpp:103 #17 0x00007febb2fc7d9b in KisSimpleUpdateQueue::processQueue(KisUpdaterContext&) (this=0x64ae990, updaterContext=...) at /home/boud/kde/src/calligra/krita/image/kis_simple_update_queue.cpp:86 #18 0x00007febb2fcdd7e in KisUpdateScheduler::tryProcessUpdatesQueue() (this=0x64b9180) at /home/boud/kde/src/calligra/krita/image/kis_update_scheduler.cpp:339 #19 0x00007febb2fce22c in KisUpdateScheduler::processQueues() (this=0x64b9180) at /home/boud/kde/src/calligra/krita/image/kis_update_scheduler.cpp:296 #20 0x00007febb2e49bb8 in KisUpdateScheduler::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x64b9180, _c=5731, _id=2, _a=0x7feb69b56a80) at /home/boud/kde/build/calligra/krita/image/moc_kis_update_scheduler.cpp:53 #21 0x00007febad8361fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4 #22 0x00007febb2e49e3f in KisUpdaterContext::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0x6493650, _c=5731, _id=3, _a=0x7feb69b56c00) at /home/boud/kde/build/calligra/krita/image/moc_kis_updater_context.cpp:58 #23 0x00007febad8361fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4 #24 0x00007febb2e4e347 in KisUpdateJobItem::run() (this=0x6490110) at /home/boud/kde/build/calligra/krita/image/moc_kis_update_job_item.cpp:116 #25 0x00007febb2e4e347 in KisUpdateJobItem::run() (this=0x6490110) at /home/boud/kde/build/calligra/krita/image/../../../../src/calligra/krita/image/kis_update_job_item.h:68 #26 0x00007febad7146ae in () at /usr/lib64/libQtCore.so.4 #27 0x00007febad72079f in () at /usr/lib64/libQtCore.so.4 #28 0x00007febb2410754 in () at /usr/X11R6/lib64/libGL.so.1 #29 0x00007febad48a0a4 in start_thread () at /lib64/libpthread.so.0 #30 0x00007febac4cb08d in clone () at /lib64/libc.so.6
This code doesn't exist anymore in that place.