Bug 298345 - Krita crashes when merging filter layer with any layer below
Summary: Krita crashes when merging filter layer with any layer below
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Filter Layers (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: release_blocker
Depends on:
Blocks:
 
Reported: 2012-04-18 10:04 UTC by cornellg
Modified: 2012-07-14 07:04 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (18.36 KB, text/plain)
2012-05-03 22:45 UTC, Alexis
Details

Note You need to log in before you can comment on or make changes to this bug.
Description cornellg 2012-04-18 10:04:28 UTC
Krita 2.4 crashes consistently every time I try to merge down a desaturation filter layer that is sitting above a group layer containing multiple paint layers. Behaviour prior to the crash is normal - the desaturation filter layer does its work properly. I can provide the file if neccessary, although the crash occurs for newly brewed test files as well. Also tested using a levels filter layer - same problem.

Reproducible: Always

Steps to Reproduce:
1.create a group layer (with or without content)
2.create a filter layer (eg desaturation or levels) and place above the group layer
3.merge the filter layer with group layer below ("merge with layer below")
Actual Results:  
Krita crashes and shows the KDE crash handler. (The backtrace content seems to not be useful enough to send automatically.)

Expected Results:  
I wanted to desaturate all paint layers in the group layer and instead of doing them one by one, I did this expecting and intending the filter layer to be merged with each of the paint layers in the group layer simultaneously.

ubuntu 11.10 with Xfce 4.8 on an i7 machine.

backtrace content:

Application: Krita (krita), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fb74cd837c0 (LWP 4699))]

Thread 8 (Thread 0x7fb731d03700 (LWP 4701)):
#0  0x00007fb74c316473 in poll () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fb7455a7f68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fb7455a8792 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fb739c62516 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fb7455cd2b6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fb73f81756c in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#6  0x00007fb745a79efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007fb74c32259d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fb722333700 (LWP 4702)):
#0  0x00007fb745a7e04c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fb74a27b5ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fb74a2773e4 in QSemaphore::acquire(int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007fb72788dc6e in ?? () from /usr/lib/libkritaimage.so.9
#4  0x00007fb72788e354 in ?? () from /usr/lib/libkritaimage.so.9
#5  0x00007fb74a27b09b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007fb73f81756c in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#7  0x00007fb745a79efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#8  0x00007fb74c32259d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#9  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fb721b32700 (LWP 4703)):
#0  0x00007fb745a7e3cb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fb74a279d68 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fb74a27a560 in QThread::msleep(unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007fb7278aeefa in KisTileDataSwapper::run() () from /usr/lib/libkritaimage.so.9
#4  0x00007fb74a27b09b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007fb73f81756c in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#6  0x00007fb745a79efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#7  0x00007fb74c32259d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fb720ac8700 (LWP 4708)):
#0  0x00007fb74c31b613 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fb74a3a6466 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fb74a3ab910 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007fb74a3abe13 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fb74a378d82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007fb74a378fd7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007fb74a278077 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007fb74a358aff in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fb74a27b09b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fb73f81756c in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#10 0x00007fb745a79efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fb74c32259d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fb717aa9700 (LWP 4712)):
#0  0x00007fb74c31b613 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fb74a3a6466 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fb74a3ab910 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007fb74a3abe13 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fb74a378d82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007fb74a378fd7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007fb74a278077 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007fb74a358aff in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fb74a27b09b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fb73f81756c in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#10 0x00007fb745a79efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fb74c32259d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fb71161d700 (LWP 4732)):
#0  0x00007fb745a7e04c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007fb74a27b5ab in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fb74b274004 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#3  0x00007fb74a27b09b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fb73f81756c in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#5  0x00007fb745a79efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007fb74c32259d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fb710e1c700 (LWP 4733)):
#0  0x00007fb74c31b613 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007fb74a3a6466 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#2  0x00007fb74a3ab910 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#3  0x00007fb74a3abe13 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007fb74a378d82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007fb74a378fd7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007fb74a278077 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007fb74a358aff in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007fb74a27b09b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007fb73f81756c in ?? () from /usr/lib/nvidia-current-updates/libGL.so.1
#10 0x00007fb745a79efc in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#11 0x00007fb74c32259d in clone () from /lib/x86_64-linux-gnu/libc.so.6
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb74cd837c0 (LWP 4699)):
[KCrash Handler]
#6  0x00007fb727d5c650 in KisNodeDummy::parent() const () from /usr/lib/libkritaui.so.9
#7  0x00007fb727de0873 in KisModelIndexConverter::indexFromDummy(KisNodeDummy*) () from /usr/lib/libkritaui.so.9
#8  0x00007fb727ddda29 in KisNodeModel::indexFromNode(KisSharedPtr<KisNode>) const () from /usr/lib/libkritaui.so.9
#9  0x00007fb727ddda97 in KisNodeModel::progressPercentageChanged(int, KisSharedPtr<KisNode>) () from /usr/lib/libkritaui.so.9
#10 0x00007fb727ddf23e in ?? () from /usr/lib/libkritaui.so.9
#11 0x00007fb74a393546 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#12 0x00007fb74ad6d2e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007fb74ad72163 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007fb74ba9e466 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#15 0x00007fb74a379f9c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007fb74a37dd6a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#17 0x00007fb74ae1311a in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007fb74a378d82 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#19 0x00007fb74a378fd7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#20 0x00007fb74a37e067 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#21 0x00007fb74c7b121d in kdemain () from /usr/lib/kde4/libkdeinit/libkdeinit4_krita.so
#22 0x00007fb74c26030d in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#23 0x0000000000400661 in _start ()
Comment 1 Halla Rempt 2012-04-18 10:28:21 UTC
Hi,

