Bug 312867 - Krita crashes when merging down a clone layer
Summary: Krita crashes when merging down a clone layer
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: unspecified
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-08 09:44 UTC by Halla Rempt
Modified: 2013-01-14 03:30 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Halla Rempt 2013-01-08 09:44:25 UTC
Application: krita (2.7 Pre-Alpha)
KDE Platform Version: 4.9.4 "release 5"
Qt Version: 4.8.3
Operating System: Linux 3.4.11-2.16-desktop x86_64
Distribution: "openSUSE 12.2 (x86_64)"

-- Information about the crash:
* create a new image
* create a new layer, paint a bit
* clone the layer
* move the clone layer
* merge down the clone layer

-- Backtrace:
Application: Krita (krita), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f033f02b780 (LWP 14363))]

Thread 6 (Thread 0x7f031e482700 (LWP 14364)):
#0  0x00007f033e1858f4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f033e4184fb in wait (time=18446744073709551615, this=0x2a6cec0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2a6ce70, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f033e414407 in QSemaphore::acquire (this=0x2a74d90, n=1) at thread/qsemaphore.cpp:144
#4  0x00007f033d52b3d4 in waitForWork (this=0x2a74d80) at /home/boud/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:162
#5  KisTileDataPooler::run (this=0x2a74d80) at /home/boud/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:184
#6  0x00007f033e417f9c in QThreadPrivate::start (arg=0x2a74d80) at thread/qthread_unix.cpp:338
#7  0x00007f033e181e0e in start_thread () from /lib64/libpthread.so.0
#8  0x00007f033555f2cd in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7f031dc81700 (LWP 14365)):
#0  0x00007f033e1858f4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f033e4184fb in wait (time=18446744073709551615, this=0x2a6d250) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2a6d200, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f033e4147d8 in QSemaphore::tryAcquire (this=0x2a6cf30, n=1, timeout=<optimized out>) at thread/qsemaphore.cpp:221
#4  0x00007f033d55a16a in KisTileDataSwapper::run (this=0x2a74db8) at /home/boud/kde/src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007f033e417f9c in QThreadPrivate::start (arg=0x2a74db8) at thread/qthread_unix.cpp:338
#6  0x00007f033e181e0e in start_thread () from /lib64/libpthread.so.0
#7  0x00007f033555f2cd in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7f03177fe700 (LWP 14370)):
#0  0x00007f0335558f23 in select () from /lib64/libc.so.6
#1  0x00007f033e53f113 in qt_safe_select (nfds=23, fdread=0x7f0300000ac8, fdwrite=0x7f0300000d60, fdexcept=0x7f0300000ff8, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007f033e543ac4 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f0300000910, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f033e544c52 in QEventDispatcherUNIX::processEvents (this=0x7f03000008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:941
#4  0x00007f033e51285f in QEventLoop::processEvents (this=this@entry=0x7f03177fddd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f033e512ae8 in QEventLoop::exec (this=0x7f03177fddd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f033e414fc0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f033e4f2fcf in QInotifyFileSystemWatcherEngine::run (this=0x2fa1e60) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f033e417f9c in QThreadPrivate::start (arg=0x2fa1e60) at thread/qthread_unix.cpp:338
#9  0x00007f033e181e0e in start_thread () from /lib64/libpthread.so.0
#10 0x00007f033555f2cd in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7f02f9b05700 (LWP 14398)):
#0  0x00007f033e1858f4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007f033e4184fb in wait (time=18446744073709551615, this=0x45d1680) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x45d1200, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f033709b986 in QFileInfoGatherer::run (this=0x45d11f0) at dialogs/qfileinfogatherer.cpp:214
#4  0x00007f033e417f9c in QThreadPrivate::start (arg=0x45d11f0) at thread/qthread_unix.cpp:338
#5  0x00007f033e181e0e in start_thread () from /lib64/libpthread.so.0
#6  0x00007f033555f2cd in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f02f9304700 (LWP 14399)):
#0  0x00007f0335558f23 in select () from /lib64/libc.so.6
#1  0x00007f033e53f113 in qt_safe_select (nfds=52, fdread=0x7f02d4000ac8, fdwrite=0x7f02d4000d60, fdexcept=0x7f02d4000ff8, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007f033e543ac4 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f02d4000910, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f033e544c52 in QEventDispatcherUNIX::processEvents (this=0x7f02d40008f0, flags=...) at kernel/qeventdispatcher_unix.cpp:941
#4  0x00007f033e51285f in QEventLoop::processEvents (this=this@entry=0x7f02f9303dd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f033e512ae8 in QEventLoop::exec (this=0x7f02f9303dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f033e414fc0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007f033e4f2fcf in QInotifyFileSystemWatcherEngine::run (this=0x45d1780) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007f033e417f9c in QThreadPrivate::start (arg=0x45d1780) at thread/qthread_unix.cpp:338
#9  0x00007f033e181e0e in start_thread () from /lib64/libpthread.so.0
#10 0x00007f033555f2cd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f033f02b780 (LWP 14363)):
[KCrash Handler]
#5  0x00007f03354afd25 in raise () from /lib64/libc.so.6
#6  0x00007f03354b11a8 in abort () from /lib64/libc.so.6
#7  0x00007f033e40db24 in qt_message_output (msgType=msgType@entry=QtFatalMsg, buf=<optimized out>) at global/qglobal.cpp:2266
#8  0x00007f033e40dcd8 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=msg@entry=0x7f033e5765c8 "ASSERT: \"%s\" in file %s, line %d", ap=ap@entry=0x7fff75945cd8) at global/qglobal.cpp:2312
#9  0x00007f033e40de64 in qFatal (msg=msg@entry=0x7f033e5765c8 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2495
#10 0x00007f033e40deaa in qt_assert (assertion=<optimized out>, file=<optimized out>, line=<optimized out>) at global/qglobal.cpp:2013
#11 0x00007f033d589003 in operator-> (this=<optimized out>) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:181
#12 KisImageCommand::UpdateTarget::update (this=0x7fff75945fd0) at /home/boud/kde/src/calligra/krita/image/commands/kis_image_command.cpp:73
#13 0x00007f033d5a5a17 in KisImageLayerRemoveCommand::redo (this=<optimized out>) at /home/boud/kde/src/calligra/krita/image/commands/kis_image_layer_remove_command.cpp:56
#14 0x00007f0338f1e64f in KUndo2QStack::push (this=0x2dbae00, cmd=0x56ac5d0) at /home/boud/kde/src/calligra/libs/kundo2/kundo2stack.cpp:570
#15 0x00007f033d72b996 in KisDocumentUndoStore::addCommand (this=0x2d48fb0, command=0x56ac5d0) at /home/boud/kde/src/calligra/krita/image/kis_undo_stores.cpp:60
#16 0x00007f033d72c94a in addCommand (command=0x56ac5d0, this=0x2f365b0) at /home/boud/kde/src/calligra/krita/image/kis_legacy_undo_adapter.cpp:47
#17 KisLegacyUndoAdapter::addCommand (this=this@entry=0x2f365b0, command=command@entry=0x56ac5d0) at /home/boud/kde/src/calligra/krita/image/kis_legacy_undo_adapter.cpp:42
#18 0x00007f033d675f8a in KisImage::mergeDown (this=0x34ce000, layer=..., strategy=0x7f033d72c6c0 <KisLegacyUndoAdapter::addCommand(KUndo2Command*)>) at /home/boud/kde/src/calligra/krita/image/kis_image.cc:1001
#19 0x00007f033dcbb7a9 in KisLayerManager::mergeLayer (this=this@entry=0x48a25c0) at /home/boud/kde/src/calligra/krita/ui/kis_layer_manager.cc:805
#20 0x00007f033dcbd0dd in KisLayerManager::qt_static_metacall (_o=0x48a25c0, _c=<optimized out>, _id=<optimized out>, _a=0x7fff759467f0) at /home/boud/kde/build/calligra/krita/ui/kis_layer_manager.moc:105
#21 0x00007f033e52a39f in QMetaObject::activate (sender=0x48a32f0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff759467f0) at kernel/qobject.cpp:3556
#22 0x00007f0336baa542 in QAction::triggered (this=this@entry=0x48a32f0, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#23 0x00007f0336baa730 in QAction::activate (this=0x48a32f0, event=<optimized out>) at kernel/qaction.cpp:1257
#24 0x00007f0336fe3dc3 in QMenuPrivate::activateCausedStack (this=this@entry=0x6358c20, causedStack=..., action=action@entry=0x48a32f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1028
#25 0x00007f0336fea0d9 in QMenuPrivate::activateAction (this=0x6358c20, action=0x48a32f0, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1120
#26 0x00007f033797c7c0 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5
#27 0x00007f0336bffed0 in QWidget::event (this=0x6358840, event=0x7fff759473a0) at kernel/qwidget.cpp:8371
#28 0x00007f0336feb38b in QMenu::event (this=0x6358840, e=0x7fff759473a0) at widgets/qmenu.cpp:2469
#29 0x00007f0336bb074c in QApplicationPrivate::notify_helper (this=this@entry=0x17d54f0, receiver=receiver@entry=0x6358840, e=e@entry=0x7fff759473a0) at kernel/qapplication.cpp:4557
#30 0x00007f0336bb542b in QApplication::notify (this=<optimized out>, receiver=0x6358840, e=0x7fff759473a0) at kernel/qapplication.cpp:4100
#31 0x00007f033d0bfc88 in KoApplication::notify (this=<optimized out>, receiver=0x6358840, event=0x7fff759473a0) at /home/boud/kde/src/calligra/libs/main/KoApplication.cpp:523
#32 0x00007f033e513b0e in QCoreApplication::notifyInternal (this=0x7fff75947e40, receiver=0x6358840, event=0x7fff759473a0) at kernel/qcoreapplication.cpp:915
#33 0x00007f0336bb158b in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:231
#34 QApplicationPrivate::sendMouseEvent (receiver=0x6358840, event=0x7fff759473a0, alienWidget=0x0, nativeWidget=0x6358840, buttonDown=0x7f0337684248 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3168
#35 0x00007f0336c2bbdc in QETWidget::translateMouseEvent (this=this@entry=0x6358840, event=event@entry=0x7fff75947b20) at kernel/qapplication_x11.cpp:4452
#36 0x00007f0336c2aaa1 in QApplication::x11ProcessEvent (this=0x7fff75947e40, event=0x7fff75947b20) at kernel/qapplication_x11.cpp:3641
#37 0x00007f0336c51819 in QEventDispatcherX11::processEvents (this=0x15c7a70, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#38 0x00007f033e51285f in QEventLoop::processEvents (this=this@entry=0x7fff75947d90, flags=...) at kernel/qeventloop.cpp:149
#39 0x00007f033e512ae8 in QEventLoop::exec (this=0x7fff75947d90, flags=...) at kernel/qeventloop.cpp:204
#40 0x00007f033e517788 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#41 0x00007f033ea50722 in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/calligra/krita/main.cc:114
#42 0x00007f033549c455 in __libc_start_main () from /lib64/libc.so.6
#43 0x00000000004009d1 in _start () at ../sysdeps/x86_64/elf/start.S:113

