Bug 297393

Summary: crash when d&d a shape layer with a text box between images
Product: krita Reporter: Halla Rempt <halla>
Component: GeneralAssignee: Krita Bugs <krita-bugs-null>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE RPMs   
OS: Linux   
Latest Commit: Version Fixed In:

Description Halla Rempt 2012-04-03 14:45:56 UTC
Application: krita (2.5 Alpha 1)
KDE Platform Version: 4.7.2 (4.7.2) "release 5"
Qt Version: 4.8.0
Operating System: Linux 3.1.9-1.4-desktop x86_64
Distribution: "openSUSE 12.1 (x86_64)"

-- Information about the crash:
In the same process, when d&d a shape layer from one image to another, attached crash happens.

The crash can be reproduced every time.

-- Backtrace:
Application: Krita (krita), signal: Aborted
[Current thread is 1 (Thread 0x7fc87952a760 (LWP 17963))]

Thread 10 (Thread 0x7fc859f6e700 (LWP 17964)):
#0  0x00007fc8786a3e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc878937a6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc878933894 in QSemaphore::acquire(int) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc877af5a6e in KisTileDataPooler::waitForWork (this=0x1284080) at /home/boud/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:162
#4  0x00007fc877af6154 in KisTileDataPooler::run (this=0x1284080) at /home/boud/kde/src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:184
#5  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#7  0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 9 (Thread 0x7fc85976d700 (LWP 17965)):
#0  0x00007fc8786a3e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc878937a6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc878933cd9 in QSemaphore::tryAcquire(int, int) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc877b2ca1a in KisTileDataSwapper::run (this=0x12840b8) at /home/boud/kde/src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#4  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#5  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#6  0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 8 (Thread 0x7fc85890b700 (LWP 17970)):
#0  0x00007fc870212803 in select () from /lib64/libc.so.6
#1  0x00007fc878a60816 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc878a66300 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc878a667f3 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fc878a33682 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fc878a338d7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fc878934537 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007fc878a1348f in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 7 (Thread 0x7fc837fff700 (LWP 17982)):
#0  0x00007fc8786a3e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc878937a6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc871cdb904 in ?? () from /usr/lib64/libQtGui.so.4
#3  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 6 (Thread 0x7fc851429700 (LWP 17983)):
#0  0x00007fc870212803 in select () from /lib64/libc.so.6
#1  0x00007fc878a60816 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc878a66300 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc878a667f3 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fc878a33682 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fc878a338d7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fc878934537 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007fc878a1348f in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 5 (Thread 0x7fc85242b700 (LWP 17996)):
#0  0x00007fc8786a41eb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc8789379cf in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc87892addf in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 4 (Thread 0x7fc851c2a700 (LWP 17997)):
#0  0x00007fc8786a41eb in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc8789379cf in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc87892addf in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 3 (Thread 0x7fc8377fe700 (LWP 17998)):
#0  0x00007fc8786a3e6c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc878937a6b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc871cdb904 in ?? () from /usr/lib64/libQtGui.so.4
#3  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7fc836ffd700 (LWP 17999)):
#0  0x00007fc870212803 in select () from /lib64/libc.so.6
#1  0x00007fc878a60816 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc878a66300 in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc878a667f3 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fc878a33682 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fc878a338d7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fc878934537 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007fc878a1348f in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fc87893755b in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fc87869ff05 in start_thread () from /lib64/libpthread.so.0
#10 0x00007fc87021910d in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fc87952a760 (LWP 17963)):
[KCrash Handler]
#6  0x00007fc870172d95 in raise () from /lib64/libc.so.6
#7  0x00007fc8701742ab in abort () from /lib64/libc.so.6
#8  0x00007fc87892cc84 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/libQtCore.so.4
#9  0x00007fc87892ce3f in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007fc87892cfe4 in qFatal(char const*, ...) () from /usr/lib64/libQtCore.so.4
#11 0x00007fc87892d00e in qt_assert_x(char const*, char const*, char const*, int) () from /usr/lib64/libQtCore.so.4
#12 0x00007fc878211512 in operator-> (this=0x51c46d0) at /home/boud/kde/src/calligra/krita/image/kis_shared_ptr.h:373
#13 KisImageViewConverter::viewToDocumentX (this=0x51c46c0, viewX=354) at /home/boud/kde/src/calligra/krita/ui/kis_image_view_converter.cpp:63
#14 0x00007fc87817eaf9 in KisShapeLayer::setX (this=0x1c157d0, x=354) at /home/boud/kde/src/calligra/krita/ui/flake/kis_shape_layer.cc:221
#15 0x00007fc8782a08e8 in KisView2::dropEvent (this=0x4df8020, event=<optimized out>) at /home/boud/kde/src/calligra/krita/ui/kis_view2.cpp:473
#16 0x00007fc8718268e1 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#17 0x00007fc8717d5e84 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#18 0x00007fc8717db24f in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x00007fc872514e36 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#20 0x00007fc878a3489c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#21 0x00007fc87185cce3 in ?? () from /usr/lib64/libQtGui.so.4
#22 0x00007fc87185e243 in ?? () from /usr/lib64/libQtGui.so.4
#23 0x00007fc871860fc8 in ?? () from /usr/lib64/libQtGui.so.4
#24 0x00007fc878a3496c in QCoreApplicationPrivate::sendThroughApplicationEventFilters(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#25 0x00007fc8717d5df6 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#26 0x00007fc8717db5d3 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#27 0x00007fc872514e36 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#28 0x00007fc878a3489c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#29 0x00007fc8717d6e52 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#30 0x00007fc871852c05 in ?? () from /usr/lib64/libQtGui.so.4
#31 0x00007fc871851aca in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#32 0x00007fc87187a04a in ?? () from /usr/lib64/libQtGui.so.4
#33 0x00007fc878a33682 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#34 0x00007fc878a338d7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#35 0x00007fc871860cd3 in ?? () from /usr/lib64/libQtGui.so.4
#36 0x00007fc8717e7918 in QDrag::exec(QFlags<Qt::DropAction>, Qt::DropAction) () from /usr/lib64/libQtGui.so.4
#37 0x00007fc871d027d3 in QAbstractItemView::startDrag(QFlags<Qt::DropAction>) () from /usr/lib64/libQtGui.so.4
#38 0x00007fc877798204 in KoDocumentSectionView::startDrag (this=0x24e62f0, supportedActions=...) at /home/boud/kde/src/calligra/libs/main/KoDocumentSectionView.cpp:226
#39 0x00007fc871d0019e in QAbstractItemView::mouseMoveEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#40 0x00007fc8718265c8 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#41 0x00007fc871be25e6 in QFrame::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#42 0x00007fc871cf6abb in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#43 0x00007fc871d3e5d5 in QTreeView::viewportEvent(QEvent*) () from /usr/lib64/libQtGui.so.4
#44 0x00007fc87779647b in KoDocumentSectionView::viewportEvent (this=0x24e62f0, e=0x7fffcaf41790) at /home/boud/kde/src/calligra/libs/main/KoDocumentSectionView.cpp:154
#45 0x00007fc878a34a28 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#46 0x00007fc8717d5e4f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#47 0x00007fc8717db5d3 in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#48 0x00007fc872514e36 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#49 0x00007fc878a3489c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#50 0x00007fc8717d6e52 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#51 0x00007fc871852c05 in ?? () from /usr/lib64/libQtGui.so.4
#52 0x00007fc871851aca in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#53 0x00007fc87187a04a in ?? () from /usr/lib64/libQtGui.so.4
#54 0x00007fc878a33682 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#55 0x00007fc878a338d7 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#56 0x00007fc878a38435 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#57 0x00007fc878f5d4ed in kdemain (argc=<optimized out>, argv=<optimized out>) at /home/boud/kde/src/calligra/krita/main.cc:71
#58 0x00007fc87015f23d in __libc_start_main () from /lib64/libc.so.6
#59 0x0000000000400911 in _start () at ../sysdeps/x86_64/elf/start.S:113

