Bug 220941 - kmymoney-3.95 crashes when changing chart type to ring
Summary: kmymoney-3.95 crashes when changing chart type to ring
Status: RESOLVED FIXED
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-01-02 00:14 UTC by Oliver Putz
Modified: 2010-01-25 03:39 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
fix assertion when changing chart type (2.64 KB, patch)
2010-01-24 19:09 UTC, Peter Pointner
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oliver Putz 2010-01-02 00:14:43 UTC
Application that crashed: kmymoney
Version of the application: 3.95.0-svn20090511
KDE Version: 4.3.4 (KDE 4.3.4)
Qt Version: 4.5.3
Operating System: Linux 2.6.31-gentoo-r6 x86_64

What I was doing when the application crashed:
Steps to reproduce:

1) Open some (empty) report with a pie chart (I used Charts->Investment Holdings Pie)
2) Go to Configure->Chart and Change chart type from Pie to Ring
3) See kmymoney crash with the backtrace below

 -- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
The current source language is "auto; currently c".
[KCrash Handler]
#5  0x00007f7d80498401 in KDChart::RingDiagram::valueTotals (this=<value optimized out>) at /home/oliver/kmymoney-3.95.0/libkdchart/src/KDChartRingDiagram.cpp:138
#6  0x00007f7d80436c84 in KDChart::PolarCoordinatePlane::layoutDiagrams (this=0x4508c80) at /home/oliver/kmymoney-3.95.0/libkdchart/src/KDChartPolarCoordinatePlane.cpp:192
#7  0x00007f7d80430726 in KDChart::AbstractCoordinatePlane::addDiagram (this=0x4508c80, diagram=0x44feb90) at /home/oliver/kmymoney-3.95.0/libkdchart/src/KDChartAbstractCoordinatePlane.cpp:81
#8  0x00007f7d804370e9 in KDChart::PolarCoordinatePlane::addDiagram (this=0x44feb90, diagram=0x1) at /home/oliver/kmymoney-3.95.0/libkdchart/src/KDChartPolarCoordinatePlane.cpp:133
#9  0x00007f7d804302c9 in KDChart::AbstractCoordinatePlane::replaceDiagram (this=0x4508c80, diagram=0x44feb90, oldDiagram_=0x21309e0)
    at /home/oliver/kmymoney-3.95.0/libkdchart/src/KDChartAbstractCoordinatePlane.cpp:98
#10 0x000000000055df7b in reports::KReportChartView::drawPivotChart (this=0x44faac0, grid=<value optimized out>, config=<value optimized out>, numberColumns=<value optimized out>, 
    columnHeadings=..., rowTypeList=..., columnTypeHeaderList=...) at /home/oliver/kmymoney-3.95.0/kmymoney/reports/kreportchartview.cpp:152
