Bug 255764 - KMyMoney crashes when modifying "Store password" in the "Online settings"
Summary: KMyMoney crashes when modifying "Store password" in the "Online settings"
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-31 21:01 UTC by Jason
Modified: 2012-12-26 18:45 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason 2010-10-31 21:01:46 UTC
Application: kmymoney (4.5.0)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.7.0
Operating System: Linux 2.6.35-22-generic x86_64
Distribution: Ubuntu 10.10

-- Information about the crash:
- What I was doing when the application crashed:
I was trying to disable the "Online Settings" to disable "Store password".  
- Custom settings of the application:
"Store password" is on and I'm trying to turn it off. The last time I used KWallet to store the password I couldn't open the KMyMoney file across the network from other computers without crashing KMyMoney.

The crash can be reproduced every time.

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

Thread 2 (Thread 0x7f10905cf710 (LWP 9387)):
#0  0x00007f109b00a1d3 in poll () from /lib/libc.so.6
#1  0x00007f1096165009 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007f10961657b5 in g_main_loop_run () from /lib/libglib-2.0.so.0
#3  0x00007f1090d060f4 in ?? () from /usr/lib/libgio-2.0.so.0
#4  0x00007f109618a7e4 in ?? () from /lib/libglib-2.0.so.0
#5  0x00007f109dc66971 in start_thread () from /lib/libpthread.so.0
#6  0x00007f109b01691d in clone () from /lib/libc.so.6
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f10a0648760 (LWP 9386)):
[KCrash Handler]
#6  0x00007f109cbc33e4 in QAbstractButton::isChecked() const () from /usr/lib/libQtGui.so.4
#7  0x00007f1081395820 in OfxImporterPlugin::onlineBankingSettings (this=<value optimized out>, current=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/plugins/ofximport/ofximporterplugin.cpp:599
#8  0x00000000004831d9 in KMyMoneyApp::slotAccountEdit (this=0x230c4c0) at /build/buildd/kmymoney-4.5/kmymoney/kmymoney.cpp:3530
#9  0x000000000049e8fd in KMyMoneyApp::qt_metacall (this=0x230c4c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff44fb7fe0) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/kmymoney.moc:545
#10 0x00007f109be4db27 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#11 0x00007f109c7e4852 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4
#12 0x00007f109c7e5f5b in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4
#13 0x00007f109cc4cdc1 in ?? () from /usr/lib/libQtGui.so.4
#14 0x00007f109cc52782 in ?? () from /usr/lib/libQtGui.so.4
#15 0x00007f109ed4acee in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#16 0x00007f109c84204e in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#17 0x00007f109cc5490b in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4
#18 0x00007f109c7ebfdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#19 0x00007f109c7f230e in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007f109ec6a156 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#21 0x00007f109be35cdc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#22 0x00007f109c7f0dbe in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#23 0x00007f109c8747bd in ?? () from /usr/lib/libQtGui.so.4
#24 0x00007f109c872c5c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#25 0x00007f109c89f0e2 in ?? () from /usr/lib/libQtGui.so.4
#26 0x00007f1096161342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#27 0x00007f10961652a8 in ?? () from /lib/libglib-2.0.so.0
#28 0x00007f109616545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#29 0x00007f109be62193 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#30 0x00007f109c89ea4e in ?? () from /usr/lib/libQtGui.so.4
#31 0x00007f109be34a02 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#32 0x00007f109be34dec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00007f109cc4fec5 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/libQtGui.so.4
#34 0x00000000004569d9 in KMyMoneyApp::showContextMenu (this=<value optimized out>, containerName=...) at /build/buildd/kmymoney-4.5/kmymoney/kmymoney.cpp:5680
#35 0x00000000004621da in KMyMoneyApp::slotShowAccountContextMenu (this=0x230c4c0, obj=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/kmymoney.cpp:5719
#36 0x000000000049e9a2 in KMyMoneyApp::qt_metacall (this=0x230c4c0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff44fb9ed0) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/kmymoney.moc:553
#37 0x00007f109be4db27 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#38 0x0000000000547e45 in KInstitutionsView::openContextMenu (this=0x3923910, _t1=<value optimized out>) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/views/kinstitutionsview.moc:109
#39 0x0000000000548501 in KInstitutionsView::qt_metacall (this=0x25c2c20, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff44fba000) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/views/kinstitutionsview.moc:86
#40 0x00007f109be4db27 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#41 0x00000000005b34e5 in KMyMoneyAccountTreeView::openContextMenu (this=0x3923910, _t1=<value optimized out>) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/widgets/kmymoneyaccounttreeview.moc:119
#42 0x00000000005b547b in KMyMoneyAccountTreeView::customContextMenuRequested (this=0x25bc530, pos=<value optimized out>) at /build/buildd/kmymoney-4.5/kmymoney/widgets/kmymoneyaccounttreeview.cpp:99
#43 0x00000000005b56d1 in KMyMoneyAccountTreeView::qt_metacall (this=0x25bc530, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff44fba3e0) at /build/buildd/kmymoney-4.5/obj-x86_64-linux-gnu/kmymoney/widgets/kmymoneyaccounttreeview.moc:99
#44 0x00007f109be4db27 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#45 0x00007f109c835482 in QWidget::customContextMenuRequested(QPoint const&) () from /usr/lib/libQtGui.so.4
#46 0x00007f109c842412 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#47 0x00007f109cc0d5e6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#48 0x00007f109cd46a8b in QAbstractItemView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#49 0x00007f109cd84d65 in QTreeView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#50 0x00007f109be35507 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#51 0x00007f109c7ebfac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#52 0x00007f109c7f1cd1 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#53 0x00007f109ec6a156 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#54 0x00007f109be35cdc in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#55 0x00007f109c874392 in ?? () from /usr/lib/libQtGui.so.4
#56 0x00007f109c872c5c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#57 0x00007f109c89f0e2 in ?? () from /usr/lib/libQtGui.so.4
#58 0x00007f1096161342 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#59 0x00007f10961652a8 in ?? () from /lib/libglib-2.0.so.0
#60 0x00007f109616545c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#61 0x00007f109be62193 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#62 0x00007f109c89ea4e in ?? () from /usr/lib/libQtGui.so.4
#63 0x00007f109be34a02 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#64 0x00007f109be34dec in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#65 0x00007f109be38ebb in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#66 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 Thomas Baumgart 2010-12-11 16:18:09 UTC
Here's how to reproduce this:

