Bug 296550

Summary: Crash when importing csv file.
Product: [Applications] kmymoney Reporter: allan <agander93>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description allan 2012-03-22 11:45:58 UTC
Application: kmymoney (4.6.90-89f68db51f)
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-15-generic-pae i686
Distribution: Linux Mint 12 KDE

-- Information about the crash:
- What I was doing when the application crashed:

I was importing a series of csv files to make new kmy file for my wife.  However, there was a gap between the end of the bank's archived files and the their most recent current file.  I could see the data on their server, but it wouldn't let me download it.  So, I did a copy/paste to roll my own csv file.  I could see that alternate rows were missing the 'balance' field at the end, but as this was destined to be a memo, I proceeded.

The importer flagged that there was a column missing, but I opted to proceed, whence the crash.

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
[Current thread is 1 (Thread 0xb3e58ac0 (LWP 2772))]

Thread 3 (Thread 0xb0f06b70 (LWP 2773)):
#0  0xb48c7d10 in __GI_clock_gettime (clock_id=1, tp=0xb0f06028) at ../sysdeps/unix/clock_gettime.c:116
#1  0xb60bc7d5 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#2  0xb618f4b6 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#3  0xb618f80a in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#4  0xb618e053 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#5  0xb618e0ed in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#6  0xb480d88c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb480e637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb480ec2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb618eb37 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#10 0xb615f1dd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#11 0xb615f421 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#12 0xb606290b in QThread::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#13 0xb613fe2d in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#14 0xb60657b3 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#15 0xb688ed31 in start_thread (arg=0xb0f06b70) at pthread_create.c:304
#16 0xb52db0ce in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0xae2e5b70 (LWP 2999)):
#0  0xb48c7d10 in __GI_clock_gettime (clock_id=1, tp=0xae2e5028) at ../sysdeps/unix/clock_gettime.c:116
#1  0xb60bc7d5 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#2  0xb618f4b6 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#3  0xb618f80a in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#4  0xb618e053 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#5  0xb618e0ed in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#6  0xb480d88c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb480e637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb480ec2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb618eb37 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#10 0xb615f1dd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#11 0xb615f421 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#12 0xb606290b in QThread::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#13 0xb613fe2d in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#14 0xb60657b3 in ?? () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#15 0xb688ed31 in start_thread (arg=0xae2e5b70) at pthread_create.c:304
#16 0xb52db0ce in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb3e58ac0 (LWP 2772)):
[KCrash Handler]
#7  0xb60b05d4 in QString::operator=(QString const&) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#8  0xb04fa944 in CSVDialog::processQifLine (this=0xbaffa98, iBuff=...) at /home/aga/GITD/kmymoney/kmymoney/plugins/csvimport/csvdialog.cpp:1033
#9  0xb05054b7 in CSVDialog::readFile (this=0xbaffa98, fname=..., skipLines=0) at /home/aga/GITD/kmymoney/kmymoney/plugins/csvimport/csvdialog.cpp:810
#10 0xb0506c51 in CSVDialog::slotImportClicked (this=0xbaffa98) at /home/aga/GITD/kmymoney/kmymoney/plugins/csvimport/csvdialog.cpp:1144
#11 0xb04e5a0d in CSVDialog::qt_metacall (this=0xbaffa98, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0xbf9d8da4) at /home/aga/GITD/kmymoney/build/kmymoney/plugins/csvimport/moc_csvdialog.cpp:132
#12 0xb6166b7d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#13 0xb6175a6a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#14 0xb04e6225 in CompletionPage::importBanking (this=0xbc936e0) at /home/aga/GITD/kmymoney/build/kmymoney/plugins/csvimport/moc_csvdialog.cpp:681
#15 0xb04fe76f in CompletionPage::slotImportClicked (this=0xbc936e0) at /home/aga/GITD/kmymoney/kmymoney/plugins/csvimport/csvdialog.cpp:3238
#16 0xb04e62fd in CompletionPage::qt_metacall (this=0xbc936e0, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0xbf9d8f78) at /home/aga/GITD/kmymoney/build/kmymoney/plugins/csvimport/moc_csvdialog.cpp:663
#17 0xb6166b7d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#18 0xb6175a6a in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#19 0xb5d25e6d in QAbstractButton::clicked(bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#20 0xb5a245dd in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#21 0xb5a25c4b in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#22 0xb5a25f06 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#23 0xb566afc8 in QWidget::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#24 0xb5a251a9 in QAbstractButton::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#25 0xb5ac77e8 in QPushButton::event(QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#26 0xb5610d84 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#27 0xb5616deb in QApplication::notify(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#28 0xb6c5c971 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#29 0xb616019e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#30 0xb5611d45 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#31 0xb569e304 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#32 0xb569ce8d in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#33 0xb56c928c in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#34 0xb480e25f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#35 0xb480e990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#36 0xb480ec2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#37 0xb618eada in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#38 0xb56c8e7a in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#39 0xb615f1dd in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#40 0xb615f421 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#41 0xb616419d in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
#42 0xb560e924 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#43 0x08089df3 in runKMyMoney (splash=0xbf9d9e08, a=<optimized out>) at /home/aga/GITD/kmymoney/kmymoney/main.cpp:282
#44 0x080882e2 in main (argc=) at /home/aga/GITD/kmymoney/kmymoney/main.cpp:181

Reported using DrKonqi
Comment 1 allan 2012-03-22 17:55:05 UTC
Git commit 1e4deb09a9afba5d7e6cb9d004ee74a348edc490 by Allan Anderson.
Committed on 22/03/2012 at 14:18.
Pushed by allananderson into branch 'master'.

REVIEW REQUEST:103622 Some i18n improvements, for csvimport only.

M  +9    -9    kmymoney/plugins/csvimport/bankingwizardpage.ui
M  +2    -1    kmymoney/plugins/csvimport/csvdialog.cpp

http://commits.kde.org/kmymoney/1e4deb09a9afba5d7e6cb9d004ee74a348edc490