#11 0x0000000000569a5a in reports::PivotTable::drawChart (this=0x0, chartView=...) at /home/oliver/kmymoney-3.95.0/kmymoney/reports/pivottable.cpp:1940
#12 0x00000000004e5a5d in KReportsView::KReportTab::updateReport (this=0x2fa0220) at /home/oliver/kmymoney-3.95.0/kmymoney/views/kreportsview.cpp:221
#13 0x00000000004e5fe2 in KReportsView::KReportTab::showEvent (this=0x44feb90, event=<value optimized out>) at /home/oliver/kmymoney-3.95.0/kmymoney/views/kreportsview.cpp:188
#14 0x00007f7d7ad7a839 in QWidget::event (this=0x2fa0220, event=0x7fffc03f4390) at kernel/qwidget.cpp:7753
#15 0x00007f7d7ad2c34c in QApplicationPrivate::notify_helper (this=0x1f0b680, receiver=0x2fa0220, e=0x7fffc03f4390) at kernel/qapplication.cpp:4065
#16 0x00007f7d7ad3211f in QApplication::notify (this=0x1f0b540, receiver=0x2fa0220, e=0x7fffc03f4390) at kernel/qapplication.cpp:4030
#17 0x00007f7d7ef92236 in KApplication::notify (this=0x1f0b540, receiver=0x2fa0220, event=0x7fffc03f4390) at /tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kdeui/kernel/kapplication.cpp:302
#18 0x00007f7d7b79298b in QCoreApplication::notifyInternal (this=0x1f0b540, receiver=0x2fa0220, event=0x7fffc03f4390) at kernel/qcoreapplication.cpp:606
#19 0x00007f7d7ad79323 in QCoreApplication::sendEvent (this=0x4d93490) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213
#20 QWidgetPrivate::show_helper (this=0x4d93490) at kernel/qwidget.cpp:6761
#21 0x00007f7d7ad7b1ba in QWidget::setVisible (this=0x2fa0220, visible=<value optimized out>) at kernel/qwidget.cpp:6980
#22 0x00007f7d7ad6097d in QWidget::show (this=0x24547f0, index=3) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:473
#23 QStackedLayout::setCurrentIndex (this=0x24547f0, index=3) at kernel/qstackedlayout.cpp:313
#24 0x00007f7d7b0fb9f4 in QTabWidgetPrivate::_q_showTab (this=0x244d440, index=3) at widgets/qtabwidget.cpp:723
#25 0x00007f7d7b0fbcb0 in QTabWidget::qt_metacall (this=0x245e530, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffc03f4690) at .moc/release-shared/moc_qtabwidget.cpp:136
#26 0x00007f7d7f0853a5 in KTabWidget::qt_metacall (this=0x44feb90, _c=QMetaObject::ReadProperty, _id=34802144, _a=0x6)
    at /tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/kdeui/ktabwidget.moc:124
#27 0x00007f7d7b7a4374 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x6) at kernel/qobject.cpp:3101
#28 0x00007f7d7b0edb6e in QTabBar::currentChanged (this=0x44feb90, _t1=3) at .moc/release-shared/moc_qtabbar.cpp:201
#29 0x00000000004e343f in KReportsView::slotConfigure (this=0x2462b00) at /home/oliver/kmymoney-3.95.0/kmymoney/views/kreportsview.cpp:654
#30 0x00000000004efade in KReportsView::qt_metacall (this=0x2462b00, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffc03f4ee0)
    at /home/oliver/kmymoney-3.95.0/build/kmymoney/views/kreportsview.moc:109
#31 0x00007f7d7b7a4374 in QMetaObject::activate (sender=<value optimized out>, from_signal_index=<value optimized out>, to_signal_index=<value optimized out>, argv=0x6) at kernel/qobject.cpp:3101
#32 0x00007f7d7b2b8de7 in QAbstractButton::clicked (this=0x44feb90, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:200
#33 0x00007f7d7b04f99b in QAbstractButtonPrivate::emitClicked (this=0x2de5ee0) at widgets/qabstractbutton.cpp:543
#34 0x00007f7d7b050882 in QAbstractButtonPrivate::click (this=0x2de5ee0) at widgets/qabstractbutton.cpp:536
#35 0x00007f7d7b050aa5 in QAbstractButton::mouseReleaseEvent (this=0x42f3770, e=0x7fffc03f57a0) at widgets/qabstractbutton.cpp:1115
#36 0x00007f7d7ad7aa09 in QWidget::event (this=0x42f3770, event=0x7fffc03f57a0) at kernel/qwidget.cpp:7554
#37 0x00007f7d7ad2c34c in QApplicationPrivate::notify_helper (this=0x1f0b680, receiver=0x42f3770, e=0x7fffc03f57a0) at kernel/qapplication.cpp:4065
#38 0x00007f7d7ad31fae in QApplication::notify (this=<value optimized out>, receiver=0x42f3770, e=0x7fffc03f57a0) at kernel/qapplication.cpp:3767
#39 0x00007f7d7ef92236 in KApplication::notify (this=0x1f0b540, receiver=0x42f3770, event=0x7fffc03f57a0) at /tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kdeui/kernel/kapplication.cpp:302
#40 0x00007f7d7b79298b in QCoreApplication::notifyInternal (this=0x1f0b540, receiver=0x42f3770, event=0x7fffc03f57a0) at kernel/qcoreapplication.cpp:606
#41 0x00007f7d7ad33a07 in QCoreApplication::sendSpontaneousEvent (receiver=<value optimized out>, event=0x7fffc03f57a0, alienWidget=0x42f3770, nativeWidget=0x2462b00, buttonDown=0x44feb90, 
    lastMouseReceiver=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#42 QApplicationPrivate::sendMouseEvent (receiver=<value optimized out>, event=0x7fffc03f57a0, alienWidget=0x42f3770, nativeWidget=0x2462b00, buttonDown=0x44feb90, 
    lastMouseReceiver=<value optimized out>) at kernel/qapplication.cpp:2924