a) make sure that KMyMoney has no access to KWallet so that you will be asked.
b) start editing an account that is mapped to an OFX account
c) you will be asked if you want to allow KMyMoney access to the wallet. Deny it once
d) select the online banking tab, mark the store password checkbox, enter a password and press OK
e) somewhere in the background KWallet will pop up again, leave it sitting there
f) start editing the account again
g) Now you need to deny twice (one is from that dangling window in the background)
h) Pressing Cancel in the dialog forces the crash to happen
Comment 2 Cristian Oneț 2011-08-12 12:37:32 UTC
Do I need online access to an OFX account to reproduce this? I would take a look at it but "b) start editing an account that is mapped to an OFX account" and I don't have such an account.
Comment 3 Cristian Oneț 2011-08-21 20:40:27 UTC
I've tried to reproduce the steps provided by you but failed at step d.

"c) you will be asked if you want to allow KMyMoney access to the wallet. Deny
it once
d) select the online banking tab, mark the store password checkbox, enter a
password and press OK"

If I complete step c then step d can't be completed since the store password checkbox is disabled after denying kmymoney access to the wallet.
Comment 4 Cristian Oneț 2012-12-26 18:41:46 UTC
Git commit 6c88ffd84de50af557cc92dfe043adf9872606f8 by Cristian Oneț.
Committed on 28/11/2012 at 21:09.
Pushed by conet into branch 'master'.

When KWallet is opened synchronously do it in a safe way.
REVIEW: 107507

M  +5    -0    kmymoney/kmymoney.cpp
M  +1    -1    kmymoney/plugins/ofximport/dialogs/konlinebankingstatus.cpp
M  +38   -6    kmymoney/plugins/ofximport/dialogs/mymoneyofxconnector.cpp
M  +7    -0    kmymoney/plugins/ofximport/dialogs/mymoneyofxconnector.h
M  +2    -2    kmymoney/plugins/ofximport/ofximporterplugin.cpp

http://commits.kde.org/kmymoney/6c88ffd84de50af557cc92dfe043adf9872606f8
Comment 5 Cristian Oneț 2012-12-26 18:45:00 UTC
Git commit b0fc54586ba21048fb3cf510bf56a7dc55428ef6 by Cristian Oneț.
Committed on 28/11/2012 at 21:09.
Pushed by conet into branch '4.6'.

When KWallet is opened synchronously do it in a safe way.
REVIEW: 107507
(cherry picked from commit 6c88ffd84de50af557cc92dfe043adf9872606f8)

M  +5    -0    kmymoney/kmymoney.cpp
M  +1    -1    kmymoney/plugins/ofximport/dialogs/konlinebankingstatus.cpp
M  +38   -6    kmymoney/plugins/ofximport/dialogs/mymoneyofxconnector.cpp
M  +7    -0    kmymoney/plugins/ofximport/dialogs/mymoneyofxconnector.h
M  +2    -2    kmymoney/plugins/ofximport/ofximporterplugin.cpp

http://commits.kde.org/kmymoney/b0fc54586ba21048fb3cf510bf56a7dc55428ef6