Application: kmymoney (4.5.90-svn1233773) KDE Platform Version: 4.6.00 (4.6.0) "release 6" (Compiled from sources) Qt Version: 4.7.1 Operating System: Linux 2.6.37.1-1.2-desktop x86_64 Distribution: "openSUSE 11.4 (x86_64)" -- Information about the crash: - What I was doing when the application crashed: Investigating the referred bug. Confirmed that qif import is not involved, as suspected. If a new checking account is opened, and an opening balance is entered in the wizard, on closing the wizard, KMM crashes every time at the same place as originally reported, line 887 in accountsmodel.cpp. The crash can be reproduced every time. -- Backtrace: Application: KMyMoney (kmymoney), signal: Segmentation fault [KCrash Handler] #6 InstitutionsModel::slotObjectModified (this=0x1002360, objType=<value optimized out>, obj=0x2216660) at /home/aga/CSV/kmymoney/kmymoney/models/accountsmodel.cpp:887 #7 0x0000000000790449 in InstitutionsModel::qt_metacall (this=0x1002360, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff5a952f00) at /home/aga/CSV/kmymoney/build/kmymoney/models/accountsmodel.moc:177 #8 0x00007f39eaa89def in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4 #9 0x00007f39ee2ef18a in MyMoneyFile::objectModified (this=<value optimized out>, _t1=MyMoneyFile::notifyAccount, _t2=0x2216660) at /home/aga/CSV/kmymoney/build/kmymoney/mymoney/mymoneyfile.moc:120 #10 0x00007f39ee2f8f49 in MyMoneyFile::commitTransaction (this=0x7f39ee55b550) at /home/aga/CSV/kmymoney/kmymoney/mymoney/mymoneyfile.cpp:391 #11 0x00007f39ee2f93e5 in MyMoneyFileTransaction::commit (this=0x7fff5a9535d0) at /home/aga/CSV/kmymoney/kmymoney/mymoney/mymoneyfile.cpp:2744 #12 0x000000000047b98b in KMyMoneyApp::slotAccountNew (this=0xc8a830, account=...) at /home/aga/CSV/kmymoney/kmymoney/kmymoney.cpp:3086 #13 0x000000000047bf4e in KMyMoneyApp::slotAccountNew (this=0xc8a830) at /home/aga/CSV/kmymoney/kmymoney/kmymoney.cpp:3029 #14 0x00000000004a13b1 in KMyMoneyApp::qt_metacall (this=0xc8a830, _c=QMetaObject::InvokeMetaMethod, _id=176, _a=0x7fff5a953c20) at /home/aga/CSV/kmymoney/build/kmymoney/kmymoney.moc:585 #15 0x00007f39eaa89def in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4 #16 0x00007f39e9bc2982 in QAction::triggered(bool) () from /usr/lib64/libQtGui.so.4 #17 0x00007f39e9bc2b7a in QAction::activate(QAction::ActionEvent) () from /usr/lib64/libQtGui.so.4 #18 0x00007f39e9ff8e63 in ?? () from /usr/lib64/libQtGui.so.4 #19 0x00007f39e9ffee7a in ?? () from /usr/lib64/libQtGui.so.4 #20 0x00007f39ecc92b1d in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libkdeui.so.5 #21 0x00007f39e9c1a538 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4 #22 0x00007f39ea00006b in QMenu::event(QEvent*) () from /usr/lib64/libQtGui.so.4 #23 0x00007f39e9bc8d14 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #24 0x00007f39e9bd1aac in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4 #25 0x00007f39eccc49e6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5 #26 0x00007f39eaa74bfc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4 #27 0x00007f39e9bc9d25 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4 #28 0x00007f39e9c48054 in ?? () from /usr/lib64/libQtGui.so.4 #29 0x00007f39e9c464c9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4 #30 0x00007f39e9c6e0f2 in ?? () from /usr/lib64/libQtGui.so.4 #31 0x00007f39e3a87bd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #32 0x00007f39e3a883b0 in ?? () from /lib64/libglib-2.0.so.0 #33 0x00007f39e3a88650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #34 0x00007f39eaa9f91f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #35 0x00007f39e9c6dd8e in ?? () from /usr/lib64/libQtGui.so.4 #36 0x00007f39eaa74052 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #37 0x00007f39eaa74265 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4 #38 0x00007f39eaa786ab in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4 #39 0x0000000000459f5a in runKMyMoney (a=<value optimized out>, splash=<value optimized out>) at /home/aga/CSV/kmymoney/kmymoney/main.cpp:282 #40 0x000000000045bd9e in main (argc=1, argv=0x7fff5a9561c8) at /home/aga/CSV/kmymoney/kmymoney/main.cpp:181 This bug may be a duplicate of or related to bug 274159. Possible duplicates by query: bug 274159, bug 268953. Reported using DrKonqi
The crash appears to be caused because, in kmymoney/models/accountsmodel.cpp line 886 - QStandardItem *accountItem = d->itemFromAccountId(this, account->id()); the item is not found, but the pointer is used. I've inserted a return if there is a null pointer, and this avoids the crash. The manually entered new account with opening balance can now be created, and the failing qif can now be imported. However, as I'm not au fait with this area, I would appreciate comments.
I will come up with a proper fix for this.
*** Bug 274159 has been marked as a duplicate of this bug. ***
SVN commit 1233902 by conet: BUG: 274308 Crash when the balance of an equity account was changed since equity accounts are not represented in the institutions model. M +2 -2 accountsmodel.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1233902
*** Bug 274637 has been marked as a duplicate of this bug. ***