Reported using DrKonqi
Comment 1 Halla Rempt 2012-04-04 08:09:33 UTC
Git commit 044ce0f84e2c9c7b4b3e61c0c26bcdc3d0d50c3f by Boudewijn Rempt.
Committed on 04/04/2012 at 10:09.
Pushed by rempt into branch 'master'.

Don't crash when d&d'ing a shape layer

The content of the shape layer isn't visible yet, though.

M  +2    -1    krita/image/kis_layer.cc
M  +1    -1    krita/image/kis_layer.h
M  +21   -3    krita/ui/flake/kis_shape_layer.cc
M  +2    -0    krita/ui/flake/kis_shape_layer.h
M  +4    -3    krita/ui/kis_view2.cpp

http://commits.kde.org/calligra/044ce0f84e2c9c7b4b3e61c0c26bcdc3d0d50c3f
Comment 2 Halla Rempt 2012-04-04 08:53:36 UTC
Git commit 9fcedeec0a37d605e863ea5b7ead91d59eca9341 by Boudewijn Rempt.
Committed on 04/04/2012 at 10:52.
Pushed by rempt into branch 'master'.

Fix D&D of shape layers

M  +14   -1    krita/ui/kis_view2.cpp

http://commits.kde.org/calligra/9fcedeec0a37d605e863ea5b7ead91d59eca9341