Bug 240594 - Crash when encountering invalid transaction types
Summary: Crash when encountering invalid transaction types
Status: RESOLVED NOT A BUG
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-03 14:10 UTC by allan
Modified: 2010-07-29 18:52 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description allan 2010-06-03 14:10:14 UTC
Application that crashed: kmymoney
Version of the application: 3.98.2-svn1132481
KDE Version: 4.3.5 (KDE 4.3.5) "release 0"
Qt Version: 4.5.3
Operating System: Linux 2.6.31.12-0.2-desktop i686
Distribution: "openSUSE 11.2 (i586)"

What I was doing when the application crashed:
A file being imported contained invalid transaction types.  These resulted in an error message for each transaction, following which the crash occurred.

Reproduceable.

 -- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
[KCrash Handler]
#6  QString::operator= (this=0x93340f0, other=...) at tools/qstring.cpp:1131
#7  0xb61ca9e5 in QDomAttrPrivate::setNodeValue (this=0x93340d0, v=...) at dom/qdom.cpp:4124
#8  0xb61c9ddb in QDomElementPrivate::setAttribute (this=0x9626998, aname=..., newValue=...) at dom/qdom.cpp:4466
#9  0xb7710a87 in MyMoneyStatement::write (this=0x95959b4, _root=..., _doc=0x9652198) at /home/aga/Plugin/kmymoney/kmymoney/mymoney/mymoneystatement.cpp:68
#10 0xb7711d89 in MyMoneyStatement::writeXMLFile (_s=..., _filename=...) at /home/aga/Plugin/kmymoney/kmymoney/mymoney/mymoneystatement.cpp:246
#11 0x080bb2c3 in KMyMoneyApp::slotStatementImport (this=0x8766638, s=...) at /home/aga/Plugin/kmymoney/kmymoney/kmymoney.cpp:2243
#12 0x085acfd5 in KMyMoneyPlugin::KMMStatementInterface::import (this=0x91604c0, s=...) at /home/aga/Plugin/kmymoney/kmymoney/plugins/interfaces/kmmstatementinterface.cpp:44
#13 0xb065cd95 in CsvImporterPlugin::slotGetStatement (this=0x88ab358, s=...) at /home/aga/Plugin/kmymoney/kmymoney/plugins/csvimport/plugin/csvimporterplugin.cpp:122
#14 0xb06580d2 in CsvImporterPlugin::qt_metacall (this=0x88ab358, _c=InvokeMetaMethod, _id=1, _a=0xbf960da8)
    at /home/aga/Plugin/kmymoney/build/kmymoney/plugins/csvimport/plugin/moc_csvimporterplugin.cpp:71
#15 0xb5de4864 in QMetaObject::activate (sender=0x8923630, from_signal_index=27, to_signal_index=27, argv=0xbf960da8) at kernel/qobject.cpp:3113
#16 0xb5de5585 in QMetaObject::activate (sender=0x8923630, m=0xb068a9a0, local_signal_index=0, argv=0xbf960da8) at kernel/qobject.cpp:3187
#17 0xb06581d3 in CsvImporterDlg::statementReady (this=0x8923630, _t1=...) at /home/aga/Plugin/kmymoney/build/kmymoney/plugins/csvimport/plugin/moc_csvimporterdlg.cpp:101
#18 0xb06585ed in CsvImporterDlg::qt_metacall (this=0x8923630, _c=InvokeMetaMethod, _id=27, _a=0xbf960ec8)
    at /home/aga/Plugin/kmymoney/build/kmymoney/plugins/csvimport/plugin/moc_csvimporterdlg.cpp:81
