Application: kmymoney (4.5.3) KDE Platform Version: 4.6.2 (4.6.2) Qt Version: 4.7.2 Operating System: Linux 2.6.38-9-generic i686 Distribution: Ubuntu 11.04 -- Information about the crash: When importing a QIF file, kmymoney crashes immediately on completing the import. This crash can be reproduced everytime. The QIF file import works fine in kmymoney 4.5.0 but I've now tried 4.5.3 under two different scenarios: (1) compiled from source under Ubuntu 10.10 and (2) install as a package as part of the recent distribution upgrade of Ubuntu to 11.04. Both these scenarios segfault in exactly the same way. Below is on a simple test account. But I'm getting the same behaviour on my real account. Console output (on a simple test account) is: laptop[currentdir]: kmymoney new.account.kmy Application asked to unregister timer 0xe000027 which is not registered in this thread. Fix application. 7:2011/05/06 15-09-26:aqbanking(4308):started KMyMoney kbanking plugin loaded Object::disconnect: No such slot KMyMoneyView::slotRememberPage(const QModelIndex, const QModelIndex) Object::connect: No such slot KMyMoneyView::slotRememberPage(const QModelIndex, const QModelIndex) KMyMoney reconciliation report plugin loaded KMyMoney printcheck plugin loaded QFSFileEngine::open: No file name specified KMyMoney ofximport plugin loaded KMyMoney iCalendar plugin loaded reading file start parsing file startDocument reading accounts reading transactions reading securities reading currencies reading prices reading reports endDocument QPainter::begin: Widget painting can only begin as a result of a paintEvent QPainter::translate: Painter not active QPainter::setClipRect: Painter not active Read 108 bytes Selected date format: '%d %m %y' Statement with 3 transactions, 0 prices and 0 securities added to the statement list 13 lines processed Application asked to unregister timer 0x20000039 which is not registered in this thread. Fix application. Importing statement for 'Current A/C' Processing transactions (Current A/C) Payee 'A N OTHER' created Payee 'PERSONAL' created Payee 'INSURANCE' created Processing transactions done (Current A/C) Importing statement for 'Current A/C' done QSocketNotifier: Invalid socket 11 and type 'Read', disabling... KCrash: Application 'kmymoney' crashing... KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit sock_file=/home/xxx/.kde/socket-xxx-laptop/kdeinit4__0 QSocketNotifier: Invalid socket 23 and type 'Read', disabling... [1]+ Stopped kmymoney new.account.kmy The crash can be reproduced every time. -- Backtrace: Application: KMyMoney (kmymoney), signal: Segmentation fault [Current thread is 1 (Thread 0xb771a930 (LWP 4308))] Thread 3 (Thread 0xb275fb70 (LWP 4309)): #0 0x00afcd41 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1 #1 0x036cddd8 in do_gettime () at tools/qelapsedtimer_unix.cpp:123 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #3 0x0379a4f2 in updateCurrentTime (this=0x975325c, tm=...) at kernel/qeventdispatcher_unix.cpp:339 #4 QTimerInfoList::timerWait (this=0x975325c, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #5 0x03798d32 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb275f0dc) at kernel/qeventdispatcher_glib.cpp:136 #6 0x03798dcd in timerSourcePrepare (source=0x9753228, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #7 0x08ec0fd4 in g_main_context_prepare (context=<value optimized out>, priority=0xb275f14c) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:2761 #8 0x08ec1e63 in g_main_context_iterate (context=0x9753298, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:3071 #9 0x08ec2524 in g_main_context_iteration (context=0x9753298, may_block=1) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:3154 #10 0x03799577 in QEventDispatcherGlib::processEvents (this=0x9753650, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #11 0x0376b289 in QEventLoop::processEvents (this=0xb275f290, flags=...) at kernel/qeventloop.cpp:149 #12 0x0376b522 in QEventLoop::exec (this=0xb275f290, flags=...) at kernel/qeventloop.cpp:201 #13 0x036752a0 in QThread::exec (this=0x9751830) at thread/qthread.cpp:492 #14 0x0374cfdb in QInotifyFileSystemWatcherEngine::run (this=0x9751830) at io/qfilesystemwatcher_inotify.cpp:248 #15 0x03677da2 in QThreadPrivate::start (arg=0x9751830) at thread/qthread_unix.cpp:320 #16 0x00195e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #17 0x0515673e in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 2 (Thread 0xb11b7b70 (LWP 4315)): #0 0x00afcd41 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1 #1 0x036cddd8 in do_gettime () at tools/qelapsedtimer_unix.cpp:123 #2 qt_gettime () at tools/qelapsedtimer_unix.cpp:140 #3 0x0379a4f2 in updateCurrentTime (this=0xb1e03e84, tm=...) at kernel/qeventdispatcher_unix.cpp:339 #4 QTimerInfoList::timerWait (this=0xb1e03e84, tm=...) at kernel/qeventdispatcher_unix.cpp:442 #5 0x03798d32 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xb11b70dc) at kernel/qeventdispatcher_glib.cpp:136 #6 0x03798dcd in timerSourcePrepare (source=0xb1e03e50, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169 #7 0x08ec0fd4 in g_main_context_prepare (context=<value optimized out>, priority=0xb11b714c) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:2761 #8 0x08ec1e63 in g_main_context_iterate (context=0xb1e00580, block=1, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:3071 #9 0x08ec2524 in g_main_context_iteration (context=0xb1e00580, may_block=1) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:3154 #10 0x03799577 in QEventDispatcherGlib::processEvents (this=0x9f06808, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #11 0x0376b289 in QEventLoop::processEvents (this=0xb11b7290, flags=...) at kernel/qeventloop.cpp:149 #12 0x0376b522 in QEventLoop::exec (this=0xb11b7290, flags=...) at kernel/qeventloop.cpp:201 #13 0x036752a0 in QThread::exec (this=0x9e36ee0) at thread/qthread.cpp:492 #14 0x0374cfdb in QInotifyFileSystemWatcherEngine::run (this=0x9e36ee0) at io/qfilesystemwatcher_inotify.cpp:248 #15 0x03677da2 in QThreadPrivate::start (arg=0x9e36ee0) at thread/qthread_unix.cpp:320 #16 0x00195e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #17 0x0515673e in clone () from /lib/i386-linux-gnu/libc.so.6 Thread 1 (Thread 0xb771a930 (LWP 4308)): [KCrash Handler] #7 QCoreApplication::notifyInternal (this=0x93cc3e8, receiver=0x9eb1018, event=0xbfd095b0) at kernel/qcoreapplication.cpp:718 #8 0x061619d9 in sendEvent (this=0x9750658, event=...) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #9 QInputContext::sendEvent (this=0x9750658, event=...) at inputmethod/qinputcontext.cpp:280 #10 0x06161988 in QInputContext::sendEvent (this=0x97713d8, event=...) at inputmethod/qinputcontext.cpp:271 #11 0x01e4cf46 in IBusInputContext::displayPreeditText(IBus::Pointer<IBus::Text> const&, unsigned int, bool) () from /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so #12 0x01e4d165 in IBusInputContext::slotUpdatePreeditText(IBus::Pointer<IBus::Text> const&, unsigned int, bool) () from /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so #13 0x01e50ee0 in IBusInputContext::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/qt4/plugins/inputmethods/libqtim-ibus.so #14 0x037726ba in QMetaObject::metacall (object=0x97713d8, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0xbfd09900) at kernel/qmetaobject.cpp:237 #15 0x037824ff in QMetaObject::activate (sender=0x9771e00, m=0x1f93908, local_signal_index=1, argv=0xbfd09900) at kernel/qobject.cpp:3287 #16 0x01f77ab8 in IBus::InputContext::updatePreeditText(IBus::Pointer<IBus::Text> const&, unsigned int, bool) () from /usr/lib/libibus-qt.so.1 #17 0x01f6c55b in IBus::InputContext::slotUpdatePreeditText(QDBusVariant const&, unsigned int, bool) () from /usr/lib/libibus-qt.so.1 #18 0x01f7786d in IBus::InputContext::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libibus-qt.so.1 #19 0x037726ba in QMetaObject::metacall (object=0x9771e00, cl=QMetaObject::InvokeMetaMethod, idx=24, argv=0xbfd09a50) at kernel/qmetaobject.cpp:237 #20 0x037824ff in QMetaObject::activate (sender=0x9751598, m=0x1f93844, local_signal_index=17, argv=0xbfd09a50) at kernel/qobject.cpp:3287 #21 0x01f771aa in IBusInputContextProxy::UpdatePreeditText(QDBusVariant const&, unsigned int, bool) () from /usr/lib/libibus-qt.so.1 #22 0x01f7673b in IBusInputContextProxy::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libibus-qt.so.1 #23 0x00239acd in QDBusConnectionPrivate::deliverCall (this=0xb1e00628, object=0x9751598, msg=..., metaTypes=..., slotIdx=22) at qdbusintegrator.cpp:942 #24 0x002441d7 in QDBusCallDeliveryEvent::placeMetaCall (this=0x9fa7f68, object=0x9751598) at qdbusintegrator_p.h:103 #25 0x037813b7 in QObject::event (this=0x9751598, e=0x9fa7f68) at kernel/qobject.cpp:1226 #26 0x05b3ad24 in QApplicationPrivate::notify_helper (this=0x93cf608, receiver=0x9751598, e=0x9fa7f68) at kernel/qapplication.cpp:4462 #27 0x05b3f8ce in QApplication::notify (this=0x93cc3e8, receiver=0x9751598, e=0x9fa7f68) at kernel/qapplication.cpp:3862 #28 0x006193ca in KApplication::notify (this=0x93cc3e8, receiver=0x9751598, event=0x9fa7f68) at ../../kdeui/kernel/kapplication.cpp:311 #29 0x0376c0bb in QCoreApplication::notifyInternal (this=0x93cc3e8, receiver=0x9751598, event=0x9fa7f68) at kernel/qcoreapplication.cpp:731 #30 0x0376fc79 in sendEvent (receiver=0x0, event_type=0, data=0x9393f50) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215 #31 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x9393f50) at kernel/qcoreapplication.cpp:1372 #32 0x0376fe0d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1265 #33 0x037993c4 in sendPostedEvents (s=0x93d2950) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #34 postEventSourceDispatch (s=0x93d2950) at kernel/qeventdispatcher_glib.cpp:277 #35 0x08ec1aa8 in g_main_dispatch (context=0x93d28c0) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:2440 #36 g_main_context_dispatch (context=0x93d28c0) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:3013 #37 0x08ec2270 in g_main_context_iterate (context=0x93d28c0, block=149760032, dispatch=1, self=<value optimized out>) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:3091 #38 0x08ec2524 in g_main_context_iteration (context=0x93d28c0, may_block=1) at /build/buildd/glib2.0-2.28.6/./glib/gmain.c:3154 #39 0x0379953c in QEventDispatcherGlib::processEvents (this=0x9393aa8, flags=...) at kernel/qeventdispatcher_glib.cpp:422 #40 0x05bee775 in QGuiEventDispatcherGlib::processEvents (this=0x9393aa8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #41 0x0376b289 in QEventLoop::processEvents (this=0xbfd0a380, flags=...) at kernel/qeventloop.cpp:149 #42 0x0376b522 in QEventLoop::exec (this=0xbfd0a380, flags=...) at kernel/qeventloop.cpp:201 #43 0x06058003 in QDialog::exec (this=0x9bdd6c8) at dialogs/qdialog.cpp:552 #44 0x0057bb4c in KMessageBox::createKMessageBox (dialog=0x9bdd6c8, icon=..., text=..., strlist=..., ask=..., checkboxReturn=0xbfd0a6bf, options=..., details=..., notifyType=QMessageBox::Information) at ../../kdeui/dialogs/kmessagebox.cpp:337 #45 0x0057c335 in KMessageBox::createKMessageBox (dialog=0x9bdd6c8, icon=QMessageBox::Information, text=..., strlist=..., ask=..., checkboxReturn=0xbfd0a6bf, options=..., details=...) at ../../kdeui/dialogs/kmessagebox.cpp:152 #46 0x0057f126 in KMessageBox::informationListWId (parent_id=94371903, text=..., strlist=..., caption=..., dontShowAgainName=..., options=...) at ../../kdeui/dialogs/kmessagebox.cpp:998 #47 0x0057f296 in KMessageBox::informationList (parent=0x946ccf0, text=..., strlist=..., caption=..., dontShowAgainName=..., options=...) at ../../kdeui/dialogs/kmessagebox.cpp:969 #48 0x080c0a71 in _start () This bug may be a duplicate of or related to bug 238483. Possible duplicates by query: bug 269540. Reported using DrKonqi
Created attachment 59701 [details] simple test account file for reproducing this crash simple test account file for reproducing this crash (gzipped xml account file as used by kmymoney)
Created attachment 59702 [details] simple qif file for reproducing this crash Format is identical to a banks QIF files. I've just anonymised the transactions.
If it helps I've tried both 4.5.0 and 4.5.1 on the same machine. (Compiled from kmymoney-4.5.tar.bz2 and kmymoney-4.5.1.tar.bz2 respectively, as downloaded from sourceforge). 4.5.0 imports the QIF file without problems. 4.5.1 has exactly the same problem as 4.5.3; crashing immediately after finishing the import. Looks like some change between 4.5.0 and 4.5.1 is responsible for this problem. Tested this using: KDE Platform Version 4.6.2 (4.6.2), Qt Version: 4.7.2, Linux 2.6.38-9-generic i686, Ubuntu 11.04. I previously tried the same test on KDE 4.5.5 (4.5.5), Ubuntu 10.10 with exactly the same results (same machine, just prior to distribution upgrade).
(In reply to comment #3) > If it helps I've tried both 4.5.0 and 4.5.1 on the same machine. (Compiled from > kmymoney-4.5.tar.bz2 and kmymoney-4.5.1.tar.bz2 respectively, as downloaded > from sourceforge). > > 4.5.0 imports the QIF file without problems. 4.5.1 has exactly the same > problem as 4.5.3; crashing immediately after finishing the import. Looks like > some change between 4.5.0 and 4.5.1 is responsible for this problem. > > Tested this using: KDE Platform Version 4.6.2 (4.6.2), Qt Version: 4.7.2, Linux > 2.6.38-9-generic i686, Ubuntu 11.04. > > I previously tried the same test on KDE 4.5.5 (4.5.5), Ubuntu 10.10 with > exactly the same results (same machine, just prior to distribution upgrade). I first tried the qif file with my own test kmy file and it imported OK. Then I did the same with the suspect kmy file and that too imported it OK. I'm on Version 4.5.90-svn1230396. Perhaps you could try launching KMM from the console and see if any clues are output.
If Allan can't reproduce it (I haven't tried yet) I would say the problem only appears when using IBus (from looking at the stack trace). Can you try to deactivate IBus and see if the crash can be reproduced? I have to give IBus a try because it seems that crashes occur when using it. I recall another crash report mentioning it.
I can confirm Allan's findings - the qif is imported OK in the testfile with 4.5.90. Now I really suspect IBus (take a look at BUG 271849). Could you please try to turn of IBus and run the same test in KMymoney?
I have remembered something. We had an input context related crash during import on Windows if the imported transaction would match a scheduled transaction. See the fix http://websvn.kde.org/?revision=1213931&view=revision could you try removing the #ifdef Q_OS_WIN32 and see if this fix is also valid in your case?
I can confirm that IBus is causing the problem. If I turn off IBus (quit it from the system tray settings) and then try importing the QIF it imports okay (in KMM 4.5.3).
IBus details: version is 1.3.9. Input method Off. I checked for #ifdef Q_OS_WIN32 (in mymoneystatementreader.cpp) but it doesn't appear in version 4.5.3.
(In reply to comment #7) > See the fix http://websvn.kde.org/?revision=1213931&view=revision > could you try removing the #ifdef Q_OS_WIN32 and see if this fix is also valid > in your case? Sorry, just realised I misread your comment. Okay I'll give this a go.
(In reply to comment #7) I updated mymoneystatementreader.cpp to the version referred to in comment #7 (http://websvn.kde.org/?revision=1213931&view=revision) and removed the #ifdef Q_OS_WIN32. Unfortunately this doesn't cure the problem. It still crashes after finishing the QIF file import when I have IBus running. (I modified version 4.5.3).
*** Bug 272769 has been marked as a duplicate of this bug. ***
*** Bug 276454 has been marked as a duplicate of this bug. ***
*** Bug 269540 has been marked as a duplicate of this bug. ***
*** Bug 277400 has been marked as a duplicate of this bug. ***
Just out of curiosity: does applying the patch attached to bug 283538 somehow have an influence on this problem here?
*** Bug 288265 has been marked as a duplicate of this bug. ***
As a workaround this issue if you are affected by it run kmymoney from a terminal in the following way: QT_IM_MODULE="" kmymoney That only disables the ibus input method until the crash is solved.
Since it is a (now) known bug, we could easily add a warning message a startup in case QT_IM_MODULE is not empty and warn people that this might cause crashes. Thoughts?
(In reply to comment #19) > Since it is a (now) known bug, we could easily add a warning message a startup > in case QT_IM_MODULE is not empty and warn people that this might cause > crashes. Thoughts? I would only do that if this bug is here to stay :) but that's not the case.
*** Bug 309586 has been marked as a duplicate of this bug. ***
*** Bug 296206 has been marked as a duplicate of this bug. ***
*** Bug 296404 has been marked as a duplicate of this bug. ***
*** Bug 302408 has been marked as a duplicate of this bug. ***
Created attachment 81490 [details] New crash information added by DrKonqi kmymoney (4.6.3) on KDE Platform 4.10.5 using Qt 4.8.4 - What I was doing when the application crashed: I imported a .QIF file, and KMymoney immediately crashed at the end of the import. Reproducible everytime. Seems to be related to IBUS: if I close the system tray IBUS daemon, I am able to finish the import. -- Backtrace (Reduced): #7 QCoreApplication::notifyInternal (this=0x953c8e0, receiver=receiver@entry=0xb94e9b0, event=event@entry=0xbffe9410) at kernel/qcoreapplication.cpp:934 #8 0xb5b60273 in sendEvent (event=0xbffe9410, receiver=0xb94e9b0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #9 QInputContext::sendEvent (this=0x9a413c8, event=...) at inputmethod/qinputcontext.cpp:280 #10 0xb5b6021a in QInputContext::sendEvent (this=0x9b25470, event=...) at inputmethod/qinputcontext.cpp:271 #11 0xb06ad12c in IBusInputContext::displayPreeditText(IBus::Pointer<IBus::Text> const&, unsigned int, bool) () from /usr/lib/i386-linux-gnu/qt4/plugins/inputmethods/libqtim-ibus.so
I finally got myself to install ibus and reproduce this so working on it...
Git commit ea6b2b13886afa30d2b402627ef8e6b374216338 by Cristian Oneț. Committed on 27/08/2013 at 06:25. Pushed by conet into branch 'master'. KMyMoneyCompletion should now work properly using input methods. Remove previous workarounds that were added to hide this problem. Related: bug 272393, bug 320579 M +1 -9 kmymoney/converter/mymoneystatementreader.cpp M +4 -6 kmymoney/widgets/kmymoneycompletion.cpp M +0 -9 kmymoney/widgets/kmymoneyselector.cpp http://commits.kde.org/kmymoney/ea6b2b13886afa30d2b402627ef8e6b374216338
Git commit 9ab659c6878798b27572afb8c209c7498ccc9261 by Cristian Oneț. Committed on 27/08/2013 at 06:25. Pushed by conet into branch '4.6'. KMyMoneyCompletion should now work properly using input methods. Remove previous workarounds that were added to hide this problem. Related: bug 272393, bug 320579 (cherry picked from commit ea6b2b13886afa30d2b402627ef8e6b374216338) M +1 -9 kmymoney/converter/mymoneystatementreader.cpp M +4 -6 kmymoney/widgets/kmymoneycompletion.cpp M +0 -9 kmymoney/widgets/kmymoneyselector.cpp http://commits.kde.org/kmymoney/9ab659c6878798b27572afb8c209c7498ccc9261
*** Bug 315001 has been marked as a duplicate of this bug. ***
*** Bug 316479 has been marked as a duplicate of this bug. ***
*** Bug 309630 has been marked as a duplicate of this bug. ***
*** Bug 324174 has been marked as a duplicate of this bug. ***
*** Bug 267589 has been marked as a duplicate of this bug. ***
*** Bug 325980 has been marked as a duplicate of this bug. ***
*** Bug 326621 has been marked as a duplicate of this bug. ***
*** Bug 329071 has been marked as a duplicate of this bug. ***
*** Bug 329139 has been marked as a duplicate of this bug. ***
*** Bug 329867 has been marked as a duplicate of this bug. ***
(In reply to comment #18) > As a workaround this issue if you are affected by it run kmymoney from a > terminal in the following way: > > QT_IM_MODULE="" kmymoney > > That only disables the ibus input method until the crash is solved. I don't understand why but i can reproduce the bug with the command: QT_IM_MODULE="" kmymoney
The fix is only available in version 4.6.4.
*** Bug 330621 has been marked as a duplicate of this bug. ***
*** Bug 331388 has been marked as a duplicate of this bug. ***