Bug 259235

Summary: Crash on cancelling QIF import
Product: [Applications] kmymoney Reporter: Andrew Diederich <andrewdied>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: crash CC: ohernandez3
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Andrew Diederich 2010-12-08 18:36:52 UTC
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-23-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
kMyMoney crashed when I cancelled a quicken / qfx import.

I downloaded a money market file from Wells Fargo, using the quicken format.  These are saved with a qfx extension.  I imported the qfx file into an existing money market account, and I had previously used the OFX imports.  (Wells Fargo has removed their OFX export function.)  

I left the default qif profile (the only one I have), and left it as a type checking and selected the correct account to import against.  A dialog box popped up that asked what date format my file was in.  I didn't know, so I hit cancel.  The application immediately crashed.

Aside: Rather than show %Y %M style date formatting, it would be nice if kMyMoney showed what the dates were in the various formats from the first entry (or last entry) in the file.  This will give the user the contextual information to correctly choose the right date format.

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

Thread 2 (Thread 0x7fb21d1f3710 (LWP 6609)):
#0  0x00007fb2279d8203 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fb222b33009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fb222b337b5 in g_main_loop_run () from /lib/libglib-2.0.so.0
#3  0x00007fb21d92a0f4 in ?? () from /usr/lib/libgio-2.0.so.0
#4  0x00007fb222b587e4 in ?? () from /lib/libglib-2.0.so.0
#5  0x00007fb22a634971 in start_thread (arg=<value optimized out>) at pthread_create.c:304
#6  0x00007fb2279e494d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fb22d00f760 (LWP 6608)):
[KCrash Handler]
#6  length (this=0x33de118, dateFormat=...) at /usr/include/qt4/QtCore/qstring.h:699
#7  MyMoneyQifProfile::setInputDateFormat (this=0x33de118, dateFormat=...) at /build/buildd/kmymoney-4.5/kmymoney/converter/mymoneyqifprofile.cpp:299
#8  0x00000000007c348f in MyMoneyQifReader::slotProcessData (this=0x33de0d0) at /build/buildd/kmymoney-4.5/kmymoney/converter/mymoneyqifreader.cpp:367
#9  0x00000000007c3aa4 in MyMoneyQifReader::qt_metacall (this=0x33de0d0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/converter/mymoneyqifreader.moc:87
#10 0x00007fb228815bde in QObject::event (this=0x33de0d0, e=0x33de118) at kernel/qobject.cpp:1219
#11 0x00007fb2291b9fdc in QApplicationPrivate::notify_helper (this=0x1af2b80, receiver=0x33de0d0, e=0x33e3b10) at kernel/qapplication.cpp:4396
#12 0x00007fb2291bfaed in QApplication::notify (this=0x1af2ab0, receiver=0x33de0d0, e=0x33e3b10) at kernel/qapplication.cpp:4277
#13 0x00007fb22b638156 in KApplication::notify (this=0x1af2ab0, receiver=0x33de0d0, event=0x33e3b10) at ../../kdeui/kernel/kapplication.cpp:310
#14 0x00007fb228803cdc in QCoreApplication::notifyInternal (this=0x1af2ab0, receiver=0x33de0d0, event=0x33e3b10) at kernel/qcoreapplication.cpp:732
#15 0x00007fb228806c22 in sendEvent (receiver=0x0, event_type=<value optimized out>, data=0x1ad2380) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#16 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0x1ad2380) at kernel/qcoreapplication.cpp:1373
#17 0x00007fb228830653 in sendPostedEvents (s=0x1af6740) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#18 postEventSourceDispatch (s=0x1af6740) at kernel/qeventdispatcher_glib.cpp:277
#19 0x00007fb222b2f342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#20 0x00007fb222b332a8 in ?? () from /lib/libglib-2.0.so.0
#21 0x00007fb222b3345c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#22 0x00007fb228830193 in QEventDispatcherGlib::processEvents (this=0x1ad1e90, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#23 0x00007fb22926ca4e in QGuiEventDispatcherGlib::processEvents (this=0x33de118, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#24 0x00007fb228802a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#25 0x00007fb228802dec in QEventLoop::exec (this=0x7fff3d87df20, flags=) at kernel/qeventloop.cpp:201
#26 0x00007fb228806ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#27 0x0000000000452d58 in main (argc=<value optimized out>, argv=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/main.cpp:260

Reported using DrKonqi
Comment 1 Andrew Diederich 2010-12-08 18:41:26 UTC
Turns out that qfx == ofx.  So, what I did was attempt to import an ofx file with the qif importer.
Comment 2 Thomas Baumgart 2010-12-10 08:18:13 UTC
*** Bug 259398 has been marked as a duplicate of this bug. ***
Comment 3 Cristian OneČ› 2010-12-11 00:11:50 UTC
SVN commit 1205350 by conet:

BUG: 259235
Don't crash if there is no valid date format selected.

 M  +5 -1      mymoneyqifreader.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1205350
Comment 4 Cristian OneČ› 2010-12-11 00:12:23 UTC
SVN commit 1205351 by conet:

BUG: 259235
Don't crash if there is no valid date format selected.
Merged into the stable branch.

 M  +5 -1      mymoneyqifreader.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1205351