Bug 290563 - Trying to create any selection with a tool creashes Krita
Summary: Trying to create any selection with a tool creashes Krita
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: General (show other bugs)
Version: git master (please specify the git hash!)
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-01-04 07:37 UTC by Dmitry Kazakov
Modified: 2012-01-05 09:15 UTC (History)
0 users

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 Dmitry Kazakov 2012-01-04 07:37:08 UTC
Backtrace:

Application: Krita (krita), signal: Aborted
[Current thread is 1 (Thread 0x7fc07e541760 (LWP 17990))]

Thread 8 (Thread 0x7fc063c69700 (LWP 17992)):
#0  0x00007fc07da8638c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc07dd1114b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc07dd0dad5 in QSemaphore::acquire(int) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc07d018e9a in KisTileDataPooler::waitForWork (this=0x4bea0b0) at /home/devel/kde-src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:162
#4  0x00007fc07d018f29 in KisTileDataPooler::run (this=0x4bea0b0) at /home/devel/kde-src/calligra/krita/image/tiles3/kis_tile_data_pooler.cc:184
#5  0x00007fc07dd10a5e in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007fc07da81a3f in start_thread () from /lib64/libpthread.so.0
#7  0x00007fc07577467d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fc063468700 (LWP 17993)):
#0  0x00007fc07da8638c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc07dd1114b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc07dd0dd09 in QSemaphore::tryAcquire(int, int) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc07d0399fa in KisTileDataSwapper::waitForWork (this=0x4bea0e8) at /home/devel/kde-src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:86
#4  0x00007fc07d039a14 in KisTileDataSwapper::run (this=0x4bea0e8) at /home/devel/kde-src/calligra/krita/image/tiles3/swap/kis_tile_data_swapper.cpp:92
#5  0x00007fc07dd10a5e in ?? () from /usr/lib64/libQtCore.so.4
#6  0x00007fc07da81a3f in start_thread () from /lib64/libpthread.so.0
#7  0x00007fc07577467d in clone () from /lib64/libc.so.6
#8  0x0000000000000000 in ?? ()