Thanks for your report. I can indeed reproduce. I'll try to find a fix in time for 2.4.1.
Comment 2 cornellg 2012-04-18 12:53:07 UTC
Good luck!
O and Krita is made of pure AWESOME! It's just too much fun...
Cornell


On Wed, Apr 18, 2012 at 12:28 PM, Boudewijn Rempt <boud@valdyas.org> wrote:
> https://bugs.kde.org/show_bug.cgi?id=298345
>
> Boudewijn Rempt <boud@valdyas.org> changed:
>
>           What    |Removed                     |Added
> ----------------------------------------------------------------------------
>             Status|UNCONFIRMED                 |NEW
>                 CC|                            |boud@valdyas.org
>     Ever confirmed|0                           |1
>
> --- Comment #1 from Boudewijn Rempt <boud@valdyas.org> ---
> Hi,
>
> Thanks for your report. I can indeed reproduce. I'll try to find a fix in time
> for 2.4.1.
>
> --
> You are receiving this mail because:
> You reported the bug.
Comment 3 Alexis 2012-05-03 22:45:49 UTC
Created attachment 70844 [details]
New crash information added by DrKonqi

krita (2.5 Alpha 1) on KDE Platform 4.8.2 (4.8.2) using Qt 4.8.1

I opened an Image and made a filter layrer, than merged the layers. After that krita crashed

-- Backtrace (Reduced):
#6  KisNodeDummy::parent (this=0x0) at /home/canaldin/calligra/calligra-src/krita/ui/flake/kis_node_dummies_graph.cpp:75
#7  0x00007fe1f9f0c7e3 in KisModelIndexConverter::indexFromDummy (this=0x174ee800, dummy=0x0) at /home/canaldin/calligra/calligra-src/krita/ui/kis_model_index_converter.cpp:91
#8  0x00007fe1f9f09999 in KisNodeModel::indexFromNode (this=0x100e0b40, node=...) at /home/canaldin/calligra/calligra-src/krita/ui/kis_node_model.cpp:97
#9  0x00007fe1f9f09a07 in KisNodeModel::progressPercentageChanged (this=0x100e0b40, node=...) at /home/canaldin/calligra/calligra-src/krita/ui/kis_node_model.cpp:129
#10 0x00007fe1f9f0b1ae in KisNodeModel::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at /home/canaldin/calligra/calligra-build/krita/ui/kis_node_model.moc:82
Comment 4 Halla Rempt 2012-05-10 09:11:31 UTC
And it looks like the problem is because the asynch filtering sends progress updates that then arrive nowhere because the layer is gone.
Comment 5 Halla Rempt 2012-05-11 12:35:05 UTC
Got another backtrace that seems related: this happens when selecting something, moving the selection and then pressing undo.

Application: Krita (kdeinit4), signal: Aborted
[Current thread is 1 (Thread 0x7f010146e760 (LWP 22757))]

