Bug 288589 - Cut and ctrl+z leads to crash
Summary: Cut and ctrl+z leads to crash
Status: CLOSED FIXED
Alias: None
Product: KEXI
Classification: Applications
Component: Forms (show other bugs)
Version: 2.4 beta4 (Calligra 2.4 beta4)
Platform: Ubuntu Linux
: NOR crash
Target Milestone: 2.9.9
Assignee: Jarosław Staniek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-12-09 20:06 UTC by Jonathan Kolberg
Modified: 2016-01-29 19:51 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 2.9.9


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Kolberg 2011-12-09 20:06:54 UTC
Application: kexi (2.4 Beta 4 (Calligra 2.4 Beta 4))
KDE Platform Version: 4.7.3 (4.7.3)
Qt Version: 4.7.4
Operating System: Linux 3.2.0-3-generic x86_64
Distribution: Ubuntu precise (development branch)

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

I was using the kexi formular editor and have multiple textfields. I cut on and do ctrl+z to change it’s priority (that’s an other thing) and if you do the same with a second one it leads to this crash.

The crash can be reproduced every time.

-- Backtrace:
Application: Kexi (kexi), signal: Segmentation fault
[KCrash Handler]
#6  0x000000000261aa70 in ?? ()
#7  0x00007fa040b91ba9 in ~Private (this=<optimized out>, __in_chrg=<optimized out>) at /home/jonathan/kde4/src/calligra/kexi/formeditor/commands.cpp:1884
#8  KFormDesigner::CutWidgetCommand::~CutWidgetCommand (this=0x311fa10, __in_chrg=<optimized out>) at /home/jonathan/kde4/src/calligra/kexi/formeditor/commands.cpp:1899
#9  0x00007fa040b91bc9 in KFormDesigner::CutWidgetCommand::~CutWidgetCommand (this=0x311fa10, __in_chrg=<optimized out>) at /home/jonathan/kde4/src/calligra/kexi/formeditor/commands.cpp:1900
#10 0x00007fa04cc299dc in KUndo2QStack::push (this=0x2619a50, cmd=0x1ecdac0) at /home/jonathan/kde4/src/calligra/libs/kundo2/kundo2stack.cpp:575
#11 0x00007fa040b6611f in KFormDesigner::Form::addCommand (this=0x26198a0, command=0x1ecdac0, option=KFormDesigner::Form::ExecuteCommand) at /home/jonathan/kde4/src/calligra/kexi/formeditor/form.cpp:1363
#12 0x00007fa03ce6a6b0 in AddTabAction::qt_metacall (this=0x2506e40, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=<optimized out>) at /home/jonathan/kde4/build/calligra/kexi/formeditor/factories/containerfactory.moc:149
#13 0x00007fa0582dde8a in QMetaObject::activate (sender=0x2506e40, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff682d9750) at kernel/qobject.cpp:3278
#14 0x00007fa0587b46a2 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#15 0x00007fa0587b488f in QAction::activate (this=0x2506e40, event=<optimized out>) at kernel/qaction.cpp:1257
#16 0x00007fa058bef0f9 in QMenuPrivate::activateCausedStack (this=0x1ee4800, causedStack=..., action=0x2506e40, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1005
#17 0x00007fa058bf4d42 in QMenuPrivate::activateAction (this=0x1ee4800, action=0x2506e40, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1097
#18 0x00007fa055e82cb0 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007fa05880b7da in QWidget::event (this=0x7fff682dade0, event=0x7fff682da160) at kernel/qwidget.cpp:8295
#20 0x00007fa058bf62eb in QMenu::event (this=0x7fff682dade0, e=0x7fff682da160) at widgets/qmenu.cpp:2405
#21 0x00007fa0587baf64 in notify_helper (e=0x7fff682da160, receiver=0x7fff682dade0, this=0x125eb80) at kernel/qapplication.cpp:4486
#22 QApplicationPrivate::notify_helper (this=0x125eb80, receiver=0x7fff682dade0, e=0x7fff682da160) at kernel/qapplication.cpp:4458
#23 0x00007fa0587c07ab in QApplication::notify (this=<optimized out>, receiver=0x7fff682dade0, e=0x7fff682da160) at kernel/qapplication.cpp:4047
#24 0x00007fa055dc1126 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#25 0x00007fa0582cac2c in QCoreApplication::notifyInternal (this=0x124c670, receiver=0x7fff682dade0, event=0x7fff682da160) at kernel/qcoreapplication.cpp:787
#26 0x00007fa0587bbf32 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#27 QApplicationPrivate::sendMouseEvent (receiver=0x7fff682dade0, event=0x7fff682da160, alienWidget=0x0, nativeWidget=0x7fff682dade0, buttonDown=0x0, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#28 0x00007fa05883bb41 in QETWidget::translateMouseEvent (this=0x7fff682dade0, event=<optimized out>) at kernel/qapplication_x11.cpp:4502
#29 0x00007fa05883a3fe in QApplication::x11ProcessEvent (this=0x124c670, event=0x7fff682da980) at kernel/qapplication_x11.cpp:3690
#30 0x00007fa058862f52 in x11EventSourceDispatch (s=0x1256300, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#31 0x00007fa053ef789a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007fa053ef7c60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007fa053ef7d24 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#34 0x00007fa0582f5ea6 in QEventDispatcherGlib::processEvents (this=0x11a4770, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#35 0x00007fa058862bbe in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#36 0x00007fa0582c9e22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#37 0x00007fa0582ca027 in QEventLoop::exec (this=0x7fff682dad20, flags=...) at kernel/qeventloop.cpp:201
#38 0x00007fa058bf2201 in QMenu::exec (this=<optimized out>, p=..., action=0x0) at widgets/qmenu.cpp:2049
#39 0x00007fa040b77d78 in KFormDesigner::Form::createContextMenu (this=0x26198a0, w=0x19c0450, container=0x261d4f0, menuPos=..., target=KFormDesigner::Form::WidgetTreeContextMenuTarget) at /home/jonathan/kde4/src/calligra/kexi/formeditor/form.cpp:2596
#40 0x00007fa040b90b2f in KFormDesigner::WidgetTreeWidget::contextMenuEvent (this=<optimized out>, e=0x7fff682dbcb0) at /home/jonathan/kde4/src/calligra/kexi/formeditor/WidgetTreeWidget.cpp:344
#41 0x00007fa05880b540 in QWidget::event (this=0x25e5ff0, event=0x7fff682dbcb0) at kernel/qwidget.cpp:8462
#42 0x00007fa058bb3fe6 in QFrame::event (this=0x25e5ff0, e=0x7fff682dbcb0) at widgets/qframe.cpp:557
#43 0x00007fa058cc4c8b in QAbstractItemView::viewportEvent (this=0x25e5ff0, event=0x7fff682dbcb0) at itemviews/qabstractitemview.cpp:1628
#44 0x00007fa058d09825 in QTreeView::viewportEvent (this=0x25e5ff0, event=0x7fff682dbcb0) at itemviews/qtreeview.cpp:1256
#45 0x00007fa0582cadb8 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0x25e6c40, event=0x7fff682dbcb0) at kernel/qcoreapplication.cpp:902
#46 0x00007fa0587baf2f in notify_helper (e=0x7fff682dbcb0, receiver=0x25e6c40, this=0x125eb80) at kernel/qapplication.cpp:4482
#47 QApplicationPrivate::notify_helper (this=0x125eb80, receiver=0x25e6c40, e=0x7fff682dbcb0) at kernel/qapplication.cpp:4458
#48 0x00007fa0587c02b9 in QApplication::notify (this=<optimized out>, receiver=0x25e6c40, e=0x7fff682dbcb0) at kernel/qapplication.cpp:4126
#49 0x00007fa055dc1126 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#50 0x00007fa0582cac2c in QCoreApplication::notifyInternal (this=0x124c670, receiver=0x25e6c40, event=0x7fff682dbcb0) at kernel/qcoreapplication.cpp:787
#51 0x00007fa05883b4ea in sendSpontaneousEvent (event=0x7fff682dbcb0, receiver=0x25e6c40) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#52 QETWidget::translateMouseEvent (this=0x25e5660, event=<optimized out>) at kernel/qapplication_x11.cpp:4573
#53 0x00007fa05883a3fe in QApplication::x11ProcessEvent (this=0x124c670, event=0x7fff682dc4a0) at kernel/qapplication_x11.cpp:3690
#54 0x00007fa058862f52 in x11EventSourceDispatch (s=0x1256300, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#55 0x00007fa053ef789a in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#56 0x00007fa053ef7c60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 0x00007fa053ef7d24 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007fa0582f5ea6 in QEventDispatcherGlib::processEvents (this=0x11a4770, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#59 0x00007fa058862bbe in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#60 0x00007fa0582c9e22 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#61 0x00007fa0582ca027 in QEventLoop::exec (this=0x7fff682dc840, flags=...) at kernel/qeventloop.cpp:201
#62 0x00007fa0582ce759 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#63 0x0000000000400881 in main (argc=<optimized out>, argv=0x7fff682dc988) at /home/jonathan/kde4/src/calligra/kexi/main.cpp:36

