KMyMoney crashes when importing transactions via KBanking/AqBanking

Bug #1692784 reported by Ryan Novosielski
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
kmymoney (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

If I try to import transactions using AqBanking, it downloads the transactions and then says it's
OK to click close to close the window. At that point, KMyMoney crashes -- every time. Here is the crash while being run from gdb, and the backtrace with debugging symbols installed:

KMyMoneyPlugin::KMMStatementInterface::import start

Thread 1 "kmymoney" received signal SIGSEGV, Segmentation fault.
0xb59f8673 in hash (n=<optimized out>, p=0x11) at tools/qhash.cpp:85
85 tools/qhash.cpp: No such file or directory.
(gdb) backtrace
#0 0xb59f8673 in hash (n=<optimized out>, p=0x11) at tools/qhash.cpp:85
#1 qHash (key=...) at tools/qhash.cpp:99
#2 0xb74d726f in QHash<QString, MyMoneyAccount const*>::findNode (this=0x87a4d88, akey=..., ahp=0x0)
    at /usr/include/qt4/QtCore/qhash.h:882
#3 0xb74d031c in QHash<QString, MyMoneyAccount const*>::find (akey=..., this=0x87a4d88) at /usr/include/qt4/QtCore/qhash.h:868
#4 MyMoneyObjectContainer::account (this=0x87a640c, id=...)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/mymoney/mymoneyobjectcontainer.cpp:209
#5 0xb7461903 in MyMoneyFile::account (this=0xb755f680 <MyMoneyFile::file>, id=...)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/mymoney/mymoneyfile.cpp:667
#6 0x084aa0ae in MyMoneyStatementReader::import (this=0xb1b7c70, s=..., messages=...)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/converter/mymoneystatementreader.cpp:344
#7 0x080c59aa in KMyMoneyApp::slotStatementImport (this=0x8aba528, s=...)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/kmymoney.cpp:2419
#8 0x085cf6ed in KMyMoneyPlugin::KMMStatementInterface::import (this=0x8aca4a8, s=...)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/plugins/interfaces/kmmstatementinterface.cpp:44
#9 0xabbb2aab in KBankingPlugin::importStatement (s=..., this=<optimized out>)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/plugins/kbanking/mymoneybanking.cpp:833
#10 KMyMoneyBanking::importAccountInfo (this=0x8d34138, ai=0xb0f35a8)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/plugins/kbanking/mymoneybanking.cpp:1513
#11 0xabbbd3cb in AB_Banking::importContext (this=0x8d34138, ctx=0xb140a98, flags=0)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/plugins/kbanking/banking.cpp:199
#12 0xabbb5a7e in KBankingPlugin::executeQueue (this=this@entry=0x90fff50)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/plugins/kbanking/mymoneybanking.cpp:571
#13 0xabbb5b73 in KBankingPlugin::executeQueue (this=0x90fff50)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/plugins/kbanking/mymoneybanking.cpp:566
#14 0xabbb5c74 in KBankingPlugin::updateAccount (this=0x90fff50, acc=..., moreAccounts=false)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/plugins/kbanking/mymoneybanking.cpp:559
#15 0x080c8207 in KMyMoneyApp::slotAccountUpdateOnline (this=0x8aba528)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/kmymoney.cpp:7576
#16 0x08114928 in KMyMoneyApp::qt_static_metacall (_o=0x8aba528, _c=QMetaObject::InvokeMetaMethod, _id=112, _a=0xbfffdb64)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/obj-i686-linux-gnu/kmymoney/moc_kmymoney.cpp:531
#17 0xb5b0cd8b in QMetaObject::activate (sender=0x8abd568, m=0xb6ac1b94 <QAction::staticMetaObject>, local_signal_index=1,
    argv=0xbfffdb64) at kernel/qobject.cpp:3567
#18 0xb60f6689 in QAction::triggered (this=0x8abd568, _t1=false) at .moc/release-shared/moc_qaction.cpp:276
#19 0xb60f7c31 in QAction::activate (this=0x8abd568, event=QAction::Trigger) at kernel/qaction.cpp:1257
#20 0xb65ab9d3 in QMenuPrivate::activateCausedStack (this=0x8abd650, causedStack=..., action=0x8abd568,
---Type <return> to continue, or q <return> to quit---
    action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:1037
