Bug 378379 - Segfault if a Report is deleted from reports menu whilst it is open in a tab.
Summary: Segfault if a Report is deleted from reports menu whilst it is open in a tab.
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2017-04-02 20:28 UTC by Nick Leverton
Modified: 2019-08-31 11:48 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.8.1,5.0.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nick Leverton 2017-04-02 20:28:50 UTC
Application: kmymoney (4.8.0)
KDE Platform Version: 4.14.20
Qt Version: 4.8.6
Operating System: Linux 3.16.0-4-amd64 x86_64
Distribution: Debian GNU/Linux 8.7 (jessie)

-- Information about the crash:
- What I was doing when the application crashed:

I was trying out report configurations and had a couple of copies of reports open in a tab.  From the Reports menu, I deleted one of these copies forgetting that it was open.  When I switched back to the tab for the deleted report, KMM crashed as attached.

My KMM version is self compiled as a backport of the current Debian Unstable 4.8.0 package to Stable (Jessie, KDE 4.14.4), with the addition of the patch for KDE bug #364777.

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#6  prepareEngine (priv=0x31) at tools/qregexp.cpp:3723
#7  QRegExp::operator= (this=0x7ffee883df08, rx=...) at tools/qregexp.cpp:3848
#8  0x00000000004ef1d2 in MyMoneyTransactionFilter (this=0x7ffee883df00) at /build/kmymoney-4.8.0/kmymoney/mymoney/mymoneytransactionfilter.h:48
#9  MyMoneyReport::MyMoneyReport (this=0x7ffee883def0) at /build/kmymoney-4.8.0/kmymoney/mymoney/mymoneyreport.h:55
#10 0x00000000008125c1 in MyMoneySeqAccessMgr::report (this=0x258a7a0, _id=...) at /build/kmymoney-4.8.0/kmymoney/mymoney/storage/mymoneyseqaccessmgr.cpp:1679
#11 0x00007fadcfae3f8c in MyMoneyFile::report (this=0x7fadcfdcba40 <MyMoneyFile::file>, id=...) at /build/kmymoney-4.8.0/kmymoney/mymoney/mymoneyfile.cpp:2810
#12 0x00000000004e58c8 in KReportsView::KReportTab::updateReport (this=this@entry=0x5226d20) at /build/kmymoney-4.8.0/kmymoney/views/kreportsview.cpp:171
#13 0x00000000004e5b62 in KReportsView::KReportTab::showEvent (this=0x5226d20, event=0x7ffee883e3b0) at /build/kmymoney-4.8.0/kmymoney/views/kreportsview.cpp:158
#14 0x00007fadcbc4d748 in QWidget::event (this=0x5226d20, event=0x7ffee883e3b0) at kernel/qwidget.cpp:8775
#15 0x00007fadcbbfa48c in QApplicationPrivate::notify_helper (this=this@entry=0x14df600, receiver=receiver@entry=0x5226d20, e=e@entry=0x7ffee883e3b0) at kernel/qapplication.cpp:4570
#16 0x00007fadcbc00fa8 in QApplication::notify (this=this@entry=0x14d0f20, receiver=receiver@entry=0x5226d20, e=e@entry=0x7ffee883e3b0) at kernel/qapplication.cpp:4356
#17 0x00007fadce45b51a in KApplication::notify (this=0x14d0f20, receiver=0x5226d20, event=0x7ffee883e3b0) at ../../kdeui/kernel/kapplication.cpp:311
#18 0x00007fadcb1de71d in QCoreApplication::notifyInternal (this=0x14d0f20, receiver=receiver@entry=0x5226d20, event=event@entry=0x7ffee883e3b0) at kernel/qcoreapplication.cpp:955
#19 0x00007fadcbc4abb4 in sendEvent (event=0x7ffee883e3b0, receiver=0x5226d20) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#20 QWidgetPrivate::show_helper (this=this@entry=0x52237e0) at kernel/qwidget.cpp:7569
#21 0x00007fadcbc4cada in QWidget::setVisible (this=0x5226d20, visible=<optimized out>) at kernel/qwidget.cpp:7791
#22 0x00007fadcbc2f016 in show (this=0x5226d20) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:497
#23 QStackedLayout::setCurrentIndex (this=0x1fd5880, index=index@entry=2) at kernel/qstackedlayout.cpp:313
#24 0x00007fadcc06b010 in QStackedWidget::setCurrentIndex (this=<optimized out>, index=index@entry=2) at widgets/qstackedwidget.cpp:261
#25 0x00007fadcc078826 in QTabWidgetPrivate::_q_showTab (this=0x1fd5170, index=2) at widgets/qtabwidget.cpp:744
#26 0x00007fadcb1f371c in QMetaObject::activate (sender=0x1fd8200, m=m@entry=0x7fadcc6f6220 <QTabBar::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffee883e610) at kernel/qobject.cpp:3567
#27 0x00007fadcc06dc7e in QTabBar::currentChanged (this=<optimized out>, _t1=2) at .moc/release-shared/moc_qtabbar.cpp:214
#28 0x00007fadcc070da5 in QTabBar::setCurrentIndex (this=<optimized out>, index=<optimized out>) at widgets/qtabbar.cpp:1233
#29 0x00007fadcc0726c5 in QTabBar::mousePressEvent (this=this@entry=0x1fd8200, event=event@entry=0x7ffee883eca0) at widgets/qtabbar.cpp:1762
#30 0x00007fadce540667 in KTabBar::mousePressEvent (this=0x1fd8200, event=0x7ffee883eca0) at ../../kdeui/widgets/ktabbar.cpp:115
#31 0x00007fadcbc4e2c7 in QWidget::event (this=0x1fd8200, event=0x7ffee883eca0) at kernel/qwidget.cpp:8385
#32 0x00007fadcc074880 in QTabBar::event (this=0x1fd8200, event=0x7ffee883eca0) at widgets/qtabbar.cpp:1514
#33 0x00007fadcbbfa48c in QApplicationPrivate::notify_helper (this=this@entry=0x14df600, receiver=receiver@entry=0x1fd8200, e=e@entry=0x7ffee883eca0) at kernel/qapplication.cpp:4570
#34 0x00007fadcbc0110f in QApplication::notify (this=this@entry=0x14d0f20, receiver=receiver@entry=0x1fd8200, e=e@entry=0x7ffee883eca0) at kernel/qapplication.cpp:4113
#35 0x00007fadce45b51a in KApplication::notify (this=0x14d0f20, receiver=0x1fd8200, event=0x7ffee883eca0) at ../../kdeui/kernel/kapplication.cpp:311
#36 0x00007fadcb1de71d in QCoreApplication::notifyInternal (this=0x14d0f20, receiver=receiver@entry=0x1fd8200, event=event@entry=0x7ffee883eca0) at kernel/qcoreapplication.cpp:955
#37 0x00007fadcbc0076f in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#38 QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x1fd8200, event=event@entry=0x7ffee883eca0, alienWidget=alienWidget@entry=0x1fd8200, nativeWidget=nativeWidget@entry=0x1fd68e0, buttonDown=buttonDown@entry=0x7fadcc71f538 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3178
#39 0x00007fadcbc77432 in QETWidget::translateMouseEvent (this=this@entry=0x1fd68e0, event=event@entry=0x7ffee883f000) at kernel/qapplication_x11.cpp:4540
#40 0x00007fadcbc75e2c in QApplication::x11ProcessEvent (this=0x14d0f20, event=event@entry=0x7ffee883f000) at kernel/qapplication_x11.cpp:3663
#41 0x00007fadcbc9eed2 in x11EventSourceDispatch (s=0x14df4b0, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#42 0x00007fadc572ac5d in g_main_dispatch (context=0x14df9a0) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3111
#43 g_main_context_dispatch (context=context@entry=0x14df9a0) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3710
#44 0x00007fadc572af48 in g_main_context_iterate (context=context@entry=0x14df9a0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3781
#45 0x00007fadc572affc in g_main_context_iteration (context=0x14df9a0, may_block=1) at /build/glib2.0-y6934K/glib2.0-2.42.1/./glib/gmain.c:3842
#46 0x00007fadcb20dd1d in QEventDispatcherGlib::processEvents (this=0x14db790, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#47 0x00007fadcbc9ef96 in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#48 0x00007fadcb1dd271 in QEventLoop::processEvents (this=this@entry=0x7ffee883f3e0, flags=...) at kernel/qeventloop.cpp:149
#49 0x00007fadcb1dd5d5 in QEventLoop::exec (this=this@entry=0x7ffee883f3e0, flags=...) at kernel/qeventloop.cpp:204
#50 0x00007fadcb1e3059 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1227
#51 0x00007fadcbbf892c in QApplication::exec () at kernel/qapplication.cpp:3828
#52 0x00000000004608a6 in runKMyMoney (splash=splash@entry=0x1705ab0, a=0x14d0f20) at /build/kmymoney-4.8.0/kmymoney/main.cpp:283
#53 0x000000000045e308 in main (argc=2, argv=0x7ffee883fe88) at /build/kmymoney-4.8.0/kmymoney/main.cpp:182

