Summary: | Krita crashes when merging filter layer with any layer below | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | cornellg |
Component: | Filter Layers | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | canaldin, halla |
Priority: | NOR | Keywords: | release_blocker |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | http://commits.kde.org/calligra/bf9cf0f8df3922c183830c4ce0d4a389ec3dc63f | Version Fixed In: | |
Attachments: | New crash information added by DrKonqi |
Description
cornellg
2012-04-18 10:04:28 UTC
Hi, Thanks for your report. I can indeed reproduce. I'll try to find a fix in time for 2.4.1. 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. 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
And it looks like the problem is because the asynch filtering sends progress updates that then arrive nowhere because the layer is gone. 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 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 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 |