#21 0xb65b04b7 in QMenuPrivate::activateAction (this=0x8abd650, action=0x8abd568, action_e=QAction::Trigger, self=true)
    at widgets/qmenu.cpp:1129
#22 0xb65b4647 in QMenu::mouseReleaseEvent (this=0x8abd630, e=0xbfffe1f4) at widgets/qmenu.cpp:2371
#23 0xb6d937d2 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#24 0xb615c589 in QWidget::event (this=0x8abd630, event=0xbfffe1f4) at kernel/qwidget.cpp:8775
#25 0xb65b4ba2 in QMenu::event (this=0x8abd630, e=0xbfffe1f4) at widgets/qmenu.cpp:2480
#26 0xb60fd68a in QApplicationPrivate::notify_helper (this=0x87c9f78, receiver=0x8abd630, e=0xbfffe1f4)
    at kernel/qapplication.cpp:4570
#27 0xb6104be6 in QApplication::notify (this=0x87bf430, receiver=0x8abd630, e=0xbfffe1f4) at kernel/qapplication.cpp:4113
#28 0xb6cbc24c in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#29 0xb5af759a in QCoreApplication::notifyInternal (this=0x87bf430, receiver=0x8abd630, event=0xbfffe1f4)
    at kernel/qcoreapplication.cpp:955
#30 0xb61040f1 in QCoreApplication::sendEvent (event=<optimized out>, receiver=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#31 QApplicationPrivate::sendMouseEvent (receiver=0x8abd630, event=0xbfffe1f4, alienWidget=0x0, nativeWidget=0x8abd630,
    buttonDown=0xb6adbd2c <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3178
#32 0xb618f872 in QETWidget::translateMouseEvent (this=0x8abd630, event=0xbfffe41c) at kernel/qapplication_x11.cpp:4572
#33 0xb618e640 in QApplication::x11ProcessEvent (this=0x87bf430, event=0xbfffe41c) at kernel/qapplication_x11.cpp:3626
#34 0xb61baac2 in x11EventSourceDispatch (s=0x87c84e8, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#35 0xb46bc019 in g_main_dispatch (context=0x87c9810) at ../../../../glib/gmain.c:3203
#36 g_main_context_dispatch (context=0x87c9810) at ../../../../glib/gmain.c:3856
#37 0xb46bc2b9 in g_main_context_iterate (context=context@entry=0x87c9810, block=block@entry=1, dispatch=dispatch@entry=1,
    self=<optimized out>) at ../../../../glib/gmain.c:3929
#38 0xb46bc384 in g_main_context_iteration (context=0x87c9810, may_block=1) at ../../../../glib/gmain.c:3990
#39 0xb5b2a115 in QEventDispatcherGlib::processEvents (this=0x879cf48, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#40 0xb61baba6 in QGuiEventDispatcherGlib::processEvents (this=0x879cf48, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0xb5af5c7d in QEventLoop::processEvents (this=0xbfffe704, flags=...) at kernel/qeventloop.cpp:149
#42 0xb5af600e in QEventLoop::exec (this=0xbfffe704, flags=...) at kernel/qeventloop.cpp:204
#43 0xb65b35a9 in QMenu::exec (this=0x8abd630, p=..., action=0x0) at widgets/qmenu.cpp:2124
#44 0xb65f7ae7 in QToolButtonPrivate::popupTimerDone (this=0x8cc77a8) at widgets/qtoolbutton.cpp:960
#45 0xb5b12dae in QObject::event (this=0x8cc75a8, e=0xbfffebbc) at kernel/qobject.cpp:1253
#46 0xb615c94f in QWidget::event (this=0x8cc75a8, event=0xbfffebbc) at kernel/qwidget.cpp:8859
#47 0xb651fb98 in QAbstractButton::event (this=0x8cc75a8, e=0xbfffebbc) at widgets/qabstractbutton.cpp:1082
#48 0xb65f87af in QToolButton::event (this=0x8cc75a8, event=0xbfffebbc) at widgets/qtoolbutton.cpp:1168
#49 0xb60fd68a in QApplicationPrivate::notify_helper (this=0x87c9f78, receiver=0x8cc75a8, e=0xbfffebbc)
---Type <return> to continue, or q <return> to quit---
    at kernel/qapplication.cpp:4570