Reported using DrKonqi
Comment 1 wojnilowicz 2017-05-14 04:42:08 UTC
Git commit 30564ba57d2614f1410b87e1d4edd81e8fc35fc3 by Łukasz Wojniłowicz.
Committed on 14/05/2017 at 04:40.
Pushed by wojnilowicz into branch 'master'.

Close report's tab when deleting it from TOC
FIXED-IN:5.0

M  +8    -0    kmymoney/views/kreportsview.cpp

https://commits.kde.org/kmymoney/30564ba57d2614f1410b87e1d4edd81e8fc35fc3
Comment 2 Thomas Baumgart 2017-05-14 11:07:05 UTC
Git commit 53879797bc19b45d8704ebe4dbcfa28449058f0e by Thomas Baumgart.
Committed on 14/05/2017 at 11:06.
Pushed by tbaumgart into branch '4.8'.

Close report's tab when deleting it from TOC
FIXED-IN:5.0
(cherry picked from commit 30564ba57d2614f1410b87e1d4edd81e8fc35fc3)
Signed-off-by: Thomas Baumgart <thb@net-bembel.de>

M  +8    -0    kmymoney/views/kreportsview.cpp

https://commits.kde.org/kmymoney/53879797bc19b45d8704ebe4dbcfa28449058f0e