Bug 317197 - crash when undo'ing the addition of a shape layer
Summary: crash when undo'ing the addition of a shape layer
Status: RESOLVED WORKSFORME
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: 2.6.2
Platform: Chakra Linux
: NOR crash
Target Milestone: ---
Assignee: Krita Bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2013-03-22 15:49 UTC by Richard Llom
Modified: 2013-12-31 06:51 UTC (History)
2 users (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 Richard Llom 2013-03-22 15:49:38 UTC
Application: krita (2.6.2)
KDE Platform Version: 4.10.1
Qt Version: 4.8.4
Operating System: Linux 3.7.6-2-CHAKRA x86_64
Distribution: "Chakra Linux"

-- Information about the crash:
- What I was doing when the application crashed:

I used "Paint with brushes using dynamic movements", as brush I had "Basic_paint_fill". The file was a small PNG.

Couldn't reproduce it on a second try.

Attached is a 3-star backtrace.

-- Backtrace:
Application: Krita (kdeinit4), signal: Aborted
Using host libthread_db library "/lib/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f615ab02780 (LWP 1436))]

Thread 4 (Thread 0x7f613989d700 (LWP 1449)):
#0  0x00007f6160dc38f4 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#1  0x00007f6161052abb in wait (time=18446744073709551615, this=0x4ce2ef0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x4ce2a70, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007f6160778566 in QFileInfoGatherer::run (this=0x4ce2a60) at dialogs/qfileinfogatherer.cpp:214
#4  0x00007f6161052519 in QThreadPrivate::start (arg=0x4ce2a60) at thread/qthread_unix.cpp:338
#5  0x00007f6160dbfe0e in start_thread () from /lib/libpthread.so.0
#6  0x00007f615fab01dd in clone () from /lib/libc.so.6

Thread 3 (Thread 0x7f613a89f700 (LWP 1450)):
#0  0x00007f615faa9e33 in select () from /lib/libc.so.6
#1  0x00007f616118b393 in qt_safe_select (nfds=23, fdread=0x7f6130eed938, fdwrite=0x7f6130eedbd0, fdexcept=0x7f6130eede68, orig_timeout=0x0) at kernel/qcore_unix.cpp:83
#2  0x00007f6161190533 in QEventDispatcherUNIXPrivate::doSelect (this=this@entry=0x7f6130eed780, flags=..., timeout=0x0) at kernel/qeventdispatcher_unix.cpp:223
#3  0x00007f6161191242 in QEventDispatcherUNIX::processEvents (this=0x7f6130110650, flags=...) at kernel/qeventdispatcher_unix.cpp:937
#4  0x00007f616115ad2f in QEventLoop::processEvents (this=this@entry=0x7f613a89edc0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007f616115af88 in QEventLoop::exec (this=0x7f613a89edc0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007f616104f76d in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#7  0x00007f6161139c33 in QInotifyFileSystemWatcherEngine::run (this=0x4ce2ff0) at io/qfilesystemwatcher_inotify.cpp:256
#8  0x00007f6161052519 in QThreadPrivate::start (arg=0x4ce2ff0) at thread/qthread_unix.cpp:338
#9  0x00007f6160dbfe0e in start_thread () from /lib/libpthread.so.0
#10 0x00007f615fab01dd in clone () from /lib/libc.so.6

Thread 2 (Thread 0x7f613909c700 (LWP 2188)):
[KCrash Handler]
#6  0x00007f615fa00c45 in raise () from /lib/libc.so.6
#7  0x00007f615fa020c8 in abort () from /lib/libc.so.6
#8  0x00007f6161047dff in qt_message_output (msgType=msgType@entry=QtFatalMsg, buf=<optimized out>) at global/qglobal.cpp:2323
#9  0x00007f6161047f78 in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, msg=0x7f61611c71e8 "ASSERT failure in %s: \"%s\", file %s, line %d", ap=ap@entry=0x7f613909b398) at global/qglobal.cpp:2369
#10 0x00007f6161048104 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2552
#11 0x00007f616115c084 in QCoreApplicationPrivate::checkReceiverThread (this=<optimized out>, receiver=<optimized out>) at kernel/qcoreapplication.cpp:524
#12 0x00007f6160240f0d in QApplication::notify (this=0x7fff3b69e7f0, receiver=0x5236b90, e=0x7f613909ba50) at kernel/qapplication.cpp:3841
#13 0x00007f614b5e8578 in KoApplication::notify(QObject*, QEvent*) () from /usr/lib/libkomain.so.11
#14 0x00007f616115c7ee in QCoreApplication::notifyInternal (this=0x7fff3b69e7f0, receiver=0x5236b90, event=0x7f613909ba50) at kernel/qcoreapplication.cpp:946
#15 0x00007f6161171d42 in sendEvent (event=0x7f613909ba50, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#16 QObjectPrivate::setParent_helper (this=this@entry=0x5237410, o=o@entry=0x0) at kernel/qobject.cpp:1933
#17 0x00007f6161174cb6 in QObject::~QObject (this=0x6668ef0, __in_chrg=<optimized out>) at kernel/qobject.cpp:931
#18 0x00007f6142e41359 in ?? () from /usr/lib/libkritaui.so.11
#19 0x00007f6142e3ed0f in KisShapeLayer::~KisShapeLayer() () from /usr/lib/libkritaui.so.11
#20 0x00007f6142e3ee39 in KisShapeLayer::~KisShapeLayer() () from /usr/lib/libkritaui.so.11
#21 0x00007f6142964739 in KisImageLayerAddCommand::~KisImageLayerAddCommand() () from /usr/lib/libkritaimage.so.11
#22 0x00007f614982ab8a in KUndo2QStack::push(KUndo2Command*) () from /usr/lib/libkundo2.so.11
#23 0x00007f6142a09836 in KisDocumentUndoStore::addCommand(KUndo2Command*) () from /usr/lib/libkritaimage.so.11
#24 0x00007f6142a0a9d7 in KisPostExecutionUndoAdapter::addCommand(QSharedPointer<KUndo2Command>) () from /usr/lib/libkritaimage.so.11
#25 0x00007f614295563d in KisPainter::endTransaction(KisPostExecutionUndoAdapter*) () from /usr/lib/libkritaimage.so.11
#26 0x00007f61429ce874 in void KisIndirectPaintingSupport::mergeToLayerImpl<KisPostExecutionUndoAdapter>(KisSharedPtr<KisLayer>, KisPostExecutionUndoAdapter*, QString const&) () from /usr/lib/libkritaimage.so.11
#27 0x00007f61429ce311 in KisIndirectPaintingSupport::mergeToLayer(KisSharedPtr<KisLayer>, KisPostExecutionUndoAdapter*, QString const&) () from /usr/lib/libkritaimage.so.11
#28 0x00007f6142f6b3ae in KisPainterBasedStrokeStrategy::finishStrokeCallback() () from /usr/lib/libkritaui.so.11
#29 0x00007f6142925e69 in ?? () from /usr/lib/libkritaimage.so.11
#30 0x00007f6161045da5 in QThreadPoolThread::run (this=0x62bc230) at concurrent/qthreadpool.cpp:107
#31 0x00007f6161052519 in QThreadPrivate::start (arg=0x62bc230) at thread/qthread_unix.cpp:338
#32 0x00007f6160dbfe0e in start_thread () from /lib/libpthread.so.0
#33 0x00007f615fab01dd in clone () from /lib/libc.so.6

Thread 1 (Thread 0x7f615ab02780 (LWP 1436)):
#0  0x00007f613dd850b0 in ?? () from /usr/lib/kde4/kritasmalltilesfilter.so
#1  0x00007f615fa037d1 in __run_exit_handlers () from /lib/libc.so.6
#2  0x00007f615fa03855 in exit () from /lib/libc.so.6
#3  0x00007f61602b06f8 in qt_xio_errhandler () at kernel/qapplication_x11.cpp:772
#4  0x00007f6161f164f8 in KApplication::xioErrhandler (this=0x7fff3b69e7f0, dpy=0xe35ac0) at /chakra/desktop-testing/kdelibs/src/kdelibs-4.10.1/kdeui/kernel/kapplication.cpp:419
#5  0x00007f61619dd38e in _XIOError () from /usr/lib/libX11.so.6
#6  0x00007f61619daecd in _XEventsQueued () from /usr/lib/libX11.so.6
#7  0x00007f61619cc56b in XEventsQueued () from /usr/lib/libX11.so.6
#8  0x00007f61602ea342 in QEventDispatcherX11::processEvents (this=0xc9b7d0, flags=...) at kernel/qeventdispatcher_x11.cpp:141
#9  0x00007f616115ad2f in QEventLoop::processEvents (this=this@entry=0x7fff3b69e740, flags=...) at kernel/qeventloop.cpp:149
#10 0x00007f616115af88 in QEventLoop::exec (this=0x7fff3b69e740, flags=...) at kernel/qeventloop.cpp:204
#11 0x00007f61611605a8 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#12 0x00007f614bb322b2 in kdemain () from /usr/lib/libkdeinit4_krita.so
#13 0x0000000000407fdb in launch (argc=argc@entry=2, _name=_name@entry=0xd5dfe8 "/usr/bin/krita", args=0xd5e017 "\001", args@entry=0xd5dff7 "/home/richard/Bilder/kcrash.png", cwd=cwd@entry=0x0, envc=envc@entry=1, envs=<optimized out>, envs@entry=0xd5e01f "DISPLAY=:0", reset_env=false, tty=tty@entry=0x0, avoid_loops=false, startup_id_str=startup_id_str@entry=0xd5e032 "chakra;1363954718;573847;1425_TIME4638624") at /chakra/desktop-testing/kdelibs/src/kdelibs-4.10.1/kinit/kinit.cpp:726
#14 0x0000000000408e2b in handle_launcher_request (sock=8, who=<optimized out>) at /chakra/desktop-testing/kdelibs/src/kdelibs-4.10.1/kinit/kinit.cpp:1218
#15 0x0000000000409485 in handle_requests (waitForPid=waitForPid@entry=0) at /chakra/desktop-testing/kdelibs/src/kdelibs-4.10.1/kinit/kinit.cpp:1411
#16 0x0000000000405117 in main (argc=4, argv=<optimized out>, envp=0x7fff3b69f5a0) at /chakra/desktop-testing/kdelibs/src/kdelibs-4.10.1/kinit/kinit.cpp:1899

Reported using DrKonqi
Comment 1 Halla Rempt 2013-03-23 10:00:10 UTC
Thanks for your report. The backtrace is a little puzzling, since the crash happens on removing a vector layer...  Or rather, the qFatal.
Comment 2 Halla Rempt 2013-03-31 11:42:46 UTC
Did you use vector layers in the image when you had a crash?
Comment 3 Richard Llom 2013-03-31 17:38:34 UTC
(In reply to comment #1)
> Thanks for your report. The backtrace is a little puzzling, since the crash
> happens on removing a vector layer...  Or rather, the qFatal.
Well, I had a vector layer before and just removed (undo'ed) it before.

(In reply to comment #2)
> Did you use vector layers in the image when you had a crash?
There were some in my undo/redo history, but not in the image (AFAIK).
Comment 4 Halla Rempt 2013-04-01 09:31:58 UTC
Okay -- that helps. Thanks for getting back to us!
Comment 5 Dmitry Kazakov 2013-05-08 14:12:06 UTC
I got such crash when playing with the Shape Layers and limited Undo Stack

Thread 1 (Thread 0x7f4c10dcc7a0 (LWP 24456)):
[KCrash Handler]
#6  0x00007f4c07e42a1a in __dynamic_cast () from /usr/lib64/libstdc++.so.6
#7  0x00007f4c0cf239b4 in KoResourcePopupAction::updateIcon (this=0x7d6e970) at /home/devel/kde-src/calligra/libs/widgets/KoResourcePopupAction.cpp:168
#8  0x00007f4c0cf2458f in indexChanged (modelIndex=<optimized out>, this=<optimized out>) at /home/devel/kde-src/calligra/libs/widgets/KoResourcePopupAction.cpp:147
#9  KoResourcePopupAction::qt_metacall (this=0x7d6e970, _c=<optimized out>, _id=1, _a=<optimized out>) at /home/devel/kde-build/calligra/libs/widgets/KoResourcePopupAction.moc:81
#10 0x00007f4c1024159a in QMetaObject::activate (sender=0x7d63250, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3287
#11 0x00007f4c0cf10568 in KoColorPopupButton::resizeEvent (this=0x7d63250, e=0x7fff3e167f90) at /home/devel/kde-src/calligra/libs/widgets/KoColorPopupButton.cpp:61
#12 0x00007f4c08c5f29c in QWidget::event (this=0x7d63250, event=0x7fff3e167f90) at kernel/qwidget.cpp:8449
#13 0x00007f4c08c0ebe4 in notify_helper (e=0x7fff3e167f90, receiver=0x7d63250, this=0x813c20) at kernel/qapplication.cpp:4481
#14 QApplicationPrivate::notify_helper (this=0x813c20, receiver=0x7d63250, e=0x7fff3e167f90) at kernel/qapplication.cpp:4453
#15 0x00007f4c08c13a71 in QApplication::notify (this=0x7fff3e169da0, receiver=0x7d63250, e=0x7fff3e167f90) at kernel/qapplication.cpp:4360
#16 0x00007f4c0ee5550e in KoApplication::notify (this=<optimized out>, receiver=0x7d63250, event=0x7fff3e167f90) at /home/devel/kde-src/calligra/libs/main/KoApplication.cpp:556
#17 0x00007f4c1022e81c in QCoreApplication::notifyInternal (this=0x7fff3e169da0, receiver=0x7d63250, event=0x7fff3e167f90) at kernel/qcoreapplication.cpp:787
#18 0x00007f4c08c5aef5 in sendEvent (event=0x7fff3e167f90, receiver=0x7d63250) at ../../src/corelib/kernel/qcoreapplication.h:215
#19 QWidgetPrivate::sendPendingMoveAndResizeEvents (this=0x7d64cc0, recursive=false, disableUpdates=<optimized out>) at kernel/qwidget.cpp:7365
#20 0x00007f4c08c62c61 in QWidgetPrivate::show_helper (this=0x7d64cc0) at kernel/qwidget.cpp:7416
#21 0x00007f4c08c62b87 in QWidgetPrivate::showChildren (this=<optimized out>, spontaneous=false) at kernel/qwidget.cpp:7783
#22 0x00007f4c08c62c7d in QWidgetPrivate::show_helper (this=0x8c4440) at kernel/qwidget.cpp:7422
#23 0x00007f4c08c63082 in QWidget::setVisible (this=0x8c4400, visible=<optimized out>) at kernel/qwidget.cpp:7697
#24 0x00007f4c0eec0e0b in show (this=0x8c4400) at /usr/include/QtGui/qwidget.h:487
#25 KoToolDocker::Private::recreateLayout (this=0x3fc59d0, optionWidgetList=<optimized out>) at /home/devel/kde-src/calligra/libs/main/KoToolDocker_p.cpp:153
#26 0x00007f4c0ee5d2ed in KoDockerManager::qt_metacall (this=0x39258e0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff3e168540) at /home/devel/kde-build/calligra/libs/main/KoDockerManager.moc:75
#27 0x00007f4c1024159a in QMetaObject::activate (sender=0x640eeb0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff3e168540) at kernel/qobject.cpp:3287
#28 0x00007f4c0c821ab2 in KoCanvasControllerWidget::toolOptionWidgetsChanged (this=<optimized out>, _t1=<optimized out>) at /home/devel/kde-build/calligra/libs/flake/KoCanvasControllerWidget.moc:97
#29 0x00007f4c0c837c4a in KoToolManager::Private::postSwitchTool (this=0x4c1de90, temporary=true) at /home/devel/kde-src/calligra/libs/flake/KoToolManager.cpp:372
#30 0x00007f4c0c839807 in switchTool (temporary=false, tool=0x701a600, this=0x4c1de90) at /home/devel/kde-src/calligra/libs/flake/KoToolManager.cpp:262
#31 KoToolManager::Private::switchTool (this=0x4c1de90, tool=0x701a600, temporary=false) at /home/devel/kde-src/calligra/libs/flake/KoToolManager.cpp:249
#32 0x00007f4c0c83a6df in KoToolManager::Private::switchTool (this=0x4c1de90, id=..., temporary=false) at /home/devel/kde-src/calligra/libs/flake/KoToolManager.cpp:286
#33 0x00007f4c0c83a9c3 in KoToolManager::switchBackRequested (this=0x4b01710) at /home/devel/kde-src/calligra/libs/flake/KoToolManager.cpp:836
#34 0x00007f4c0c83bd6c in KoToolManager::qt_metacall (this=0x4b01710, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fff3e168960) at /home/devel/kde-build/calligra/libs/flake/KoToolManager.moc:121
#35 0x00007f4c1024159a in QMetaObject::activate (sender=0x75748d0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3287
#36 0x00007f4c0c840390 in KoToolProxy::tabletEvent (this=0x644d050, event=<optimized out>, point=...) at /home/devel/kde-src/calligra/libs/flake/KoToolProxy.cpp:181
#37 0x00007f4c0fb80944 in KisToolInvocationAction::end (this=0x644d6e0, event=0x7fff3e169240) at /home/devel/kde-src/calligra/krita/ui/input/kis_tool_invocation_action.cpp:97
#38 0x00007f4c0fb86f69 in KisShortcutMatcher::tryEndRunningShortcut (this=0x644d640, button=<optimized out>, event=0x7fff3e169240) at /home/devel/kde-src/calligra/krita/ui/input/kis_shortcut_matcher.cpp:332
#39 0x00007f4c0fb87db1 in KisShortcutMatcher::buttonReleased (this=0x644d640, button=Qt::LeftButton, event=<optimized out>) at /home/devel/kde-src/calligra/krita/ui/input/kis_shortcut_matcher.cpp:149
#40 0x00007f4c0fb7a913 in KisInputManager::eventFilter (this=0x644d470, object=<optimized out>, event=0x7fff3e169240) at /home/devel/kde-src/calligra/krita/ui/input/kis_input_manager.cpp:410
#41 0x00007f4c1022e9a8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x64518d0, event=0x7fff3e169240) at kernel/qcoreapplication.cpp:902
#42 0x00007f4c08c0ebaf in notify_helper (e=0x7fff3e169240, receiver=0x64518d0, this=0x813c20) at kernel/qapplication.cpp:4477
#43 QApplicationPrivate::notify_helper (this=0x813c20, receiver=0x64518d0, e=0x7fff3e169240) at kernel/qapplication.cpp:4453
#44 0x00007f4c08c1436b in QApplication::notify (this=<optimized out>, receiver=0x64518d0, e=0x7fff3e169240) at kernel/qapplication.cpp:4042
#45 0x00007f4c0ee5550e in KoApplication::notify (this=<optimized out>, receiver=0x64518d0, event=0x7fff3e169240) at /home/devel/kde-src/calligra/libs/main/KoApplication.cpp:556
#46 0x00007f4c1022e81c in QCoreApplication::notifyInternal (this=0x7fff3e169da0, receiver=0x64518d0, event=0x7fff3e169240) at kernel/qcoreapplication.cpp:787
#47 0x00007f4c08c0fbb2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:215
#48 QApplicationPrivate::sendMouseEvent (receiver=0x64518d0, event=0x7fff3e169240, alienWidget=0x64518d0, nativeWidget=0x640eeb0, buttonDown=0x64518d0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3141
#49 0x00007f4c08c8bb55 in QETWidget::translateMouseEvent (this=0x640eeb0, event=<optimized out>) at kernel/qapplication_x11.cpp:4472
#50 0x00007f4c08c8aa2a in QApplication::x11ProcessEvent (this=0x7fff3e169da0, event=0x7fff3e169b10) at kernel/qapplication_x11.cpp:3598
#51 0x00007f4c08cb2cba in QEventDispatcherX11::processEvents (this=0x609b70, flags=...) at kernel/qeventdispatcher_x11.cpp:132
#52 0x00007f4c1022da22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#53 0x00007f4c1022dc1f in QEventLoop::exec (this=0x7fff3e169d60, flags=...) at kernel/qeventloop.cpp:201
#54 0x00007f4c10231de7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#55 0x00007f4c1079bead in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/devel/kde-src/calligra/krita/main.cc:79
#56 0x00007f4c075ac23d in __libc_start_main () from /lib64/libc.so.6
#57 0x0000000000400941 in _start () at ../sysdeps/x86_64/elf/start.S:113
Comment 6 Halla Rempt 2013-05-18 12:35:14 UTC
Dmitry, then  I guess we can confirm the bug.
Comment 7 Dmitry Kazakov 2013-12-31 06:51:02 UTC
Ok, it seems like the bug has already been fixed. We did some changes to the Shape Layers this year, so probably removed the cause of it. I just tried to reproduce the bug for about 15 minutes and it didn't crash.

Please reopen the bug if you still get the crash.