Application: kmymoney (4.5.0) KDE Platform Version: 4.5.1 (KDE 4.5.1) Qt Version: 4.7.0 Operating System: Linux 2.6.35-22-generic x86_64 Distribution: Ubuntu 10.10 -- Information about the crash: - What I was doing when the application crashed: Entering a new transaction directly in the ledger. Crash occured when pressing Enter to complete the entry. Although I didn't test with this specific transaction, when it has happened in the past I have been able to reproduce by restarting KMyMoney and attempting to enter the same transaction. Enabling the transaction form and entering the same transaction always succeeds. - Custom settings of the application: Transaction form is disabled. The crash can be reproduced some of the time. -- Backtrace: Application: KMyMoney (kmymoney), signal: Segmentation fault [Current thread is 1 (Thread 0x7f1634537760 (LWP 10291))] Thread 2 (Thread 0x7f161ad7a710 (LWP 10292)): #0 0x00007f162a0551ca in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #1 0x00007f162a0592a8 in ?? () from /lib/libglib-2.0.so.0 #2 0x00007f162a05945c in g_main_context_iteration () from /lib/libglib-2.0.so.0 #3 0x00007f162fd561e6 in QEventDispatcherGlib::processEvents (this=0x2943ea0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:417 #4 0x00007f162fd28a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #5 0x00007f162fd28dec in QEventLoop::exec (this=0x7f161ad79db0, flags=) at kernel/qeventloop.cpp:201 #6 0x00007f162fc332fd in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:490 #7 0x00007f162fd085f8 in QInotifyFileSystemWatcherEngine::run (this=0x31f8ba0) at io/qfilesystemwatcher_inotify.cpp:248 #8 0x00007f162fc3627e in QThreadPrivate::start (arg=0x31f8ba0) at thread/qthread_unix.cpp:266 #9 0x00007f1631b5a971 in start_thread () from /lib/libpthread.so.0 #10 0x00007f162ef0a94d in clone () from /lib/libc.so.6 #11 0x0000000000000000 in ?? () Thread 1 (Thread 0x7f1634537760 (LWP 10291)): [KCrash Handler] #6 QWidgetPrivate::setWSGeometry (this=0x4625d40, dontShow=<value optimized out>) at kernel/qwidget_x11.cpp:2425 #7 0x00007f1630732850 in QWidgetPrivate::scrollChildren (this=<value optimized out>, dx=<value optimized out>, dy=<value optimized out>) at kernel/qwidget.cpp:355 #8 0x00007f1630784e39 in QWidgetPrivate::scroll_sys (this=0x4c24420, dx=49, dy=0) at kernel/qwidget_x11.cpp:2650 #9 0x00007f1630730885 in QWidget::scroll (this=0x33375e0, dx=0, dy=6) at kernel/qwidget.cpp:10138 #10 0x00007f1630c605b6 in scrollContentsBy (this=<value optimized out>, dx=0, dy=6) at ../../include/QtGui/private/../../../src/gui/itemviews/qabstractitemview_p.h:230 #11 QTableView::scrollContentsBy (this=<value optimized out>, dx=0, dy=6) at itemviews/qtableview.cpp:1254 #12 0x00007f1630b8fd50 in QAbstractScrollArea::qt_metacall (this=0x3337120, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0x7fffe14f3ff0) at .moc/release-shared/moc_qabstractscrollarea.cpp:85 #13 0x00007f1630c350b5 in QAbstractItemView::qt_metacall (this=0x4c24420, _c=49, _id=0, _a=0x0) at .moc/release-shared/moc_qabstractitemview.cpp:213 #14 0x00007f1630c6ab35 in QTableView::qt_metacall (this=0x4c24420, _c=49, _id=0, _a=0x0) at .moc/release-shared/moc_qtableview.cpp:118 #15 0x00007f1630ca7676 in QTableWidget::qt_metacall (this=0x4c24420, _c=49, _id=0, _a=0x0) at .moc/release-shared/moc_qtablewidget.cpp:135 #16 0x0000000000742910 in KMyMoneyRegister::Register::qt_metacall (this=0x4c24420, _c=49, _id=0, _a=0x0) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/widgets/register.moc:143 #17 0x00007f162fd41b27 in QMetaObject::activate (sender=0x3334f80, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3280 #18 0x00007f1630dbd9ee in QAbstractSlider::valueChanged (this=0x4c24420, _t1=816) at .moc/release-shared/moc_qabstractslider.cpp:182 #19 0x00007f1630c5f0b6 in QTableView::updateGeometries (this=0x3337120) at itemviews/qtableview.cpp:2110 #20 0x00007f1630c2b929 in QAbstractItemView::doItemsLayout (this=0x3337120) at itemviews/qabstractitemview.cpp:1139 #21 0x00007f1630c614d6 in executePostedLayout (this=0x3337120, pos=...) at ../../include/QtGui/private/../../../src/gui/itemviews/qabstractitemview_p.h:212 #22 QTableView::indexAt (this=0x3337120, pos=...) at itemviews/qtableview.cpp:1464 #23 0x00007f1630c3ac11 in QAbstractItemView::viewportEvent (this=0x3337120, event=0x7fffe14f48a0) at itemviews/qabstractitemview.cpp:1572 #24 0x00007f162fd29507 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0x33375e0, event=0x7fffe14f48a0) at kernel/qcoreapplication.cpp:847 #25 0x00007f16306dffac in QApplicationPrivate::notify_helper (this=0x28b2560, receiver=0x33375e0, e=0x7fffe14f48a0) at kernel/qapplication.cpp:4392 #26 0x00007f16306e721c in QApplication::notify (this=<value optimized out>, receiver=<value optimized out>, e=0x7fffe14f4c20) at kernel/qapplication.cpp:3984 #27 0x00007f1632b5e156 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #28 0x00007f162fd29cdc in QCoreApplication::notifyInternal (this=0x28b24c0, receiver=0x33375e0, event=0x7fffe14f4c20) at kernel/qcoreapplication.cpp:732 #29 0x00007f16306e4dbe in sendEvent (receiver=0x33375e0, event=0x7fffe14f4c20, alienWidget=0x33375e0, nativeWidget=0x2ac1f30, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #30 QApplicationPrivate::sendMouseEvent (receiver=0x33375e0, event=0x7fffe14f4c20, alienWidget=0x33375e0, nativeWidget=0x2ac1f30, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3058 #31 0x00007f16306e526f in QApplicationPrivate::sendSyntheticEnterLeave (this=<value optimized out>, widget=<value optimized out>) at kernel/qapplication.cpp:3144 #32 0x00007f163073a76c in QWidget::~QWidget (this=0x42c54b0, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1543 #33 0x00007f162fd3bd5f in QObjectPrivate::deleteChildren (this=0x4625d40) at kernel/qobject.cpp:1957 #34 0x00007f163073b168 in QWidget::~QWidget (this=0x4c24420, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1589 #35 0x00007f1632c6469f in KTextEdit::~KTextEdit() () from /usr/lib/libkdeui.so.5 #36 0x00007f162fd3bc08 in QObject::event (this=0x4c24420, e=0x31) at kernel/qobject.cpp:1202 #37 0x00007f16307356df in QWidget::event (this=0x4c24420, event=0x4e09710) at kernel/qwidget.cpp:8646 #38 0x00007f1630b015e6 in QFrame::event (this=0x4c24420, e=0x4e09710) at widgets/qframe.cpp:557 #39 0x00007f1630b8f71b in QAbstractScrollArea::event (this=0x4c24420, e=0x4e09710) at widgets/qabstractscrollarea.cpp:996 #40 0x00007f1630b7a815 in QTextEdit::event (this=0x4c24420, e=0x4e09710) at widgets/qtextedit.cpp:1070 #41 0x00007f16306dffdc in QApplicationPrivate::notify_helper (this=0x28b2560, receiver=0x4c24420, e=0x4e09710) at kernel/qapplication.cpp:4396 #42 0x00007f16306e5aed in QApplication::notify (this=0x28b24c0, receiver=0x4c24420, e=0x4e09710) at kernel/qapplication.cpp:4277 #43 0x00007f1632b5e156 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #44 0x00007f162fd29cdc in QCoreApplication::notifyInternal (this=0x28b24c0, receiver=0x4c24420, event=0x4e09710) at kernel/qcoreapplication.cpp:732 #45 0x00007f162fd2cc22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x2892380) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #46 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x2892380) at kernel/qcoreapplication.cpp:1373 #47 0x00007f162fd56653 in sendPostedEvents (s=0x28b61a0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #48 postEventSourceDispatch (s=0x28b61a0) at kernel/qeventdispatcher_glib.cpp:277 #49 0x00007f162a055342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #50 0x00007f162a0592a8 in ?? () from /lib/libglib-2.0.so.0 #51 0x00007f162a05945c in g_main_context_iteration () from /lib/libglib-2.0.so.0 #52 0x00007f162fd56193 in QEventDispatcherGlib::processEvents (this=0x2891e90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415 #53 0x00007f1630792a4e in QGuiEventDispatcherGlib::processEvents (this=0x4c24420, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204 #54 0x00007f162fd28a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149 #55 0x00007f162fd28dec in QEventLoop::exec (this=0x7fffe14f5c10, flags=) at kernel/qeventloop.cpp:201 #56 0x00007f162fd2cebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009 #57 0x0000000000452d58 in main (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/main.cpp:260 This bug may be a duplicate of or related to bug 247877, bug 254607. Possible duplicates by query: bug 254607, bug 247877. Reported using DrKonqi
Could you give some more specific hints to reproduce this since just entering transactions directly in the ledger doesn't help me reproduce this crash. Also it would be nice if you could try version 4.5.1 to see if the crash is still occurring.
The crash is related to scrolling of the ledger and the edit mode entry box. I can reliably crash with the following operations: Start KMyMoney2 Click "Current Account" on home page (Asset account) Scroll to bottom of ledger with trackpad Click on empty row at bottom of ledger (goes into edit mode) Click in payer/receiver, type "unk", select "Unknown" from drop down list Click in category, type "sun", select Sundry from drop down list Click in comment box, type "foo" Click on ledger scroll bar up button (below scroll bar) Click in comment box to focus Press Enter I have four more backtraces which look similar to the above one (can attach if they'll be useful).
I think this sequence to reproduce it will be enough, thanks. I'll let you know if I still can't reproduce it with all these steps.
Sorry but I still couldn't reproduce this using those same steps.
I was also unable to reproduce in 4.5.0. I had different payee and category names, but I assume it should not matter. I assume by comment box you mean the memo field. I don't know why it would matter - but have you run a consistency check on your data?
Consistency check says that my data is consistent, and yes, I meant the memo field. I've created a new KMyMoney file and can also crash it with that, so it doesn't seem to be my data.
Created attachment 54076 [details] KMyMoney data file To reproduce the crash with the attached data file: Open test.kmy Click "Current" on the home page Resize the window so that a scroll bar appears on the right Scroll to the bottom Click on the empty line Click on the down arrow of the category drop down and select "Sundry" Click in the memo field Click the scroll bar up button once Click in the memo field Press Enter
Still with all that info I cand reproduce the crash. See the video at http://kmymoney2.sourceforge.net/258355.ogv do you notice any differences between what I do an what are you seeing on your version. Could you also try to upgrade to 4.5.1?
(In reply to comment #6) > Consistency check says that my data is consistent, and yes, I meant the memo > field. I've created a new KMyMoney file and can also crash it with that, so it > doesn't seem to be my data. If it still fails with a new file, I'd rename or delete the resource file ( ~/.kde4/share/config/kmymoneyrc). I think the .kde4 will be .kde on Ubuntu. Allan
Removing the resource files (kmymoneyrc and kmymoney2rc) doesn't help, and 4.5.1 (compiled by myself with 4.5-2 debianisation) still crashes. That video looks basically the same, although it scrolls up higher than mine does. Screencast: http://mene.za.net/~mgorven/kmymoney-crash.ogv
(In reply to comment #10) > Removing the resource files (kmymoneyrc and kmymoney2rc) doesn't help, and > 4.5.1 (compiled by myself with 4.5-2 debianisation) still crashes. That video > looks basically the same, although it scrolls up higher than mine does. > Screencast: http://mene.za.net/~mgorven/kmymoney-crash.ogv Yes, in your case the last item seems to be missing while editing the new transaction. I'll take a look at what could be the cause of that because that could be the source of the crash. Thanks for posting your screencast.
I finally managed to reproduce this on Qt 4.7.1.
Great! I had similar crashes while I was running Ubuntu Lucid (which has Qt 4.6.2), although I can't easily check if it's the same issue or not.
SVN commit 1204535 by conet: BUG: 258355 Hide the edit widgets before removing them because if the widgets are visible while they are being removed (actually scheduled for deleteLater()) some events will be sent to the register (during the actual delete process) which will cause a crash by accessing the widgets which where already deleted. This was happening somewhere deep in Qt's code and I found this to be the best workaround for it. M +3 -1 register.cpp M +3 -1 transactionform.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1204535
SVN commit 1204536 by conet: BUG: 258355 Hide the edit widgets before removing them because if the widgets are visible while they are being removed (actually scheduled for deleteLater()) some events will be sent to the register (during the actual delete process) which will cause a crash by accessing the widgets which where already deleted. This was happening somewhere deep in Qt's code and I found this to be the best workaround for it. Merged into the stable branch. M +3 -1 register.cpp M +3 -1 transactionform.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1204536
*** Bug 258557 has been marked as a duplicate of this bug. ***
*** Bug 254607 has been marked as a duplicate of this bug. ***
*** Bug 261551 has been marked as a duplicate of this bug. ***