Thread 6 (Thread 0x7f00dcf4d700 (LWP 22758)):
#0  0x00007f00ffd17e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f00fffaba7b in wait (time=18446744073709551615, this=0x5327d20) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x5327cd0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f00fffa78a4 in QSemaphore::acquire (this=0x5327a20, n=1) at thread/qsemaphore.cpp:144
#4  0x00007f00edbbf98e in KisTileDataPooler::waitForWork (this=0x5327a10) at /home/boud/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:162
#5  0x00007f00edbc0074 in KisTileDataPooler::run (this=0x5327a10) at /home/boud/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:184
#6  0x00007f00fffab56b in QThreadPrivate::start (arg=0x5327a10) at thread/qthread_unix.cpp:298
#7  0x00007f00ffd13f05 in start_thread () from /lib64/libpthread.so.0
#8  0x00007f00fea7410d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f00dc74c700 (LWP 22759)):
#0  0x00007f00ffd17e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f00fffaba7b in wait (time=18446744073709551615, this=0x52d57a0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x52d5750, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f00fffa7ce9 in QSemaphore::tryAcquire (this=0x5327d90, n=1, timeout=-1) at thread/qsemaphore.cpp:221
#4  0x00007f00edbec22a in KisTileDataSwapper::run (this=0x5327a48) at /home/boud/kde/src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007f00fffab56b in QThreadPrivate::start (arg=0x5327a48) at thread/qthread_unix.cpp:298
#6  0x00007f00ffd13f05 in start_thread () from /lib64/libpthread.so.0
#7  0x00007f00fea7410d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f00d915a700 (LWP 22764)):
#0  0x00007f00fea6d803 in select () from /lib64/libc.so.6
#1  0x00007f01000d51a6 in qt_safe_select (nfds=22, fdread=0x7f00bc000ac8, fdwrite=0x7f00bc000d60, fdexcept=0x7f00bc000ff8, orig_timeout=<optimized out>) at kernel/qcore_unix.cpp:83
#2  0x00007f01000dac90 in QEventDispatcherUNIXPrivate::doSelect (this=0x7f00bc000910, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f01000db183 in QEventDispatcherUNIX::processEvents (this=0x7f00bc0008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:941
#4  0x00007f01000a8012 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f01000a8267 in QEventLoop::exec (this=0x7f00d9159df0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f00fffa8547 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f0100087dff in QInotifyFileSystemWatcherEngine::run (this=0x5826d00) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f00fffab56b in QThreadPrivate::start (arg=0x5826d00) at thread/qthread_unix.cpp:298
#9  0x00007f00ffd13f05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f00fea7410d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f00b3fff700 (LWP 22789)):
#0  0x00007f00ffd17e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f00fffaba7b in wait (time=18446744073709551615, this=0x7180300) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x717fe80, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f00ff7163b4 in ?? () from /usr/lib64/libQtGui.so.4
#4  0x00007f00fffab56b in QThreadPrivate::start (arg=0x717fe70) at thread/qthread_unix.cpp:298
#5  0x00007f00ffd13f05 in start_thread () from /lib64/libpthread.so.0
#6  0x00007f00fea7410d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f00b8f30700 (LWP 22790)):
#0  0x00007f00fea6d803 in select () from /lib64/libc.so.6
#1  0x00007f01000d51a6 in qt_safe_select (nfds=48, fdread=0x7f00a0000ac8, fdwrite=0x7f00a0000d60, fdexcept=0x7f00a0000ff8, orig_timeout=<optimized out>) at kernel/qcore_unix.cpp:83
#2  0x00007f01000dac90 in QEventDispatcherUNIXPrivate::doSelect (this=0x7f00a0000910, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f01000db183 in QEventDispatcherUNIX::processEvents (this=0x7f00a00008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:941
#4  0x00007f01000a8012 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f01000a8267 in QEventLoop::exec (this=0x7f00b8f2fdf0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f00fffa8547 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f0100087dff in QInotifyFileSystemWatcherEngine::run (this=0x7180400) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f00fffab56b in QThreadPrivate::start (arg=0x7180400) at thread/qthread_unix.cpp:298
#9  0x00007f00ffd13f05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007f00fea7410d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f010146e760 (LWP 22757)):
[KCrash Handler]
#6  0x00007f00fe9cdd95 in raise () from /lib64/libc.so.6
#7  0x00007f00fe9cf2ab in abort () from /lib64/libc.so.6
#8  0x00007f00fffa0c94 in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at global/qglobal.cpp:2252
#9  0x00007f00fffa0e4f in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7f010010cf88 "ASSERT: \"%s\" in file %s, line %d", ap=0x7fffe36b5748) at global/qglobal.cpp:2298
#10 0x00007f00fffa0ff4 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2481
#11 0x00007f00fffa103a in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:1999
#12 0x00007f00ee2343e4 in KisNodeDummiesGraph::nodeToDummy (this=0x5de98d0, node=...) at /home/boud/kde/src/calligra/krita/ui/flake/kis_node_dummies_graph.cpp:189
#13 0x00007f00ee23f158 in KisNodeShapesGraph::nodeToDummy (this=0x5de98d0, node=<optimized out>) at /home/boud/kde/src/calligra/krita/ui/flake/kis_node_shapes_graph.cpp:73
#14 0x00007f00ee2430cd in KisShapeController::dummyForNode (this=0x5375a40, node=<optimized out>) at /home/boud/kde/src/calligra/krita/ui/flake/kis_shape_controller.cpp:120
#15 0x00007f00ee235630 in KisDummiesFacadeBase::slotContinueRemoveNode (this=0x5375a40, node=...) at /home/boud/kde/src/calligra/krita/ui/flake/kis_dummies_facade_base.cpp:151
#16 0x00007f00ee1dd1da in KisDummiesFacadeBase::qt_static_metacall (_o=0x5375a40, _c=<optimized out>, _id=<optimized out>, _a=0x7fffe36b5f40) at /home/boud/kde/build/calligra/krita/ui/moc_kis_dummies_facade_base.cpp:93
#17 0x00007f01000bd0f1 in QMetaObject::activate (sender=0x5375a40, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffe36b5f40) at kernel/qobject.cpp:3556
#18 0x00007f00ee1daca5 in KisDummiesFacadeBase::sigContinueRemoveNode (this=<optimized out>, _t1=<optimized out>) at /home/boud/kde/build/calligra/krita/ui/moc_kis_dummies_facade_base.cpp:149
#19 0x00007f00ee237b33 in KisDummiesFacadeBase::slotRemoveNode (this=0x5375a40, node=...) at /home/boud/kde/src/calligra/krita/ui/flake/kis_dummies_facade_base.cpp:132
#20 0x00007f00ee1dcd6a in KisDummiesFacadeBase::qt_static_metacall (_o=0x5375a40, _c=<optimized out>, _id=<optimized out>, _a=0x7fffe36b65d0) at /home/boud/kde/build/calligra/krita/ui/moc_kis_dummies_facade_base.cpp:91
#21 0x00007f01000bd0f1 in QMetaObject::activate (sender=0x5df30c0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffe36b65d0) at kernel/qobject.cpp:3556
#22 0x00007f00edcfa575 in KisImage::sigRemoveNodeAsync (this=<optimized out>, _t1=<optimized out>) at /home/boud/kde/build/calligra/krita/image/kis_image.moc:265
#23 0x00007f00edcfe345 in KisImage::qt_static_metacall (_o=0x5df30c0, _c=<optimized out>, _id=9, _a=0x7fffe36b6840) at /home/boud/kde/build/calligra/krita/image/kis_image.moc:118
#24 0x00007f01000bd0f1 in QMetaObject::activate (sender=0x570b860, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffe36b6840) at kernel/qobject.cpp:3556
#25 0x00007f00edbb6df5 in KisImageSignalRouter::sigRemoveNodeAsync (this=<optimized out>, _t1=<optimized out>) at /home/boud/kde/build/calligra/krita/image/moc_kis_image_signal_router.cpp:186
#26 0x00007f00edd099d0 in KisImageSignalRouter::emitAboutToRemoveANode (this=0x570b860, parent=<optimized out>, index=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_image_signal_router.cpp:83
#27 0x00007f00edd31b23 in KisNode::remove (this=0x969070, index=2) at /home/boud/kde/src/calligra/krita/image/kis_node.cpp:305
#28 0x00007f00edd32a30 in KisNode::remove (this=0x969070, node=...) at /home/boud/kde/src/calligra/krita/image/kis_node.cpp:320
#29 0x00007f00edd3a8e3 in KisNodeFacade::removeNode (this=<optimized out>, node=...) at /home/boud/kde/src/calligra/krita/image/kis_node_facade.cpp:144
#30 0x00007f00edcfd61b in KisImage::setGlobalSelection (this=0x5df30c0, globalSelection=...) at /home/boud/kde/src/calligra/krita/image/kis_image.cc:214
#31 0x00007f00edc4fdf8 in KisSetGlobalSelectionCommand::undo (this=0x5f2d070) at /home/boud/kde/src/calligra/krita/image/commands/kis_set_global_selection_command.cpp:43
#32 0x00007f00eafae274 in KUndo2Command::undo (this=0x5c8a270) at /home/boud/kde/src/calligra/libs/kundo2/kundo2stack.cpp:230
#33 0x00007f00eafaec29 in undo (this=0x57028b0) at /home/boud/kde/src/calligra/libs/kundo2/kundo2stack.cpp:683
#34 KUndo2QStack::undo (this=0x57028b0) at /home/boud/kde/src/calligra/libs/kundo2/kundo2stack.cpp:672
#35 0x00007f00ee2b2778 in KisDoc2::UndoStack::undo (this=0x57028b0) at /home/boud/kde/src/calligra/krita/ui/kis_doc2_p.h:44
#36 0x00007f01000bd0f1 in QMetaObject::activate (sender=0x5e09220, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffe36b7070) at kernel/qobject.cpp:3556
#37 0x00007f00ff20ac22 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#38 0x00007f00ff20ae0f in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#39 0x00007f00ff20af7f in QAction::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#40 0x00007f0100d7be6a in KAction::event(QEvent*) () from /usr/lib64/libkdeui.so.5
#41 0x00007f00ff2110d4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#42 0x00007f00ff215f53 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#43 0x00007f0100e62186 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#44 0x00007f01000a922c in QCoreApplication::notifyInternal (this=0x7fffe36b89b0, receiver=0x5e09220, event=0x7fffe36b7690) at kernel/qcoreapplication.cpp:876
#45 0x00007f00ff242f69 in ?? () from /usr/lib64/libQtGui.so.4
#46 0x00007f00ff24445d in ?? () from /usr/lib64/libQtGui.so.4
#47 0x00007f00ff217b89 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#48 0x00007f0100e62186 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#49 0x00007f01000a922c in QCoreApplication::notifyInternal (this=0x7fffe36b89b0, receiver=0x7728b40, event=0x7fffe36b7c30) at kernel/qcoreapplication.cpp:876
#50 0x00007f00ff2b0659 in ?? () from /usr/lib64/libQtGui.so.4
#51 0x00007f00ff2b0acb in ?? () from /usr/lib64/libQtGui.so.4
#52 0x00007f00ff28c884 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#53 0x00007f00ff2b54da in ?? () from /usr/lib64/libQtGui.so.4
#54 0x00007f01000a8012 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#55 0x00007f01000a8267 in QEventLoop::exec (this=0x7fffe36b8970, flags=...) at kernel/qeventloop.cpp:204
#56 0x00007f01000acdc5 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#57 0x00007f00ee93f4ed in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/calligra/krita/main.cc:71
#58 0x0000000000408897 in launch (argc=1, _name=0x6890f8 "/home/boud/kde/inst/bin/krita", args=<optimized out>, cwd=0x0, envc=<optimized out>, envs=<optimized out>, reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x689131 "albetire;1336739470;321657;1687_TIME60876783") at /usr/src/debug/kdelibs-4.7.4/kinit/kinit.cpp:734
#59 0x0000000000409966 in handle_launcher_request (sock=8, who=<optimized out>) at /usr/src/debug/kdelibs-4.7.4/kinit/kinit.cpp:1226
#60 0x0000000000409ea7 in handle_requests (waitForPid=0) at /usr/src/debug/kdelibs-4.7.4/kinit/kinit.cpp:1419
#61 0x00000000004057a7 in main (argc=4, argv=0x7fff00000001, envp=0x7fffe36b9c90) at /usr/src/debug/kdelibs-4.7.4/kinit/kinit.cpp:1907
Comment 6 Sven Langkamp 2012-07-13 21:47:53 UTC
Git commit 7c8d946f3230a32fa59bc52dafe7cd600a2c5bbf by Sven Langkamp.
Committed on 13/07/2012 at 23:44.
Pushed by langkamp into branch 'master'.