Reported using DrKonqi
Comment 1 Jarosław Staniek 2011-12-13 20:13:37 UTC
related commit c3615ffb9b701f762664d0a43da1e9919bfa58d1
Author: Jaroslaw Staniek <staniek@kde.org>
Date:   Mon Dec 12 00:02:55 2011 +0100

Forms: do not create inline editing command when inserting
    
This fixes possible crash in undo/redo.
Comment 2 Jonathan Kolberg 2011-12-15 17:57:04 UTC
It is still happening.
Comment 3 Jarosław Staniek 2013-09-11 21:01:45 UTC
Hello, still happening in 2.6 or 2.7?
Comment 4 Jarosław Staniek 2015-10-31 21:39:49 UTC
Hi again!
Found it, crashes for example if:
- Cut, Undo, Cut the same widget.
Comment 5 Jarosław Staniek 2015-11-01 00:45:18 UTC
Git commit d52e37f27d458649aeca7b8c22dcca78cec2f380 by Jaroslaw Staniek.
Committed on 01/11/2015 at 00:33.
Pushed by staniek into branch 'calligra/2.9'.

Kexi Form Designer: fix crash when Cut, Undo, Cut is executed for a widget
FIXED-IN:2.9.9

M  +3    -2    kexi/formeditor/commands.cpp
M  +4    -5    kexi/formeditor/utils.cpp
M  +2    -2    kexi/formeditor/utils.h

http://commits.kde.org/calligra/d52e37f27d458649aeca7b8c22dcca78cec2f380
Comment 6 Jarosław Staniek 2015-11-01 01:26:24 UTC
Git commit 2c224a48c013e596afddc57a3026943f7fd58b03 by Jaroslaw Staniek.
Committed on 01/11/2015 at 01:22.
Pushed by staniek into branch 'master'.

Kexi Form Designer: fix crash when Cut, Undo, Cut is executed for a widget
FIXED-IN:2.9.9

from Calligra 2.9 d52e37f27d45864

M  +3    -2    kexi/formeditor/commands.cpp
M  +4    -5    kexi/formeditor/utils.cpp
M  +2    -2    kexi/formeditor/utils.h

http://commits.kde.org/calligra/2c224a48c013e596afddc57a3026943f7fd58b03