#50 0xb6104991 in QApplication::notify (this=0x87bf430, receiver=0x8cc75a8, e=0xbfffebbc) at kernel/qapplication.cpp:4356
#51 0xb6cbc24c in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#52 0xb5af759a in QCoreApplication::notifyInternal (this=0x87bf430, receiver=0x8cc75a8, event=0xbfffebbc)
    at kernel/qcoreapplication.cpp:955
#53 0xb5b2c8e9 in QCoreApplication::sendEvent (event=0xbfffebbc, receiver=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#54 QTimerInfoList::activateTimers (this=0x87c8474) at kernel/qeventdispatcher_unix.cpp:621
#55 0xb5b2974c in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:193
#56 idleTimerSourceDispatch (source=0x87c84a8) at kernel/qeventdispatcher_glib.cpp:240
#57 0xb46bc019 in g_main_dispatch (context=0x87c9810) at ../../../../glib/gmain.c:3203
#58 g_main_context_dispatch (context=0x87c9810) at ../../../../glib/gmain.c:3856
#59 0xb46bc2b9 in g_main_context_iterate (context=context@entry=0x87c9810, block=block@entry=1, dispatch=dispatch@entry=1,
    self=<optimized out>) at ../../../../glib/gmain.c:3929
#60 0xb46bc384 in g_main_context_iteration (context=0x87c9810, may_block=1) at ../../../../glib/gmain.c:3990
#61 0xb5b2a115 in QEventDispatcherGlib::processEvents (this=0x879cf48, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#62 0xb61baba6 in QGuiEventDispatcherGlib::processEvents (this=0x879cf48, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#63 0xb5af5c7d in QEventLoop::processEvents (this=0xbfffee04, flags=...) at kernel/qeventloop.cpp:149
#64 0xb5af600e in QEventLoop::exec (this=0xbfffee04, flags=...) at kernel/qeventloop.cpp:204
#65 0xb5afc616 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#66 0xb60fb524 in QApplication::exec () at kernel/qapplication.cpp:3828
#67 0x080a9cc5 in runKMyMoney (splash=splash@entry=0x8988070, a=0x87bf430, this=<optimized out>, this=<optimized out>,
    this=<optimized out>, this=<optimized out>, this=<optimized out>)
    at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/main.cpp:283
#68 0x080a67fa in main (argc=1, argv=0xbffff1f4) at /build/kmymoney-CDqgbI/kmymoney-4.8.0/kmymoney/main.cpp:182

I have had this problem ever since upgrading to an earlier release of Ubuntu than this one -- maybe 16.10?

Requested info from guidelines:

1) ryanov@obelisk:~/src$ lsb_release -rd
Description: Ubuntu 17.04
Release: 17.04

2) ryanov@obelisk:~/src$ apt-cache policy kmymoney
kmymoney:
  Installed: 4.8.0-2
  Candidate: 4.8.0-2
  Version table:
 *** 4.8.0-2 500
        500 http://us.archive.ubuntu.com/ubuntu zesty/universe i386 Packages
        100 /var/lib/dpkg/status

3) My transactions should have been imported.

4) Segmentation fault instead.

Apport tells me my bug report isn't useful. I suspect this is a KDE/GNOME thing. The backtrace looks useful enough.

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in kmymoney (Ubuntu):
status: New → Confirmed
Revision history for this message
agent 8131 (agent-8131) wrote :

I am also experiencing crashes on import since upgrading to Ubuntu 18.04 / kmymoney 5.0.1-2. I haven't use gdb yet but I have gotten the following:

[504748.729260] kmymoney[5297]: segfault at e0 ip 00007fb05d564d7e sp 00007ffe1e1df8e0 error 4 in libQt5Core.so.5.9.5[7fb05d2ac000+53b000]
[504954.407060] kmymoney[21639]: segfault at 100000021 ip 00007fc40392ad7e sp 00007ffc142345a0 error 4 in libQt5Core.so.5.9.5[7fc403672000+53b000]

Revision history for this message
Ken Gailey (krg1966) wrote :

I'm experiencing the crashes since upgrade to 5.0.1-1. Work around has been to wait for auto-save to run before clicking the confirmation message after the download completes. If I do that, KMyMoney crashes when I click OK, but I can relaunch and my downloaded transactions are there.

Revision history for this message
BenR (benregier) wrote :

Another work around is to download the transactions file to your hard drive, and then use the File->Import menu to import it, rather than having your web browser attempt to open the file with KMyMoney.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.