Check if a node is still in the node graph before updating the progress. This is needed because a node might already be removed, but still signal from another thread can arrive.

M  +1    -0    krita/ui/flake/kis_dummies_facade_base.h
M  +5    -0    krita/ui/flake/kis_shape_controller.cpp
M  +1    -0    krita/ui/flake/kis_shape_controller.h
M  +6    -2    krita/ui/kis_node_model.cpp

http://commits.kde.org/calligra/7c8d946f3230a32fa59bc52dafe7cd600a2c5bbf
Comment 7 Cyrille Berger 2012-07-14 07:04:14 UTC
Git commit bf9cf0f8df3922c183830c4ce0d4a389ec3dc63f by Cyrille Berger, on behalf of Sven Langkamp.
Committed on 13/07/2012 at 23:44.
Pushed by berger into branch 'calligra/2.5'.

Check if a node is still in the node graph before updating the progress. This is needed because a node might already be removed, but still signal from another thread can arrive.

M  +1    -0    krita/ui/flake/kis_dummies_facade_base.h
M  +5    -0    krita/ui/flake/kis_shape_controller.cpp
M  +1    -0    krita/ui/flake/kis_shape_controller.h
M  +6    -2    krita/ui/kis_node_model.cpp

http://commits.kde.org/calligra/bf9cf0f8df3922c183830c4ce0d4a389ec3dc63f