Possible duplicates by query: bug 233000.

Reported using DrKonqi
Comment 1 Dmitry Kazakov 2013-01-08 13:52:36 UTC
Ack
Comment 2 Dmitry Kazakov 2013-01-08 15:53:19 UTC
Git commit d155101d7bf9ce086ed9f0ead2281ee8075815a5 by Dmitry Kazakov.
Committed on 08/01/2013 at 16:52.
Pushed by dkazakov into branch 'master'.

Fix a crash due to reincarnation when two nodes are removed simultaneously

M  +23   -5    krita/image/kis_image.cc
M  +2    -0    krita/image/kis_image.h

http://commits.kde.org/calligra/d155101d7bf9ce086ed9f0ead2281ee8075815a5
Comment 3 Inge Wallin 2013-01-14 03:30:51 UTC
Git commit 4b3aae0cf8e6d2881fa0e5dd9450445a2d21ddfc by Inge Wallin, on behalf of Dmitry Kazakov.
Committed on 08/01/2013 at 16:52.
Pushed by ingwa into branch 'text-annotations-ingwa'.

Fix a crash due to reincarnation when two nodes are removed simultaneously

M  +23   -5    krita/image/kis_image.cc
M  +2    -0    krita/image/kis_image.h

http://commits.kde.org/calligra/4b3aae0cf8e6d2881fa0e5dd9450445a2d21ddfc