Bug 263606

Summary: Kmymoney crash and trash its data when try to save changes on a report
Product: [Applications] kmymoney Reporter: Carlos Novaes <carlosnov>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED DUPLICATE    
Severity: crash CC: achiele, carlosnov
Priority: NOR    
Version: 4.5   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Carlos Novaes 2011-01-19 03:04:02 UTC
Application: kmymoney (4.5.0)
KDE Platform Version: 4.5.95 (4.6 RC2)
Qt Version: 4.7.0
Operating System: Linux 2.6.36-020636-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
Everytime I tried to save a given report the app crash and I lost the entire kmy file. The I restored from my disk backups and try again with the same results. This is specially important now that I had completed a budget for 2011 and can not set it to use on my prefered report.

The crash can be reproduced every time.

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

Thread 2 (Thread 0x7f500cdf1700 (LWP 8466)):
#0  0xffffffffff60017b in ?? ()
#1  0x00007f500cdf0a90 in ?? ()
#2  0x00007fffbb3ff6ef in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)

Thread 1 (Thread 0x7f5027538760 (LWP 8465)):
[KCrash Handler]
#6  ref (this=0x45ca1a0, other=...) at ../../include/QtCore/../../src/corelib/arch/qatomic_x86_64.h:121
#7  QString::operator= (this=0x45ca1a0, other=...) at tools/qstring.cpp:1323
#8  0x00007f5024191b02 in QDomAttrPrivate::setNodeValue (this=0x45ca160, v=...) at dom/qdom.cpp:4137
#9  0x00007f5024190506 in QDomElementPrivate::setAttribute (this=0x45c6fb0, aname=..., newValue=...) at dom/qdom.cpp:4479
#10 0x00007f5027129829 in MyMoneyReport::write (this=<value optimized out>, e=..., doc=0x2575c10, anonymous=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyreport.cpp:359
#11 0x00007f502712a3b3 in MyMoneyReport::writeXML (this=0x4679620, document=..., parent=...) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/mymoneyreport.cpp:737
#12 0x000000000082f1e7 in MyMoneyStorageXML::writeReports (this=0x27bb4a0, parent=...) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/storage/mymoneystoragexml.cpp:760
#13 0x00000000008300d3 in MyMoneyStorageXML::writeFile (this=0x27bb4a0, qf=<value optimized out>, storage=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/mymoney/storage/mymoneystoragexml.cpp:503
#14 0x00000000004b3594 in KMyMoneyView::saveToLocalFile (this=<value optimized out>, localFile=<value optimized out>, pWriter=<value optimized out>, plaintext=<value optimized out>, keyList=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/views/kmymoneyview.cpp:1093
#15 0x00000000004b4adc in KMyMoneyView::saveFile (this=0xfd5b60, url=..., keyList=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/views/kmymoneyview.cpp:1163
#16 0x0000000000491233 in KMyMoneyApp::slotFileSave (this=0xd55600) at /build/buildd/kmymoney-4.5/kmymoney/kmymoney.cpp:1552
#17 0x000000000049e74d in KMyMoneyApp::qt_metacall (this=0xd55600, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffbb2db780) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/kmymoney.moc:516
#18 0x00007f5022c7eb27 in QMetaObject::activate (sender=0xe1e2c0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffbb2da301) at kernel/qobject.cpp:3280
#19 0x00007f5023641852 in QAction::triggered (this=0x45ca1a0, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#20 0x00007f5023642f5b in QAction::activate (this=0xe1e2c0, event=<value optimized out>) at kernel/qaction.cpp:1256
#21 0x00007f5023a2257a in QAbstractButtonPrivate::click (this=0xfd0510) at widgets/qabstractbutton.cpp:528
#22 0x00007f5023a2282c in QAbstractButton::mouseReleaseEvent (this=0xfa1920, e=0x7fffbb2dc0e0) at widgets/qabstractbutton.cpp:1121
#23 0x00007f5023af252a in QToolButton::mouseReleaseEvent (this=0x45ca1a0, e=0xd086c0) at widgets/qtoolbutton.cpp:721
#24 0x00007f502369f04e in QWidget::event (this=0xfa1920, event=0x7fffbb2dc0e0) at kernel/qwidget.cpp:8187
#25 0x00007f5023648fdc in QApplicationPrivate::notify_helper (this=0xce2410, receiver=0xfa1920, e=0x7fffbb2dc0e0) at kernel/qapplication.cpp:4396
#26 0x00007f502364f30e in QApplication::notify (this=0xce2300, receiver=0xfa1920, e=0x7fffbb2dc0e0) at kernel/qapplication.cpp:3959
#27 0x00007f5025b38a36 in KApplication::notify (this=0xce2300, receiver=0xfa1920, event=0x7fffbb2dc0e0) at ../../kdeui/kernel/kapplication.cpp:311
#28 0x00007f5022c66cdc in QCoreApplication::notifyInternal (this=0xce2300, receiver=0xfa1920, event=0x7fffbb2dc0e0) at kernel/qcoreapplication.cpp:732
#29 0x00007f502364ddbe in sendEvent (receiver=0xfa1920, event=0x7fffbb2dc0e0, alienWidget=0xfa1920, nativeWidget=0xfc8b20, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#30 QApplicationPrivate::sendMouseEvent (receiver=0xfa1920, event=0x7fffbb2dc0e0, alienWidget=0xfa1920, nativeWidget=0xfc8b20, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3058
#31 0x00007f50236d1345 in QETWidget::translateMouseEvent (this=0xfc8b20, event=<value optimized out>) at kernel/qapplication_x11.cpp:4403
#32 0x00007f50236cfc5c in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffbb2dca00) at kernel/qapplication_x11.cpp:3536
#33 0x00007f50236fc0e2 in x11EventSourceDispatch (s=0xce6330, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#34 0x00007f501db9f342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#35 0x00007f501dba32a8 in ?? () from /lib/libglib-2.0.so.0
#36 0x00007f501dba345c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#37 0x00007f5022c93193 in QEventDispatcherGlib::processEvents (this=0xcbdfd0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:415
#38 0x00007f50236fba4e in QGuiEventDispatcherGlib::processEvents (this=0x45ca1a0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#39 0x00007f5022c65a02 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#40 0x00007f5022c65dec in QEventLoop::exec (this=0x7fffbb2dcd30, flags=) at kernel/qeventloop.cpp:201
#41 0x00007f5022c69ebb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1009
#42 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 Alvaro Soliverez 2011-01-19 04:11:40 UTC
Have you ran a consistency check?
Are you sure the hard drive is ok and you have enough disk space? At least twice as much space as the uncompressed kmymoney xml file.
Comment 2 Carlos Novaes 2011-01-20 22:47:15 UTC
Yes I did a consistency check, my uncompressed data file is about 1.2MB and I have a lot of free space on disk. Also, there are no complains about disk failures on dmesg. I did even copied it to another partition and the error persists.

Somehow I managed to change the report to reflect my budget for 2011, I got to change the report settings, close the report view and press save. This was saving changes and no crashs, but today I tried again and can not obtain this result anymore, only the crash and data corruption after trying to save. Dont remember at the time if I did something more to save.

Also even a empty data file causes this error, checked it today.
Comment 3 Thomas Baumgart 2011-03-04 21:17:38 UTC
*** Bug 267635 has been marked as a duplicate of this bug. ***
Comment 4 Thomas Baumgart 2011-05-27 17:12:48 UTC
Does this still happen using a newer version (e.g. 4.5.3)?
Comment 5 Cristian OneČ› 2011-05-27 22:17:32 UTC
While I was investigating BUG 258974 I managed to obtain the same crash so I'll mark this as it's duplicate. I'm sure this also happened on a localized version of KMyMoney.

*** This bug has been marked as a duplicate of bug 258974 ***