#43 0x00007f7d7ad8efe4 in QETWidget::translateMouseEvent (this=0x2462b00, event=<value optimized out>) at kernel/qapplication_x11.cpp:4411
#44 0x00007f7d7ad8ddf0 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffc03f7120) at kernel/qapplication_x11.cpp:3552
#45 0x00007f7d7adb2a84 in x11EventSourceDispatch (s=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#46 0x00007f7d7810a20d in g_main_dispatch (context=0x1f0e120) at gmain.c:1824
#47 IA__g_main_context_dispatch (context=0x1f0e120) at gmain.c:2377
#48 0x00007f7d7810da58 in g_main_context_iterate (context=0x1f0e120, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:2455
#49 0x00007f7d7810dba0 in IA__g_main_context_iteration (context=0x1f0e120, may_block=1) at gmain.c:2518
#50 0x00007f7d7b7b78d6 in QEventDispatcherGlib::processEvents (this=0x1ee9990, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:327
#51 0x00007f7d7adb235e in QGuiEventDispatcherGlib::processEvents (this=0x44feb90, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:202
#52 0x00007f7d7b791372 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#53 0x00007f7d7b79150d in QEventLoop::exec (this=0x7fffc03f7440, flags=) at kernel/qeventloop.cpp:197
#54 0x00007f7d7b793349 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#55 0x000000000045a0f3 in main (argc=<value optimized out>, argv=<value optimized out>) at /home/oliver/kmymoney-3.95.0/kmymoney/main.cpp:275

Reported using DrKonqi
Comment 1 Peter Pointner 2010-01-24 14:14:15 UTC
I could reproduce this with kmymoney4-3.95.0-42.pm.44.1 installed from packman some time ago.

I cannot reproduce this with current SVN 1079370. Maybe the update of libkdchart fixed this?
Comment 2 Oliver Putz 2010-01-24 15:36:07 UTC
Yes and no. I just tried a current svn snapshot and found that changing from Pie chart to Ring chart indeed does not crash any longer. But after playing with it a little bit more it seems that other combinations still crash with similar backtraces. As a matter of fact, in my current svn checkout changing from Pie chart to anything (but Ring chart) crashes kmymoney on most reports.
Comment 3 Peter Pointner 2010-01-24 19:07:20 UTC
I can reproduce a problem: current SVN built with debugfull asserts when doing the following:
- open an empty file
- choose reports->charts->networth forecast
- change chart type to pie
- change chart type to stacked bar

I will add a patch that fixes this for me.
Comment 4 Peter Pointner 2010-01-24 19:09:13 UTC
Created attachment 40208 [details]
fix assertion when changing chart type
Comment 5 Oliver Putz 2010-01-24 21:45:17 UTC
I can confirm that the above patch seems to solve all my crashing issues with changing the chart types.
Comment 6 Alvaro Soliverez 2010-01-25 03:39:18 UTC
SVN commit 1079798 by asoliverez:

Fixed crash when modifying the chart type. 
Patch contributed by Peter Pointner and modified to make sure settings are applied in all cases.

Anyway, charts seem to be a work in progress. So expect more bugs and more fixes.

BUG:220941

 M  +14 -8     kreportchartview.cpp  


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