Bug 288749 - Karbon crash after remove shape with connections and try to resize connection
Summary: Karbon crash after remove shape with connections and try to resize connection
Status: RESOLVED FIXED
Alias: None
Product: karbon
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Jan Hambrecht
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-11 18:13 UTC by Wagner Reck
Modified: 2011-12-16 23:29 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Tested file (9.71 KB, application/vnd.oasis.opendocument.graphics)
2011-12-11 18:17 UTC, Wagner Reck
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Wagner Reck 2011-12-11 18:13:54 UTC
Application: karbon (2.4 Beta 4)
KDE Platform Version: 4.7.3 (4.7.3)
Qt Version: 4.7.4
Operating System: Linux 3.1.4-1-ARCH i686
Distribution (Platform): Archlinux Packages

-- Information about the crash:
- What I was doing when the application crashed:
Editing a saved file. Trying to resize a connection from a deleted shape.

- Steps to Reproduce:
-Open File
-Remove a shape with connections on it.
-Try to resize a connection
-Crash

The crash can be reproduced every time.

-- Backtrace:
Application: Karbon14 (kdeinit4), signal: Aborted
[Current thread is 1 (Thread 0xb55ca710 (LWP 2857))]

Thread 2 (Thread 0xaf238b70 (LWP 2858)):
#0  0xb5aced00 in clock_gettime () from /lib/librt.so.1
#1  0xb6d1b245 in ?? () from /usr/lib/libQtCore.so.4
#2  0xb6ded826 in ?? () from /usr/lib/libQtCore.so.4
#3  0xb6dedb7a in ?? () from /usr/lib/libQtCore.so.4
#4  0xb6dec3c3 in ?? () from /usr/lib/libQtCore.so.4
#5  0xb6dec45d in ?? () from /usr/lib/libQtCore.so.4
#6  0xb5a1564c in g_main_context_prepare () from /usr/lib/libglib-2.0.so.0
#7  0xb5a163f7 in ?? () from /usr/lib/libglib-2.0.so.0
#8  0xb5a169ea in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#9  0xb6decea7 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0xb6dbdb6d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0xb6dbddb1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#12 0xb6cc13ab in QThread::exec() () from /usr/lib/libQtCore.so.4
#13 0xb6d9e83d in ?? () from /usr/lib/libQtCore.so.4
#14 0xb6cc4253 in ?? () from /usr/lib/libQtCore.so.4
#15 0xb6c4dcf7 in start_thread () from /lib/libpthread.so.0
#16 0xb601e86e in clone () from /lib/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb55ca710 (LWP 2857)):
[KCrash Handler]
#7  0xb7786424 in __kernel_vsyscall ()
#8  0xb5f79b9f in raise () from /lib/libc.so.6
#9  0xb5f7b525 in abort () from /lib/libc.so.6
#10 0xb6cba17a in qt_message_output(QtMsgType, char const*) () from /usr/lib/libQtCore.so.4
#11 0xb6cba37b in ?? () from /usr/lib/libQtCore.so.4
#12 0xb6cba498 in qFatal(char const*, ...) () from /usr/lib/libQtCore.so.4
#13 0xb6cba525 in qt_assert(char const*, char const*, int) () from /usr/lib/libQtCore.so.4
#14 0xb1cdfb2d in KoPathShape::outline (this=0x9bd7508) at /home/wagner/projects/calligra/libs/flake/KoPathShape.cpp:372
#15 0xb1cdb25a in KoPathShape::normalize (this=0x9bd7508) at /home/wagner/projects/calligra/libs/flake/KoPathShape.cpp:642
#16 0xb1d272a1 in KoParameterShape::normalize (this=0x9bd7508) at /home/wagner/projects/calligra/libs/flake/KoParameterShape.cpp:132
#17 0xb1d525ab in KoConnectionShape::updatePath (this=0x9bd7508, size=...) at /home/wagner/projects/calligra/libs/flake/KoConnectionShape.cpp:604
#18 0xb1d51b0a in KoConnectionShape::updateConnections (this=0x9bd7508) at /home/wagner/projects/calligra/libs/flake/KoConnectionShape.cpp:302
#19 0xb1d51d92 in KoConnectionShape::shapeChanged (this=0x9bd7508, type=KoShape::GenericMatrixChange, shape=0x0) at /home/wagner/projects/calligra/libs/flake/KoConnectionShape.cpp:754
#20 0xb1cf6fd9 in KoShapePrivate::shapeChanged (this=0x9cdc700, type=KoShape::GenericMatrixChange) at /home/wagner/projects/calligra/libs/flake/KoShape.cpp:135
#21 0xb1cf81c8 in KoShape::applyTransformation (this=0x9bd7508, matrix=...) at /home/wagner/projects/calligra/libs/flake/KoShape.cpp:447
#22 0xb1cf82a9 in KoShape::applyAbsoluteTransformation (this=0x9bd7508, matrix=...) at /home/wagner/projects/calligra/libs/flake/KoShape.cpp:439
#23 0xafcea04e in ShapeResizeStrategy::resizeBy (this=0x9bf1198, center=..., zoomX=1.0134221022218761, zoomY=-5055310544492287) at /home/wagner/projects/calligra/plugins/defaultTools/defaulttool/ShapeResizeStrategy.cpp:214
#24 0xafcea749 in ShapeResizeStrategy::handleMouseMove (this=0x9bf1198, point=..., modifiers=...) at /home/wagner/projects/calligra/plugins/defaultTools/defaulttool/ShapeResizeStrategy.cpp:144
#25 0xb1da114f in KoInteractionTool::mouseMoveEvent (this=0xbc82230, event=0xbffb4c14) at /home/wagner/projects/calligra/libs/flake/tools/KoInteractionTool.cpp:61
#26 0xafcdd478 in DefaultTool::mouseMoveEvent (this=0xbc82230, event=0xbffb4c14) at /home/wagner/projects/calligra/plugins/defaultTools/defaulttool/DefaultTool.cpp:508
#27 0xb1d39df1 in KoToolProxy::mouseMoveEvent (this=0xbaf4dc8, event=0xbffb516c, point=...) at /home/wagner/projects/calligra/libs/flake/KoToolProxy.cpp:272
#28 0xb2203e55 in KarbonCanvas::mouseMoveEvent (this=0xbafa430, e=0xbffb516c) at /home/wagner/projects/calligra/karbon/ui/widgets/KarbonCanvas.cpp:213
#29 0xb6342944 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#30 0xb2203354 in KarbonCanvas::event (this=0xbafa430, e=0xbffb516c) at /home/wagner/projects/calligra/karbon/ui/widgets/KarbonCanvas.cpp:144
#31 0xb62e8a24 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#32 0xb62eea90 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#33 0xb74f5d41 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#34 0xb6dbeb2e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#35 0xb62e99e5 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#36 0xb6372ce4 in ?? () from /usr/lib/libQtGui.so.4
#37 0xb6371c8d in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#38 0xb639c39c in ?? () from /usr/lib/libQtGui.so.4
#39 0xb5a1601f in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#40 0xb5a16750 in ?? () from /usr/lib/libglib-2.0.so.0
#41 0xb5a169ea in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#42 0xb6dece4a in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#43 0xb639bf8a in ?? () from /usr/lib/libQtGui.so.4
#44 0xb6dbdb6d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#45 0xb6dbddb1 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#46 0xb6dc250d in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#47 0xb62e6894 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#48 0xb5154cde in kdemain (argc=1, argv=0x966de78) at /home/wagner/projects/calligra/karbon/main.cpp:50
#49 0x0804f4a2 in _start ()

Reported using DrKonqi
Comment 1 Wagner Reck 2011-12-11 18:17:25 UTC
Created attachment 66640 [details]
Tested file 

Open the file, Delete shape above 'CH 2-B', try to resize any connections related to deleted shape.
Comment 2 Jan Hambrecht 2011-12-11 23:43:43 UTC
I can reporduce the problem. Thanks for reporting.
Comment 3 Jan Hambrecht 2011-12-16 23:29:24 UTC
Git commit a494152c07691b9c2bc18b461d7f59cefdefac20 by Jan Hambrecht.
Committed on 17/12/2011 at 00:28.
Pushed by jaham into branch 'master'.

guard against resizing shapes in the direction where the shape size is zero

BUG:288749

M  +9    -1    plugins/defaultTools/defaulttool/ShapeResizeStrategy.cpp

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