No subject


Sun Oct 17 01:33:20 CEST 2010


// make hash value unique in case we don't have one already
  if (kt.m_strBankID.isEmpty()) {
    QString hashBase;
    hashBase.sprintf("%s-%07lx",
qPrintable(kt.m_datePosted.toString(Qt::ISODate)), h);
    int idx = 1;
    QString hash;
    for (;;) {
      hash = QString("%1-%2").arg(hashBase).arg(idx);
      QMap<QString, bool>::const_iterator it;
      it = m_hashMap.constFind(hash);
      if (it == m_hashMap.constEnd()) {
        m_hashMap[hash] = true;
        break;
      }
      ++idx;
    }
    kt.m_strBankID = QString("%1-%2").arg(acc.id()).arg(hash);
  }

So the crash seems to be caused by a missing/invalid bank ID.

Indeed, my ctx file seems to be missing the bank ID:
accountInfoList {
  accountInfo {
    char bankCode=""
    char accountNumber="12345678"
    int  accountType="0"
    int  accountId="0"

So when I fill in the bank ID by hand then kmymoney successfully imports the
file. 

Here's the full stacktrace:

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff293b19f in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0x00007ffff293b19f in memcpy () from /lib/libc.so.6
#1  0x00007ffff43a102b in ?? () from /usr/lib64/qt4/libQtCore.so.4
#2  0x00007ffff43a27ed in QString::arg(QString const&, int, QChar const&) const
() from /usr/lib64/qt4/libQtCore.so.4
#3  0x00007fffe31ff5e6 in KMyMoneyBanking::_xaToStatement (this=0x1407cc0,
ks=<value optimized out>, acc=<value optimized out>, t=<value optimized out>)
    at
/home/felix/tmp/kmymoney/kmymoney/plugins/kbanking/mymoneybanking.cpp:1045
#4  0x00007fffe32007b1 in KMyMoneyBanking::importAccountInfo (this=0x1407cc0,
ai=0x27ad960)
    at
/home/felix/tmp/kmymoney/kmymoney/plugins/kbanking/mymoneybanking.cpp:1150
#5  0x00007fffe32051d1 in AB_Banking::importContext (this=0x1407cc0,
ctx=0x25ad5c0, flags=0)
    at /home/felix/tmp/kmymoney/kmymoney/plugins/kbanking/banking.cpp:195
#6  0x00007fffe31f9dfc in KMyMoneyBanking::interactiveImport (this=0x1407cc0)
at /home/felix/tmp/kmymoney/kmymoney/plugins/kbanking/mymoneybanking.cpp:822
#7  0x00007fffe31fa411 in KBankingPlugin::slotImport (this=<value optimized
out>)
    at
/home/felix/tmp/kmymoney/kmymoney/plugins/kbanking/mymoneybanking.cpp:641
#8  0x00007fffe31fa634 in KBankingPlugin::qt_metacall (this=0x14093f0,
_c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, 
    _a=<value optimized out>) at
/home/felix/tmp/kmymoney/build/kmymoney/plugins/kbanking/mymoneybanking.moc:85
#9  0x00007ffff44653ef in QMetaObject::activate(QObject*, QMetaObject const*,
int, void**) () from /usr/lib64/qt4/libQtCore.so.4
#10 0x00007ffff35773f2 in QAction::triggered(bool) () from
/usr/lib64/qt4/libQtGui.so.4
#11 0x00007ffff3578adb in QAction::activate(QAction::ActionEvent) () from
/usr/lib64/qt4/libQtGui.so.4
#12 0x00007ffff39b6c11 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#13 0x00007ffff39bc5a2 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#14 0x00007ffff669bf9e in KMenu::mouseReleaseEvent(QMouseEvent*) () from
/usr/lib/libkdeui.so.5
#15 0x00007ffff35d4ce1 in QWidget::event(QEvent*) () from
/usr/lib64/qt4/libQtGui.so.4
#16 0x00007ffff39be6db in QMenu::event(QEvent*) () from
/usr/lib64/qt4/libQtGui.so.4
#17 0x00007ffff357eaec in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib64/qt4/libQtGui.so.4
#18 0x00007ffff358558b in QApplication::notify(QObject*, QEvent*) () from
/usr/lib64/qt4/libQtGui.so.4
#19 0x00007ffff65bbb96 in KApplication::notify(QObject*, QEvent*) () from
/usr/lib/libkdeui.so.5
#20 0x00007ffff444d88b in QCoreApplication::notifyInternal(QObject*, QEvent*)
() from /usr/lib64/qt4/libQtCore.so.4
#21 0x00007ffff3583872 in QApplicationPrivate::sendMouseEvent(QWidget*,
QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) ()
   from /usr/lib64/qt4/libQtGui.so.4
#22 0x00007ffff3606c16 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#23 0x00007ffff360590a in QApplication::x11ProcessEvent(_XEvent*) () from
/usr/lib64/qt4/libQtGui.so.4
#24 0x00007ffff362f852 in ?? () from /usr/lib64/qt4/libQtGui.so.4
#25 0x00007fffed99e9bf in g_main_context_dispatch () from
/usr/lib/libglib-2.0.so.0
#26 0x00007fffed9a27f8 in ?? () from /usr/lib/libglib-2.0.so.0
#27 0x00007fffed9a29ac in g_main_context_iteration () from
/usr/lib/libglib-2.0.so.0
#28 0x00007ffff4479833 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
from /usr/lib64/qt4/libQtCore.so.4
#29 0x00007ffff362f1ce in ?? () from /usr/lib64/qt4/libQtGui.so.4
#30 0x00007ffff444c5e2 in
QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/qt4/libQtCore.so.4
#31 0x00007ffff444c9c4 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from
/usr/lib64/qt4/libQtCore.so.4
#32 0x00007ffff44518e9 in QCoreApplication::exec() () from
/usr/lib64/qt4/libQtCore.so.4

Reproducible: Always




OS: Linux (x86_64) release 2.6.32-gentoo-r6
Compiler: x86_64-pc-linux-gnu-gcc

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the KMyMoney-devel mailing list