Bug 394762 - Crash when change the type of an account
Summary: Crash when change the type of an account
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: 4.8.0
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords: drkonqi
: 362430 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-05-27 19:02 UTC by Claude Malter
Modified: 2019-08-31 14:40 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.8.3
tbaumgart: Version_5-


Attachments
Window Edit account "Compte d'épargne" (179.70 KB, image/png)
2018-05-27 19:52 UTC, Claude Malter
Details
New crash information added by DrKonqi (12.97 KB, text/plain)
2018-09-18 02:09 UTC, Jay Valatka
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Claude Malter 2018-05-27 19:02:12 UTC
Application: kmymoney (4.8.0)
KDE Platform Version: 4.14.26 (Compiled from sources)
Qt Version: 4.8.7
Operating System: Linux 4.9.0-6-amd64 x86_64
Distribution: Debian GNU/Linux 9.4 (stretch)

-- Information about the crash:
- What I was doing when the application crashed: Sorry, but I don't remember exactly what I have done just before the crash. I think I was intend to modify the type of an account.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#6  0x00007f728122887d in QSortFilterProxyModel::parent(QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7  0x00007f72811e10d5 in QTreeView::indexRowSizeHint(QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007f72811e45e4 in QTreeViewPrivate::itemHeight(int) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007f72811e5ae6 in QTreeViewPrivate::updateScrollBars() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007f72811ef4d1 in QTreeView::updateGeometries() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#11 0x00007f7280cc2e80 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#12 0x00007f7281087c8e in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#13 0x00007f72811acba3 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#14 0x00007f72811ee46c in QTreeView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#15 0x00007f728024c0a1 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007f7280c6c52c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#17 0x00007f7280c7352c in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007f72819e9c5a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007f728024bf1d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#20 0x00007f7280cbf001 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007f7280cc0183 in QWidgetPrivate::show_helper() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007f7280cc21fa in QWidget::setVisible(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007f7280cc00d7 in QWidgetPrivate::showChildren(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007f7280cc019f in QWidgetPrivate::show_helper() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#25 0x00007f7280cc21fa in QWidget::setVisible(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#26 0x00007f7280cc00d7 in QWidgetPrivate::showChildren(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007f7280cc019f in QWidgetPrivate::show_helper() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007f7280cc21fa in QWidget::setVisible(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007f7280ca4566 in QStackedLayout::setCurrentIndex(int) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007f72810f2a36 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007f7280260660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#32 0x00007f72810e796e in QTabBar::currentChanged(int) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007f72810ec3f5 in QTabBar::mousePressEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f7281ad04c7 in KTabBar::mousePressEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#35 0x00007f7280cc3a40 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#36 0x00007f72810ee740 in QTabBar::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#37 0x00007f7280c6c54c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#38 0x00007f7280c74ca7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#39 0x00007f72819e9c5a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#40 0x00007f728024bf1d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#41 0x00007f7280c72ccb in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#42 0x00007f7280cee1a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#43 0x00007f7280cecb5c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#44 0x00007f7280d16502 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#45 0x00007f727a9f77f7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f727a9f7a60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f727a9f7b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f728027c854 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#49 0x00007f7280d165d6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#50 0x00007f728024a7ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#51 0x00007f728024ab55 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#52 0x00007f728114a30c in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#53 0x000055e01fca9405 in ?? ()
#54 0x000055e01fcbd163 in ?? ()
#55 0x00007f7280260660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#56 0x00007f7280c66672 in QAction::triggered(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#57 0x00007f7280c679d3 in QAction::activate(QAction::ActionEvent) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#58 0x00007f72810c43cd in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#59 0x00007f72810c8839 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#60 0x00007f7281ab2b03 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#61 0x00007f7280cc2e80 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#62 0x00007f72810cca8b in QMenu::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#63 0x00007f7280c6c54c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#64 0x00007f7280c74ca7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#65 0x00007f72819e9c5a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#66 0x00007f728024bf1d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#67 0x00007f7280c72ccb in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#68 0x00007f7280cee42d in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#69 0x00007f7280cecb5c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#70 0x00007f7280d16502 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#71 0x00007f727a9f77f7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#72 0x00007f727a9f7a60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#73 0x00007f727a9f7b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#74 0x00007f728027c854 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#75 0x00007f7280d165d6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#76 0x00007f728024a7ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#77 0x00007f728024ab55 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#78 0x00007f72810cb567 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#79 0x000055e01fc5f95e in ?? ()
#80 0x000055e01fc5fe5b in ?? ()
#81 0x000055e01fcbd22c in ?? ()
#82 0x00007f7280260660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#83 0x000055e01fd24065 in ?? ()
#84 0x00007f7280260660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#85 0x000055e01fdf2095 in ?? ()
#86 0x000055e01fde81eb in ?? ()
#87 0x000055e01fdf13ed in ?? ()
#88 0x00007f7280260660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#89 0x00007f7280cb4c12 in QWidget::customContextMenuRequested(QPoint const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#90 0x00007f7280cc3c1b in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#91 0x00007f7281087c8e in QFrame::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#92 0x00007f72811acba3 in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#93 0x00007f72811ee46c in QTreeView::viewportEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#94 0x00007f728024c0a1 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#95 0x00007f7280c6c52c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#96 0x00007f7280c746b6 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#97 0x00007f72819e9c5a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#98 0x00007f728024bf1d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#99 0x00007f7280cee213 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#100 0x00007f7280cecb5c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#101 0x00007f7280d16502 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#102 0x00007f727a9f77f7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#103 0x00007f727a9f7a60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#104 0x00007f727a9f7b0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#105 0x00007f728027c854 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#106 0x00007f7280d165d6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#107 0x00007f728024a7ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#108 0x00007f728024ab55 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#109 0x00007f7280250bd9 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#110 0x000055e01fc5995d in ?? ()
#111 0x000055e01fc56a82 in ?? ()
#112 0x00007f727f2222e1 in __libc_start_main (main=0x55e01fc55910, argc=1, argv=0x7ffd9d050a48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd9d050a38) at ../csu/libc-start.c:291
#113 0x000055e01fc590ca in _start ()

