Bug 279206

Summary: Crash if entering transactions really fast (using the 'Enter' key to enter the transaction)
Product: [Applications] kmymoney Reporter: Cristian Oneț <onet.cristian>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: crash CC: mk-lists
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Cristian Oneț 2011-08-02 20:05:38 UTC
Application: kmymoney (4.5.96-svn1244394)
KDE Platform Version: 4.7.00 (4.7.0) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 2.6.39-gentoo-r3 x86_64
Distribution: "Gentoo Base System release 2.0.3"

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

If the user enables the option to enter the transaction using the 'Enter' key and then, while a transaction is selected, keeps the enter key pressed the application will crash.

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007fce5a230490 in QObject::disconnect(QObject const*, char const*, QObject const*, char const*) () from /usr/lib64/qt4/libQtCore.so.4
#8  0x0000000000742647 in TransactionEditor::enterTransactions (this=0x1629900, newId=..., askForSchedule=true, suppressBalanceWarnings=false) at /home/cristi/dezvoltare/kmymoney/kmymoney/dialogs/transactioneditor.cpp:488
#9  0x000000000049754d in KMyMoneyApp::slotTransactionsEnter (this=0xe34ce0) at /home/cristi/dezvoltare/kmymoney/kmymoney/kmymoney.cpp:5189
#10 0x00000000004a6bd2 in KMyMoneyApp::qt_metacall (this=0xe34ce0, _c=QMetaObject::InvokeMetaMethod, _id=78, _a=0x7fffe8aad1b0) at /home/cristi/dezvoltare/kmymoney-build/kmymoney/kmymoney.moc:481
#11 0x00007fce5a230a4f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#12 0x00007fce5933c1b2 in QAction::triggered(bool) () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007fce5933d87b in QAction::activate(QAction::ActionEvent) () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007fce5933fed2 in QAction::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#15 0x00007fce593a5f75 in QWidgetAction::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/qt4/libQtGui.so.4
#16 0x00007fce5c7ab308 in KAction::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib64/libkdeui.so.5
#17 0x00007fce5a230a4f in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#18 0x0000000000753163 in TransactionEditor::returnPressed (this=0x1629900) at /home/cristi/dezvoltare/kmymoney-build/kmymoney/dialogs/transactioneditor.moc:226
#19 0x0000000000752c7d in TransactionEditor::qt_metacall (this=0x1629900, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x27ca8a0) at /home/cristi/dezvoltare/kmymoney-build/kmymoney/dialogs/transactioneditor.moc:124
#20 0x00000000007532e3 in StdTransactionEditor::qt_metacall (this=0x1629900, _c=QMetaObject::InvokeMetaMethod, _id=16, _a=0x27ca8a0) at /home/cristi/dezvoltare/kmymoney-build/kmymoney/dialogs/transactioneditor.moc:309
#21 0x00007fce5a22aafe in QObject::event(QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#22 0x00007fce593438dc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007fce59348d7d in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/qt4/libQtGui.so.4
#24 0x00007fce5c8af846 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#25 0x00007fce5a218d6b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/qt4/libQtCore.so.4
#26 0x00007fce5a21bcf1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib64/qt4/libQtCore.so.4
#27 0x00007fce5a245313 in ?? () from /usr/lib64/qt4/libQtCore.so.4
#28 0x00007fce53c84bc1 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#29 0x00007fce53c89258 in ?? () from /usr/lib64/libglib-2.0.so.0
#30 0x00007fce53c8940c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#31 0x00007fce5a244e53 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#32 0x00007fce593f5cbe in ?? () from /usr/lib64/qt4/libQtGui.so.4
#33 0x00007fce5a217ac2 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#34 0x00007fce5a217ea4 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/qt4/libQtCore.so.4
#35 0x00007fce5a21bf1b in QCoreApplication::exec() () from /usr/lib64/qt4/libQtCore.so.4
#36 0x0000000000460be1 in runKMyMoney (a=0xd0f9e0, splash=0xe24fa0) at /home/cristi/dezvoltare/kmymoney/kmymoney/main.cpp:286
#37 0x000000000045f94d in main (argc=1, argv=0x7fffe8aaebb8) at /home/cristi/dezvoltare/kmymoney/kmymoney/main.cpp:183

Reported using DrKonqi
Comment 1 Marko Käning 2011-08-02 20:15:58 UTC
Is there a link to this one here perhaps: https://bugs.kde.org/show_bug.cgi?id=267589
Comment 2 Cristian Oneț 2011-08-02 20:21:14 UTC
I don't think so, the stack traces are different, the causes of the crash are different. My report is a bout pressing 'Enter' repeatedly very fast (by keeping the key pressed).
Comment 3 Cristian Oneț 2011-08-21 21:28:07 UTC
SVN commit 1248733 by conet:

BUG: 279206

Process KMyMoneyApp::slotTransactionsEnter(void) only once per triggered action.



 M  +5 -1      kmymoney.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1248733
Comment 4 Cristian Oneț 2011-08-21 21:29:52 UTC
SVN commit 1248734 by conet:

BUG: 279206

Process KMyMoneyApp::slotTransactionsEnter(void) only once per triggered action.

Backported to the stable branch.

 M  +4 -0      kmymoney.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1248734