Bug 204473 - (steps) Umbrello crash when clicking 100% zoom button (Q3CanvasView::setWorldMatrix, UMLView::setZoom, UMLApp::slotZoom100)
Summary: (steps) Umbrello crash when clicking 100% zoom button (Q3CanvasView::setWorld...
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: 2.3.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords: reproducible, testcase
Depends on:
Blocks:
 
Reported: 2009-08-20 04:39 UTC by Douglas Turk
Modified: 2013-11-02 17:27 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.10.0


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Douglas Turk 2009-08-20 04:39:53 UTC
Application that crashed: umbrello
Version of the application: 2.3.0
KDE Version: 4.3.00 (KDE 4.3.0) "release 152"
Qt Version: 4.5.2
Operating System: Linux 2.6.27.25-0.1-default x86_64
Distribution: "openSUSE 11.1 (x86_64)"

What I was doing when the application crashed:
Clicked the "100% zoom button" on the toolbar with no document open. 

Repro steps:
-create/open a document, and click on it so that is considered modified
-click file->open, and discard/delete the document when prompted. This closes the previous document.
-cancel the file-open dialog.
At the point, the previous empty document has been closed. 
-click "zoom to 100%" on the toolbar to crash.


 -- Backtrace:
Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
[KCrash Handler]
#5  0x00007faebf4b2de9 in Q3CanvasView::setWorldMatrix(QMatrix const&) () from /usr/lib64/libQt3Support.so.4
#6  0x0000000000c4d746 in ?? ()
#7  0x0000000000c06c55 in ?? ()
#8  0x00007faebfb166e2 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib64/libQtCore.so.4
#9  0x00007faebff8faf7 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4
#10 0x00007faebff90f70 in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4
#11 0x00007faec02f5cfa in ?? () from /usr/lib64/libQtGui.so.4
#12 0x00007faec02f5f95 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#13 0x00007faec03c79ca in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#14 0x00007faebffe6aed in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#15 0x00007faebff95b0d in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#16 0x00007faebff9e4fa in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#17 0x00007faec1a5b71b in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#18 0x00007faebfb0194c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#19 0x00007faebff9d748 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&) () from /usr/lib64/libQtGui.so.4
#20 0x00007faec0007519 in ?? () from /usr/lib64/libQtGui.so.4
#21 0x00007faec0006585 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#22 0x00007faec002d874 in ?? () from /usr/lib64/libQtGui.so.4
#23 0x00007faeba6ad0fb in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#24 0x00007faeba6b08cd in ?? () from /usr/lib64/libglib-2.0.so.0
#25 0x00007faeba6b0a8b in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#26 0x00007faebfb2ad3f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#27 0x00007faec002cfff in ?? () from /usr/lib64/libQtGui.so.4
#28 0x00007faebfb001d2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#29 0x00007faebfb005a4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#30 0x00007faebfb02894 in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#31 0x0000000000bd38e5 in ?? ()
#32 0x00007faebe7d6586 in __libc_start_main () from /lib64/libc.so.6
#33 0x0000000000435ad9 in _start ()

Reported using DrKonqi
Comment 1 Dario Andres 2009-08-21 15:25:41 UTC
Here using:

Qt: 4.5.2 (KDE-Qt git commit 5b7a2eb42acfdea07c6075556cb43e2c95852145
        Date:   Tue Jul 28 14:10:47 2009 -0300)
KDE: 4.3.64 (KDE 4.3.64 (KDE 4.4 >= 20090812))
kdelibs svn rev. 1013119 / kdebase svn rev. 1013119
kdesdk svn rev. 1014100
on ArchLinux i686 - Kernel 2.6.30.4

I could reproduce the crash with the provided steps. ("Zoom to 100%" when no document is opened (grayed out work area) causes a crash.

Backtrace:

Application: Umbrello UML Modeller (umbrello), signal: Segmentation fault
[KCrash Handler]
#6  0xb6177447 in Q3CanvasView::setWorldMatrix () from /home/kde-devel/kde/src/kde-qt/lib/libQt3Support.so.4
#7  0x0874fe8b in UMLView::setZoom (this=0x0, zoom=100) at /home/kde-devel/kde/src/KDE/kdesdk/umbrello/umbrello/umlview.cpp:3020
#8  0x086fd46c in UMLApp::slotZoom100 (this=0xa75b850) at /home/kde-devel/kde/src/KDE/kdesdk/umbrello/umbrello/uml.cpp:559
#9  0x0870d81b in UMLApp::qt_metacall (this=0xa75b850, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0xbffdee08) at /home/kde-devel/kde/build/KDE/kdesdk/umbrello/umbrello/uml.moc:290
#10 0xb641f9ca in QMetaObject::activate (sender=0xa7eb530, from_signal_index=5, to_signal_index=6, argv=0xbffdee08) at kernel/qobject.cpp:3112
#11 0xb641fe0d in QMetaObject::activate (sender=0xa7eb530, m=0xb705c3e8, from_local_signal_index=1, to_local_signal_index=2, argv=0xbffdee08) at kernel/qobject.cpp:3206
#12 0xb66924f8 in QAction::triggered (this=0xa7eb530, _t1=false) at .moc/debug-shared/moc_qaction.cpp:236
#13 0xb6691abd in QAction::activate (this=0xa7eb530, event=QAction::Trigger) at kernel/qaction.cpp:1160
#14 0xb6692afd in QAction::trigger (this=0xa7eb530) at ../../include/QtGui/../../src/gui/kernel/qaction.h:203
#15 0xb6bd1235 in QToolButton::nextCheckState (this=0xa7f0ca8) at widgets/qtoolbutton.cpp:1135
#16 0xb6acc653 in QAbstractButtonPrivate::click (this=0xa74a208) at widgets/qabstractbutton.cpp:525
#17 0xb6acdd66 in QAbstractButton::mouseReleaseEvent (this=0xa7f0ca8, e=0xbffdf5ac) at widgets/qabstractbutton.cpp:1115
#18 0xb6bcfb2a in QToolButton::mouseReleaseEvent (this=0xa7f0ca8, e=0xbffdf5ac) at widgets/qtoolbutton.cpp:709
#19 0xb6701620 in QWidget::event (this=0xa7f0ca8, event=0xbffdf5ac) at kernel/qwidget.cpp:7549
#20 0xb6acdc01 in QAbstractButton::event (this=0xa7f0ca8, e=0xbffdf5ac) at widgets/qabstractbutton.cpp:1077
#21 0xb6bd12a4 in QToolButton::event (this=0xa7f0ca8, event=0xbffdf5ac) at widgets/qtoolbutton.cpp:1151
#22 0xb66a12db in QApplicationPrivate::notify_helper (this=0xa6f16a8, receiver=0xa7f0ca8, e=0xbffdf5ac) at kernel/qapplication.cpp:4056
#23 0xb66a0026 in QApplication::notify (this=0xbffe0e90, receiver=0xa7f0ca8, e=0xbffdf5ac) at kernel/qapplication.cpp:3758
#24 0xb773ca9a in KApplication::notify (this=0xbffe0e90, receiver=0xa7f0ca8, event=0xbffdf5ac) at /home/kde-devel/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#25 0xb64061c1 in QCoreApplication::notifyInternal (this=0xbffe0e90, receiver=0xa7f0ca8, event=0xbffdf5ac) at kernel/qcoreapplication.cpp:610
#26 0xb66a2185 in QCoreApplication::sendSpontaneousEvent (receiver=0xa7f0ca8, event=0xbffdf5ac) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#27 0xb669e75c in QApplicationPrivate::sendMouseEvent (receiver=0xa7f0ca8, event=0xbffdf5ac, alienWidget=0xa7f0ca8, nativeWidget=0xa75b850, buttonDown=0xb707c480, lastMouseReceiver=@0xb707c484)
    at kernel/qapplication.cpp:2924
#28 0xb67226c4 in QETWidget::translateMouseEvent (this=0xa75b850, event=0xbffe0b20) at kernel/qapplication_x11.cpp:4409
#29 0xb671f39c in QApplication::x11ProcessEvent (this=0xbffe0e90, event=0xbffe0b20) at kernel/qapplication_x11.cpp:3428
#30 0xb6752918 in x11EventSourceDispatch (s=0xa6f4900, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0xb57e0d98 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#32 0xb57e43e0 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#33 0xb57e4513 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#34 0xb643aa5a in QEventDispatcherGlib::processEvents (this=0xa6f1668, flags={i = 36}) at kernel/qeventdispatcher_glib.cpp:327
#35 0xb6752f3e in QGuiEventDispatcherGlib::processEvents (this=0xa6f1668, flags={i = 36}) at kernel/qguieventdispatcher_glib.cpp:202
#36 0xb640379f in QEventLoop::processEvents (this=0xbffe0dec, flags={i = 36}) at kernel/qeventloop.cpp:149
#37 0xb64038e4 in QEventLoop::exec (this=0xbffe0dec, flags={i = 0}) at kernel/qeventloop.cpp:201
#38 0xb640689d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#39 0xb669f3f8 in QApplication::exec () at kernel/qapplication.cpp:3525
#40 0x086ddc45 in main (argc=1, argv=0xbffe1044) at /home/kde-devel/kde/src/KDE/kdesdk/umbrello/umbrello/main.cpp:111
Comment 2 Ralf Habacker 2013-02-23 00:26:37 UTC
Q3Canvas has been replaced by QGraphicsScene in version 2.10. If this bug persists feel free to reopen bug.