Possible duplicates by query: bug 363197, bug 362862, bug 362430.

Reported using DrKonqi
Comment 1 Claude Malter 2018-05-27 19:52:57 UTC
Created attachment 112909 [details]
Window Edit account "Compte d'épargne"

Select on type to become the type "Epargne", then click on tab "Etablissement" and select "BNP Paribas".
Comment 2 NSLW 2018-06-02 08:00:18 UTC
(In reply to Claude Malter from comment #1)
> Created attachment 112909 [details]
> Window Edit account "Compte d'épargne"
> 
> Select on type to become the type "Epargne", then click on tab
> "Etablissement" and select "BNP Paribas".

I'll get back to you as soon as I'll learn French.
Comment 3 Jay Valatka 2018-09-18 02:09:12 UTC
Created attachment 115056 [details]
New crash information added by DrKonqi

kmymoney (4.8.0) on KDE Platform 4.14.34 using Qt 4.8.7

- What I was doing when the application crashed:

I created an investment account with attached brokerage.  The brokerage side was set as "Checking" by default, which didn't suit me.  I tried to edit the brokerage account details to set that as "Cash".  

The unusual behavior:

Before I saved my changes, once I tried to see what was in the next tab over, the program suddenly died.

-- Backtrace (Reduced):
#6  0x00007fa1ae969d7d in QSortFilterProxyModel::parent(QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#7  0x00007fa1ae922598 in QTreeView::indexRowSizeHint(QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#8  0x00007fa1ae925af1 in QTreeViewPrivate::itemHeight(int) const () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#9  0x00007fa1ae926c76 in QTreeViewPrivate::updateScrollBars() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#10 0x00007fa1ae9308f1 in QTreeView::updateGeometries() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
Comment 4 Ralf Habacker 2018-09-19 17:29:05 UTC
I can reproduce the issue with the recent version 4.8.2. It happens on a click on the hierachy tab. On stderr the following messages are printed 
QSortFilterProxyModel: index from wrong model passed to mapFromSource 
QSortFilterProxyModel: index from wrong model passed to mapFromSource
Comment 5 Ralf Habacker 2018-09-19 17:33:36 UTC
Git commit 49664e85b14165e4ebb3d2f6c009b9a1c94025c0 by Ralf Habacker.
Committed on 19/09/2018 at 17:33.
Pushed by habacker into branch '4.8'.

Fixes a crash when changing the type of an account

Clearing a HierarchyFilterProxyModel requires to reset the source model.
FIXED-IN:4.8.3

M  +1    -0    kmymoney/dialogs/knewaccountdlg.cpp

https://commits.kde.org/kmymoney/49664e85b14165e4ebb3d2f6c009b9a1c94025c0
Comment 6 Ralf Habacker 2018-09-19 22:00:33 UTC
*** Bug 362430 has been marked as a duplicate of this bug. ***
Comment 7 Thomas Baumgart 2019-08-31 14:40:17 UTC
I am unable to duplicate this in 5.0.6