Thread 6 (Thread 0x7fc05891d700 (LWP 17998)):
#0  0x00007fc07576dc73 in select () from /lib64/libc.so.6
#1  0x00007fc07de21981 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc07de2696d in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc07de27bcf in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fc07ddf9052 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fc07ddf9265 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fc07dd0e1e4 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007fc07ddda968 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fc07dd10a5e in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fc07da81a3f in start_thread () from /lib64/libpthread.so.0
#10 0x00007fc07577467d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fc04effd700 (LWP 18026)):
#0  0x00007fc07da8638c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc07dd1114b in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc0771aa4f4 in ?? () from /usr/lib64/libQtGui.so.4
#3  0x00007fc07dd10a5e in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc07da81a3f in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc07577467d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fc04e7fc700 (LWP 18027)):
#0  0x00007fc07576dc73 in select () from /lib64/libc.so.6
#1  0x00007fc07de21981 in qt_safe_select(int, fd_set*, fd_set*, fd_set*, timeval const*) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc07de2696d in QEventDispatcherUNIXPrivate::doSelect(QFlags<QEventLoop::ProcessEventsFlag>, timeval*) () from /usr/lib64/libQtCore.so.4
#3  0x00007fc07de27bcf in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#4  0x00007fc07ddf9052 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#5  0x00007fc07ddf9265 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#6  0x00007fc07dd0e1e4 in QThread::exec() () from /usr/lib64/libQtCore.so.4
#7  0x00007fc07ddda968 in ?? () from /usr/lib64/libQtCore.so.4
#8  0x00007fc07dd10a5e in ?? () from /usr/lib64/libQtCore.so.4
#9  0x00007fc07da81a3f in start_thread () from /lib64/libpthread.so.0
#10 0x00007fc07577467d in clone () from /lib64/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fc056b93700 (LWP 18030)):
#0  0x00007fc07da866f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc07dd110b2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc07dd06eb8 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007fc07dd10a5e in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc07da81a3f in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc07577467d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc055b91700 (LWP 18031)):
#0  0x00007fc07da866f9 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1  0x00007fc07dd110b2 in QWaitCondition::wait(QMutex*, unsigned long) () from /usr/lib64/libQtCore.so.4
#2  0x00007fc07dd06eb8 in ?? () from /usr/lib64/libQtCore.so.4
#3  0x00007fc07dd10a5e in ?? () from /usr/lib64/libQtCore.so.4
#4  0x00007fc07da81a3f in start_thread () from /lib64/libpthread.so.0
#5  0x00007fc07577467d in clone () from /lib64/libc.so.6
#6  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc07e541760 (LWP 17990)):
[KCrash Handler]
#6  0x00007fc0756d3ab5 in raise () from /lib64/libc.so.6
#7  0x00007fc0756d4fb6 in abort () from /lib64/libc.so.6
#8  0x00007fc07dd088a4 in qt_message_output(QtMsgType, char const*) () from /usr/lib64/libQtCore.so.4
#9  0x00007fc07dd08a6d in ?? () from /usr/lib64/libQtCore.so.4
#10 0x00007fc07dd08c05 in qFatal(char const*, ...) () from /usr/lib64/libQtCore.so.4
#11 0x00007fc07dd08c4a in qt_assert(char const*, char const*, int) () from /usr/lib64/libQtCore.so.4
#12 0x00007fc07d111809 in PaintDeviceCache::createThumbnail (this=0x7fc05d9f9ab8, w=32, h=32) at /home/devel/kde-src/calligra/krita/image/kis_paint_device.cc:135
#13 0x00007fc07d10bf29 in KisPaintDevice::createThumbnail (this=0x7fc05d9e82a0, w=32, h=32) at /home/devel/kde-src/calligra/krita/image/kis_paint_device.cc:783
#14 0x00007fc05998141b in KisUndoModel::addImage (this=0x7fc05224bc80, idx=1) at /home/devel/kde-src/calligra/krita/plugins/extensions/dockers/historydocker/KisUndoModel.cpp:237
#15 0x00007fc05997e193 in KisUndoModel::qt_metacall (this=0x7fc05224bc80, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fff38ae9ce0) at /home/devel/kde-build/calligra/krita/plugins/extensions/dockers/historydocker/moc_KisUndoModel.cpp:80
#16 0x00007fc07de0edef in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#17 0x00007fc07900859e in KUndo2QStack::indexChanged (this=0x7fc05c010d20, _t1=1) at /home/devel/kde-build/calligra/libs/kundo2/moc_kundo2stack.cpp:149
#18 0x00007fc0790095fb in KUndo2QStack::setIndex (this=0x7fc05c010d20, idx=1, clean=false) at /home/devel/kde-src/calligra/libs/kundo2/kundo2stack.cpp:424
#19 0x00007fc07900a7f8 in KUndo2QStack::endMacro (this=0x7fc05c010d20) at /home/devel/kde-src/calligra/libs/kundo2/kundo2stack.cpp:954
#20 0x00007fc07cc50ca5 in KoDocument::endMacro (this=0x7fc05c0a9030) at /home/devel/kde-src/calligra/libs/main/KoDocument.cpp:2758
#21 0x00007fc07d154e9b in KisDocumentUndoStore::endMacro (this=0x7fc05d9d0090) at /home/devel/kde-src/calligra/krita/image/kis_undo_stores.cpp:71
#22 0x00007fc07d155aef in KisLegacyUndoAdapter::endMacro (this=0x7fc05da0ac50) at /home/devel/kde-src/calligra/krita/image/kis_legacy_undo_adapter.cpp:73
#23 0x00007fc07d6eff7f in KisSelectionToolHelper::selectPixelSelection (this=0x7fff38ae9f20, selection=..., action=SELECTION_REPLACE) at /home/devel/kde-src/calligra/krita/ui/tool/kis_selection_tool_helper.cpp:82
#24 0x00007fc05b167f80 in KisToolSelectElliptical::LocalTool::finishEllipse (this=0x8be0e58, rect=...) at /home/devel/kde-src/calligra/krita/plugins/tools/selectiontools/kis_tool_select_elliptical.cc:96
#25 0x00007fc07d709691 in KisToolEllipseBase::mouseReleaseEvent (this=0x8be0e58, event=0x7fff38aea170) at /home/devel/kde-src/calligra/krita/ui/tool/kis_tool_ellipse_base.cpp:122
#26 0x00007fc05b16945b in KisToolSelectElliptical::mouseReleaseEvent (this=0x8be0e10, e=0x7fff38aea170) at /home/devel/kde-src/calligra/krita/plugins/tools/selectiontools/kis_tool_select_elliptical.h:57
#27 0x00007fc07a6850a3 in KoToolProxy::mouseReleaseEvent (this=0x8a7d470, event=0x7fff38aeab70, point=...) at /home/devel/kde-src/calligra/libs/flake/KoToolProxy.cpp:304
#28 0x00007fc07d55c1aa in KisCanvasWidgetBase::processMouseReleaseEvent (this=0x8a7d988, e=0x7fff38aeab70) at /home/devel/kde-src/calligra/krita/ui/canvas/kis_canvas_widget_base.cpp:250
#29 0x00007fc07d576f03 in KisQPainterCanvas::mouseReleaseEvent (this=0x8a7d960, e=0x7fff38aeab70) at /home/devel/kde-src/calligra/krita/ui/canvas/kis_qpainter_canvas.cpp:197
#30 0x00007fc076d10538 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#31 0x00007fc07d576e10 in KisQPainterCanvas::event (this=0x8a7d960, e=0x7fff38aeab70) at /home/devel/kde-src/calligra/krita/ui/canvas/kis_qpainter_canvas.cpp:167
#32 0x00007fc076cbed14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#33 0x00007fc076cc7aac in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#34 0x00007fc07791e9e6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#35 0x00007fc07ddf9bfc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#36 0x00007fc076cbfd25 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#37 0x00007fc076d3de08 in ?? () from /usr/lib64/libQtGui.so.4
#38 0x00007fc076d3c4c9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#39 0x00007fc076d64ae4 in ?? () from /usr/lib64/libQtGui.so.4
#40 0x00007fc07ddf9052 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#41 0x00007fc07ddf9265 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#42 0x00007fc07ddfd6ab in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#43 0x00007fc07e134ac0 in kdemain (argc=1, argv=0x7fff38aeb8d8) at /home/devel/kde-src/calligra/krita/main.cc:71
#44 0x0000000000400a26 in main (argc=1, argv=0x7fff38aeb8d8) at /home/devel/kde-build/calligra/krita/krita_dummy.cpp:3
Comment 1 Dmitry Kazakov 2012-01-04 07:41:05 UTC
It happens, because default bounds for the projection of the root layer are set wrong.
Comment 2 Dmitry Kazakov 2012-01-05 09:15:41 UTC
Git commit b5039f1600babb55f8cc9162fa668084d809ae9a by Dmitry Kazakov.
Committed on 05/01/2012 at 11:16.
Pushed by dkazakov into branch 'master'.

Fixed a bug in oblige child mechanism

After making the global selection a mask root layer may have a mask,
but still can ask its only child layer to share the projection.

There was another reason for the bug: the assert in createThumbnail
didn't take into account that the device may be empty.

M  +34   -17   krita/image/kis_group_layer.cc
M  +1    -0    krita/image/kis_group_layer.h
M  +1    -1    krita/image/kis_paint_device.cc

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