#19 0xb5de4864 in QMetaObject::activate (sender=0x957a0f0, from_signal_index=27, to_signal_index=27, argv=0xbf960ec8) at kernel/qobject.cpp:3113
#20 0xb5de5585 in QMetaObject::activate (sender=0x957a0f0, m=0xb068a980, local_signal_index=0, argv=0xbf960ec8) at kernel/qobject.cpp:3187
#21 0xb0658273 in InvestmentDlg::statementReady (this=0x957a0f0, _t1=...) at /home/aga/Plugin/kmymoney/build/kmymoney/plugins/csvimport/plugin/moc_investmentdlg.cpp:88
#22 0xb0658ac1 in InvestmentDlg::qt_metacall (this=0x957a0f0, _c=InvokeMetaMethod, _id=27, _a=0xbf960fe8) at /home/aga/Plugin/kmymoney/build/kmymoney/plugins/csvimport/plugin/moc_investmentdlg.cpp:73
#23 0xb5de4864 in QMetaObject::activate (sender=0x95958b8, from_signal_index=4, to_signal_index=4, argv=0xbf960fe8) at kernel/qobject.cpp:3113
#24 0xb5de5585 in QMetaObject::activate (sender=0x95958b8, m=0xb068a990, local_signal_index=0, argv=0xbf960fe8) at kernel/qobject.cpp:3187
#25 0xb0658223 in InvCsv::statementReady (this=0x95958b8, _t1=...) at /home/aga/Plugin/kmymoney/build/kmymoney/plugins/csvimport/plugin/moc_investmentdlg.cpp:196
#26 0xb0679449 in InvCsv::readFile (this=0x95958b8, fname=..., skp=6) at /home/aga/Plugin/kmymoney/kmymoney/plugins/csvimport/plugin/investmentdlg.cpp:531
#27 0xb067a04a in InvCsv::qifClicked (this=0x95958b8, checked=true) at /home/aga/Plugin/kmymoney/kmymoney/plugins/csvimport/plugin/investmentdlg.cpp:1077
#28 0xb0658980 in InvCsv::qt_metacall (this=0x95958b8, _c=InvokeMetaMethod, _id=16, _a=0xbf961448) at /home/aga/Plugin/kmymoney/build/kmymoney/plugins/csvimport/plugin/moc_investmentdlg.cpp:178
#29 0xb5de4864 in QMetaObject::activate (sender=0x957a680, from_signal_index=29, to_signal_index=30, argv=0xbf961448) at kernel/qobject.cpp:3113
#30 0xb5de4d41 in QMetaObject::activate (sender=0x957a680, m=0xb5c7f124, from_local_signal_index=2, to_local_signal_index=3, argv=0xbf961448) at kernel/qobject.cpp:3207
#31 0xb5a9f985 in QAbstractButton::clicked (this=0x957a680, _t1=true) at .moc/release-shared/moc_qabstractbutton.cpp:200
#32 0xb57b7dad in QAbstractButtonPrivate::emitClicked (this=0x9580a90) at widgets/qabstractbutton.cpp:543
#33 0xb57b9aeb in QAbstractButtonPrivate::click (this=0x9580a90) at widgets/qabstractbutton.cpp:536
#34 0xb57b9d86 in QAbstractButton::mouseReleaseEvent (this=0x957a680, e=0xbf9619d0) at widgets/qabstractbutton.cpp:1115
#35 0xb546bbac in QWidget::event (this=0x957a680, event=0xbf9619d0) at kernel/qwidget.cpp:7554
#36 0xb57b7c40 in QAbstractButton::event (this=0x957a680, e=0x1) at widgets/qabstractbutton.cpp:1077
#37 0xb57cfda8 in QCheckBox::event (this=0x957a680, e=0xbf9619d0) at widgets/qcheckbox.cpp:372
#38 0xb54148fc in QApplicationPrivate::notify_helper (this=0x86f1650, receiver=0x957a680, e=0xbf9619d0) at kernel/qapplication.cpp:4065
#39 0xb541cbbb in QApplication::notify (this=0x957a680, receiver=0x957a680, e=0xbf9619d0) at kernel/qapplication.cpp:3767
#40 0xb698b521 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#41 0xb5dce32e in QCoreApplication::notifyInternal (this=0x86f15c0, receiver=0x957a680, event=0xbf9619d0) at kernel/qcoreapplication.cpp:610
#42 0xb541bbdc in sendSpontaneousEvent (event=<value optimized out>, receiver=<value optimized out>) at ../../src/corelib/kernel/qcoreapplication.h:216
#43 QApplicationPrivate::sendMouseEvent (event=<value optimized out>, receiver=<value optimized out>) at kernel/qapplication.cpp:2924
#44 0xb548c80a in QETWidget::translateMouseEvent (this=0x957a0f0, event=0xbf962ffc) at kernel/qapplication_x11.cpp:4409
#45 0xb548bd7e in QApplication::x11ProcessEvent (this=0x86f15c0, event=0xbf962ffc) at kernel/qapplication_x11.cpp:3428
#46 0xb54b6b68 in x11EventSourceDispatch (s=0x86f4870, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#47 0xb48c44c2 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#48 0xb48c7d98 in ?? () from /usr/lib/libglib-2.0.so.0
#49 0xb48c7ebe in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#50 0xb5dfa011 in QEventDispatcherGlib::processEvents (this=0x86d6f58, flags=...) at kernel/qeventdispatcher_glib.cpp:407
#51 0xb54b629a in QGuiEventDispatcherGlib::processEvents (this=0x86d6f58, flags=...) at kernel/qguieventdispatcher_glib.cpp:202
#52 0xb5dcc98d in QEventLoop::processEvents (this=0xbf9632b4, flags=) at kernel/qeventloop.cpp:149
#53 0xb5dccdd9 in QEventLoop::exec (this=0xbf9632b4, flags=...) at kernel/qeventloop.cpp:201
#54 0xb5dcf270 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#55 0xb5414774 in QApplication::exec () at kernel/qapplication.cpp:3525
#56 0x0808f5c7 in main (argc=1, argv=0xbf963734) at /home/aga/Plugin/kmymoney/kmymoney/main.cpp:277

Reported using DrKonqi
Comment 1 allan 2010-06-03 17:59:42 UTC
The application was kmymoney4.  DrKonqi got it wrong?
Comment 2 Thomas Baumgart 2010-06-11 11:08:30 UTC
> A file being imported contained invalid transaction types.

The most prominent fix I see would be to fix the CSV importer plugin to not create invalid transaction types.

Can you provide a statement (as XML file) which duplicates the problem?
Comment 3 allan 2010-06-11 14:18:07 UTC
(In reply to comment #2)
> > A file being imported contained invalid transaction types.
> 
> The most prominent fix I see would be to fix the CSV importer plugin to not
> create invalid transaction types.
> 

That bit was easy!

> Can you provide a statement (as XML file) which duplicates the problem?

It would have helped had I recorded the nature of the invalid types, but with other crashes happening , I didn't.

I think it's best changed to invalid.