Application: KMyMoney (kmymoney), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". [KCrash Handler] #5 0x000000000063b280 in InvestTransactionEditor::slotUpdateActivity(MyMoneySplit::investTransactionTypeE) () #6 0x00007fc51ae6c25c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4 #7 0x00007fc51a45035d in QAbstractItemView::doItemsLayout() () from /lib64/libQtGui.so.4 #8 0x00007fc51a48e530 in QTableView::doItemsLayout() () from /lib64/libQtGui.so.4 #9 0x00007fc51a4869bc in QTableView::visualRect(QModelIndex const&) const () from /lib64/libQtGui.so.4 #10 0x00007fc51a45d8bf in QAbstractItemView::inputMethodQuery(Qt::InputMethodQuery) const () from /lib64/libQtGui.so.4 #11 0x00007fc4f5e155bf in GCINIMContext::update_cursor(QWidget*) () from /usr/lib64/qt4/plugins/inputmethods/im-gcin.so #12 0x00007fc519f73d48 in QWidget::updateMicroFocus() () from /lib64/libQtGui.so.4 #13 0x00007fc51ae6c25c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4 #14 0x00007fc51a5c14c5 in QLineControl::textChanged(QString const&) () from /lib64/libQtGui.so.4 #15 0x00007fc51a35785d in QLineControl::finishChange(int, bool, bool) () from /lib64/libQtGui.so.4 #16 0x00007fc51a3588d4 in QLineControl::internalSetText(QString const&, int, bool) () from /lib64/libQtGui.so.4 #17 0x00007fc51a32012f in QDateTimeEditPrivate::updateEdit() () from /lib64/libQtGui.so.4 #18 0x00007fc51a3265fb in QDateTimeEdit::setDisplayFormat(QString const&) () from /lib64/libQtGui.so.4 #19 0x00007fc51a326c4c in QDateTimeEditPrivate::init(QVariant const&) () from /lib64/libQtGui.so.4 #20 0x00007fc51a327392 in QDateTimeEdit::QDateTimeEdit(QVariant const&, QVariant::Type, QWidget*) () from /lib64/libQtGui.so.4 #21 0x00007fc51a3275fc in QDateEdit::QDateEdit(QDate const&, QWidget*) () from /lib64/libQtGui.so.4 #22 0x00007fc51c273131 in kMyMoneyDateInput::kMyMoneyDateInput(QWidget*, Qt::AlignmentFlag) () from /lib64/libkmm_widgets.so.4 #23 0x00000000005b4b67 in KMyMoneyRegister::Transaction::formRowHeight() const () #24 0x00000000006f5aeb in KMyMoneyRegister::Register::updateRegister(bool) () #25 0x000000000050f558 in KGlobalLedgerView::startEdit(KMyMoneyRegister::SelectedTransactions const&) () #26 0x00000000004a34dd in KMyMoneyView::startEdit(KMyMoneyRegister::SelectedTransactions const&) () #27 0x000000000047616b in KMyMoneyApp::slotTransactionsNew() () #28 0x0000000000498ecd in KMyMoneyApp::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () #29 0x00007fc51ae6c25c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4 #30 0x0000000000516bdf in KGlobalLedgerView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () #31 0x00007fc51ae6c25c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4 #32 0x00000000006f69b9 in KMyMoneyRegister::Register::selectItem(int, int) () #33 0x00000000006f6d09 in KMyMoneyRegister::Register::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) [clone .part.72] () #34 0x00007fc51ae6c25c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4 #35 0x00007fc51a4c1f9f in QTableWidget::cellClicked(int, int) () from /lib64/libQtGui.so.4 #36 0x00007fc51ae6c25c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4 #37 0x00007fc51a453f85 in QAbstractItemView::clicked(QModelIndex const&) () from /lib64/libQtGui.so.4 #38 0x00007fc51a45419b in QAbstractItemView::mouseReleaseEvent(QMouseEvent*) () from /lib64/libQtGui.so.4 #39 0x00000000006f1a6f in KMyMoneyRegister::Register::mouseReleaseEvent(QMouseEvent*) () #40 0x00007fc519f83118 in QWidget::event(QEvent*) () from /lib64/libQtGui.so.4 #41 0x00007fc51a34231e in QFrame::event(QEvent*) () from /lib64/libQtGui.so.4 #42 0x00007fc51a45de43 in QAbstractItemView::viewportEvent(QEvent*) () from /lib64/libQtGui.so.4 #43 0x00007fc51ae57876 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib64/libQtCore.so.4 #44 0x00007fc519f2fedc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4 #45 0x00007fc519f36abf in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4 #46 0x00007fc51d05b9ea in KApplication::notify(QObject*, QEvent*) () from /lib64/libkdeui.so.5 #47 0x00007fc51ae5770d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4 #48 0x00007fc519f3611f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /lib64/libQtGui.so.4 #49 0x00007fc519fac532 in QETWidget::translateMouseEvent(_XEvent const*) () from /lib64/libQtGui.so.4 #50 0x00007fc519faaf2c in QApplication::x11ProcessEvent(_XEvent*) () from /lib64/libQtGui.so.4 #51 0x00007fc519fd2fb4 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQtGui.so.4 #52 0x00007fc5128afaeb in g_main_context_dispatch () from /lib64/libglib-2.0.so.0 #53 0x00007fc5128afe88 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0 #54 0x00007fc5128aff3c in g_main_context_iteration () from /lib64/libglib-2.0.so.0 #55 0x00007fc51ae86a1e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #56 0x00007fc519fd3136 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtGui.so.4 #57 0x00007fc51ae56261 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #58 0x00007fc51ae565c5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4 #59 0x00007fc51ae5bca9 in QCoreApplication::exec() () from /lib64/libQtCore.so.4 #60 0x00000000004578b3 in runKMyMoney(KApplication*, KStartupLogo*) [clone .isra.11] () #61 0x0000000000456146 in main () Reproducible: Sometimes Steps to Reproduce: 1. Go to investment account ledger page 2. click on empty transaction line at bottom 3. Actual Results: crash Expected Results: see the input panel
Created attachment 90119 [details] system logs
If I use the default "show transaction form", then there is no crash. I could new investment transaction and input accordingly. If I disable kmymoney settings - ledger - "show transaction form", once I press on new in transaction ledger page, the crash would happen as above.
Thanks, that seems to be the information needed to reproduce this.
Git commit 8bae63bfd82a7e7f63277ab515e8f3cd85ab1423 by Cristian Oneț. Committed on 27/02/2015 at 17:33. Pushed by conet into branch 'master'. Improve the code in the investment transaction editor. Actually it's pretty poorly written, I don't really know about the investment editor's requirements so this just makes it safer. I was not able to reproduce the reported crash in the 4.8 branch but I think that this improvement is necessary. M +22 -21 kmymoney/dialogs/investtransactioneditor.cpp http://commits.kde.org/kmymoney/8bae63bfd82a7e7f63277ab515e8f3cd85ab1423
Git commit 626c3d4e8d9d1910e1a3f2a07e4c5115de197aac by Cristian Oneț. Committed on 27/02/2015 at 17:33. Pushed by conet into branch '4.7'. Improve the code in the investment transaction editor. Actually it's pretty poorly written, I don't really know about the investment editor's requirements so this just makes it safer. I was not able to reproduce the reported crash in the 4.8 branch but I think that this improvement is necessary. (cherry picked from commit 8bae63bfd82a7e7f63277ab515e8f3cd85ab1423) M +22 -21 kmymoney/dialogs/investtransactioneditor.cpp http://commits.kde.org/kmymoney/626c3d4e8d9d1910e1a3f2a07e4c5115de197aac
dec2014 the bug was reported in fedora 21, kmm 4.6.6. the crash happens intermittently. i was also running kmm4.6.6 in windows 7 at the time. as far as I recall the crash did not happen in windows. sep2015 I upgraded to fedora 22, running kmm 4.7.1 now. the crash does not happen anymore. Am also running kmm 4.7.2 in windows 10. the crash does not happen.
OK, thanks for the feedback.