Bug 314288

Summary: kmymoney crashes due to budget issues
Product: [Applications] kmymoney Reporter: joel.tourscher
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED DUPLICATE    
Severity: critical CC: joel.tourscher
Priority: NOR    
Version: 4.6.1   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description joel.tourscher 2013-02-02 09:41:22 UTC
When loading file, kmymoney crashes.
After inspecting the file, I see an anomaly: an element BUDGET/ACCOUNT is empty.
-> 2 bugs:
   * One element BUDGET/ACCOUNT can be anormaly created
   * Crash when opening this file

<KMYMONEY-FILE>
  .....
  <BUDGET version="2" id="B000004" name="Budget 2013" start="2013-01-01">
   .....
   <ACCOUNT budgetsubaccounts="1" id="A000125" budgetlevel="monthly"/>
   <ACCOUNT budgetsubaccounts="1" id="A000133" budgetlevel="yearly">
    <PERIOD amount="400/1" start="2013-01-01"/>
   </ACCOUNT>
   .....
  </BUDGET>
 </BUDGETS>
</KMYMONEY-FILE>


gdb backtrace:

Program received signal SIGSEGV, Segmentation fault.
0xb593b0c4 in __gmpq_mul () from /usr/lib/i386-linux-gnu/libgmp.so.10
(gdb) bt
#0  0xb593b0c4 in __gmpq_mul () from /usr/lib/i386-linux-gnu/libgmp.so.10
#1  0xb710ef40 in AlkValue::operator*(AlkValue const&) const () from /usr/lib/libalkimia.so.4
#2  0xb7f1757a in MyMoneyMoney::operator* (this=0xb6a9e43c, _b=...) at /build/buildd/kmymoney-4.6.1/kmymoney/mymoney/mymoneymoney.cpp:272
#3  0x081a6401 in reports::PivotTable::calculateBudgetMapping (this=0xbfffe35c) at /build/buildd/kmymoney-4.6.1/kmymoney/reports/pivottable.cpp:880
#4  0x081aaca3 in reports::PivotTable::init (this=0xbfffe35c) at /build/buildd/kmymoney-4.6.1/kmymoney/reports/pivottable.cpp:169
#5  0x081ab79c in reports::PivotTable::PivotTable (this=0xbfffe35c, _config_f=...) at /build/buildd/kmymoney-4.6.1/kmymoney/reports/pivottable.cpp:94
#6  0x0816acc5 in KHomeView::showBudget (this=0x89a18a0) at /build/buildd/kmymoney-4.6.1/kmymoney/views/khomeview.cpp:1342
#7  0x08172bd8 in KHomeView::loadView (this=0x89a18a0) at /build/buildd/kmymoney-4.6.1/kmymoney/views/khomeview.cpp:278
#8  0x08173e20 in KHomeView::slotLoadView (this=0x89a18a0) at /build/buildd/kmymoney-4.6.1/kmymoney/views/khomeview.cpp:171
#9  0xb69566b1 in QMetaObject::activate (sender=0xb7fb0620, m=0xb7fafbf8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#10 0xb7f3f3b5 in MyMoneyFile::dataChanged (this=0xb7fb0620) at /build/buildd/kmymoney-4.6.1/obj-i686-linux-gnu/kmymoney/mymoney/mymoneyfile.moc:113
#11 0xb7f53061 in MyMoneyFile::attachStorage (this=0xb7fb0620, storage=0x8fa5da0) at /build/buildd/kmymoney-4.6.1/kmymoney/mymoney/mymoneyfile.cpp:329
#12 0x080fc923 in KMyMoneyView::readFile (this=0x89956b8, url=...) at /build/buildd/kmymoney-4.6.1/kmymoney/views/kmymoneyview.cpp:828
#13 0x080cba5f in KMyMoneyApp::slotFileOpenRecent (this=0x879f9a8, url=...) at /build/buildd/kmymoney-4.6.1/kmymoney/kmymoney.cpp:1520
#14 0x0808a506 in runKMyMoney (splash=0xbfffef80, a=<optimized out>) at /build/buildd/kmymoney-4.6.1/kmymoney/main.cpp:269
#15 0x080889db in main (argc=<error reading variable: Cannot access memory at address 0x0>, argv=<error reading variable: Cannot access memory at address 0x4>)
    at /build/buildd/kmymoney-4.6.1/kmymoney/main.cpp:181


Reproducible: Always

Steps to Reproduce:
1. Edit a kmymoney file
2. remove contents of a BUDGET/ACCOUNT element
3. open it in kmymoney
Actual Results:  
crash
Comment 1 joel.tourscher 2013-02-02 09:46:31 UTC
Possible similar to bug 306370
Comment 2 Alvaro Soliverez 2013-02-02 12:31:22 UTC

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