Bug 281728

Summary: Crash when canceling OFX account update when KWallet fails to promt for access
Product: [Applications] kmymoney Reporter: vmpn <volchok>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: crash CC: eaglexboy, jasonb
Priority: NOR    
Version: 4.6.0   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description vmpn 2011-09-10 02:31:58 UTC
Application: kmymoney (4.6.0)
KDE Platform Version: 4.6.5 (4.6.5) (Compiled from sources)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-gentoo-r6 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
I was trying to update my account online. Usually KWallet would prompt for password and this time it did not. When cancelling pending OFX update application consistently crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
[KCrash Handler]
#6  KJob::kill (this=0x0, verbosity=KJob::Quietly) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdecore/jobs/kjob.cpp:106
#7  0x00007f9560aa1fb2 in KOfxDirectConnectDlg::reject (this=0x4448310) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/plugins/ofximport/dialogs/kofxdirectconnectdlg.cpp:222
#8  0x00007f957267c39d in QDialog::qt_metacall (this=0x4448310, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffde5fefe0) at .moc/release-shared/moc_qdialog.cpp:97
#9  0x00007f9560aa2f40 in KOfxDirectConnectDlg::qt_metacall (this=0x0, _c=QMetaObject::InvokeMetaMethod, _id=-2262160, _a=0x7fffde5fefe0) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0_build/kmymoney/plugins/ofximport/dialogs/kofxdirectconnectdlg.moc:75
#10 0x00007f957309aa0f in QMetaObject::activate (sender=0x4455020, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffde5fefe0) at kernel/qobject.cpp:3278
#11 0x00007f9572857852 in QAbstractButton::clicked (this=0x0, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#12 0x00007f9572562bbb in QAbstractButtonPrivate::emitClicked (this=0x4459010) at widgets/qabstractbutton.cpp:546
#13 0x00007f957256427b in QAbstractButtonPrivate::click (this=0x4459010) at widgets/qabstractbutton.cpp:539
#14 0x00007f95725644ec in QAbstractButton::mouseReleaseEvent (this=0x4455020, e=0x7fffde5ffab0) at widgets/qabstractbutton.cpp:1121
#15 0x00007f957220382d in QWidget::event (this=0x4455020, event=0x7fffde5ffab0) at kernel/qwidget.cpp:8259
#16 0x00007f95721ad8dc in QApplicationPrivate::notify_helper (this=0x20da780, receiver=0x4455020, e=0x7fffde5ffab0) at kernel/qapplication.cpp:4462
#17 0x00007f95721b499b in QApplication::notify (this=0x20d6880, receiver=0x4455020, e=0x7fffde5ffab0) at kernel/qapplication.cpp:4023
#18 0x00007f95754a8596 in KApplication::notify (this=0x20d6880, receiver=0x4455020, event=0x7fffde5ffab0) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdeui/kernel/kapplication.cpp:311
#19 0x00007f9573082d2b in QCoreApplication::notifyInternal (this=0x20d6880, receiver=0x4455020, event=0x7fffde5ffab0) at kernel/qcoreapplication.cpp:731
#20 0x00007f95721b1e22 in sendEvent (receiver=0x4455020, event=0x7fffde5ffab0, alienWidget=0x4455020, nativeWidget=0x4448310, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#21 QApplicationPrivate::sendMouseEvent (receiver=0x4455020, event=0x7fffde5ffab0, alienWidget=0x4455020, nativeWidget=0x4448310, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3122
#22 0x00007f9572236d84 in QETWidget::translateMouseEvent (this=0x4448310, event=<value optimized out>) at kernel/qapplication_x11.cpp:4461
#23 0x00007f9572235e20 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffde600230) at kernel/qapplication_x11.cpp:3587
#24 0x00007f9572260342 in x11EventSourceDispatch (s=0x20debb0, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#25 0x00007f956c65bbc1 in g_main_dispatch (context=0x20dd9b0) at gmain.c:2441
#26 g_main_context_dispatch (context=0x20dd9b0) at gmain.c:3014
#27 0x00007f956c660258 in g_main_context_iterate (context=0x20dd9b0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3092
#28 0x00007f956c66040c in g_main_context_iteration (context=0x20dd9b0, may_block=1) at gmain.c:3155
#29 0x00007f95730aee13 in QEventDispatcherGlib::processEvents (this=0x20b43d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#30 0x00007f957225fcbe in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#31 0x00007f9573081a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#32 0x00007f9573081e64 in QEventLoop::exec (this=0x7fffde6006b0, flags=) at kernel/qeventloop.cpp:201
#33 0x00007f9575534c4d in KWallet::Wallet::openWallet (name=<value optimized out>, w=<value optimized out>, ot=KWallet::Wallet::Synchronous) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdeui/util/kwallet.cpp:304
#34 0x00007f9560ab4600 in MyMoneyOfxConnector::password (this=<value optimized out>) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/plugins/ofximport/dialogs/mymoneyofxconnector.cpp:179
#35 0x00007f9560ab4ba4 in MyMoneyOfxConnector::initRequest (this=0x4448380, fi=0x7fffde600c70) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/plugins/ofximport/dialogs/mymoneyofxconnector.cpp:318
#36 0x00007f9560ab5c65 in MyMoneyOfxConnector::statementRequest (this=0x4448380) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/plugins/ofximport/dialogs/mymoneyofxconnector.cpp:344
#37 0x00007f9560aa3046 in KOfxDirectConnectDlg::init (this=0x4448310) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/plugins/ofximport/dialogs/kofxdirectconnectdlg.cpp:81
#38 0x00007f9560a94a85 in OfxImporterPlugin::updateAccount (this=0x2e472c0, acc=<value optimized out>, moreAccounts=<value optimized out>) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/plugins/ofximport/ofximporterplugin.cpp:689
#39 0x000000000048ce3d in KMyMoneyApp::slotAccountUpdateOnlineAll (this=<value optimized out>) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/kmymoney.cpp:6903
#40 0x00000000004a4e9d in KMyMoneyApp::qt_metacall (this=0x2226910, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffde601770) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0_build/kmymoney/kmymoney.moc:506
#41 0x00007f957309aa0f in QMetaObject::activate (sender=0x22b1810, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffde5fefe0) at kernel/qobject.cpp:3278
#42 0x00007f95721a61b2 in QAction::triggered (this=0x0, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#43 0x00007f95721a787b in QAction::activate (this=0x22b1810, event=<value optimized out>) at kernel/qaction.cpp:1257
#44 0x00007f95725ead91 in QMenuPrivate::activateCausedStack (this=<value optimized out>, causedStack=..., action=0x22b1810, action_e=QAction::Trigger, self=true) at widgets/qmenu.cpp:993
#45 0x00007f95725f070a in QMenuPrivate::activateAction (this=0x22f1fd0, action=0x22b1810, action_e=QAction::Trigger, self=<value optimized out>) at widgets/qmenu.cpp:1085
#46 0x00007f9575580bfe in KMenu::mouseReleaseEvent (this=0x22f1f90, e=0x0) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdeui/widgets/kmenu.cpp:458
#47 0x00007f957220382d in QWidget::event (this=0x22f1f90, event=0x7fffde602540) at kernel/qwidget.cpp:8259
#48 0x00007f95725f286b in QMenu::event (this=0x22f1f90, e=0x7fffde602540) at widgets/qmenu.cpp:2415
#49 0x00007f95721ad8dc in QApplicationPrivate::notify_helper (this=0x20da780, receiver=0x22f1f90, e=0x7fffde602540) at kernel/qapplication.cpp:4462
#50 0x00007f95721b499b in QApplication::notify (this=0x20d6880, receiver=0x22f1f90, e=0x7fffde602540) at kernel/qapplication.cpp:4023
#51 0x00007f95754a8596 in KApplication::notify (this=0x20d6880, receiver=0x22f1f90, event=0x7fffde602540) at /var/tmp/portage/kde-base/kdelibs-4.6.5-r1/work/kdelibs-4.6.5/kdeui/kernel/kapplication.cpp:311
#52 0x00007f9573082d2b in QCoreApplication::notifyInternal (this=0x20d6880, receiver=0x22f1f90, event=0x7fffde602540) at kernel/qcoreapplication.cpp:731
#53 0x00007f95721b1e22 in sendEvent (receiver=0x22f1f90, event=0x7fffde602540, alienWidget=0x0, nativeWidget=0x22f1f90, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#54 QApplicationPrivate::sendMouseEvent (receiver=0x22f1f90, event=0x7fffde602540, alienWidget=0x0, nativeWidget=0x22f1f90, buttonDown=<value optimized out>, lastMouseReceiver=<value optimized out>, spontaneous=true) at kernel/qapplication.cpp:3122
#55 0x00007f95722371fe in QETWidget::translateMouseEvent (this=0x22f1f90, event=<value optimized out>) at kernel/qapplication_x11.cpp:4395
#56 0x00007f9572235e20 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fffde602cc0) at kernel/qapplication_x11.cpp:3587
#57 0x00007f9572260342 in x11EventSourceDispatch (s=0x20debb0, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#58 0x00007f956c65bbc1 in g_main_dispatch (context=0x20dd9b0) at gmain.c:2441
#59 g_main_context_dispatch (context=0x20dd9b0) at gmain.c:3014
#60 0x00007f956c660258 in g_main_context_iterate (context=0x20dd9b0, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at gmain.c:3092
#61 0x00007f956c66040c in g_main_context_iteration (context=0x20dd9b0, may_block=1) at gmain.c:3155
#62 0x00007f95730aee13 in QEventDispatcherGlib::processEvents (this=0x20b43d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#63 0x00007f957225fcbe in QGuiEventDispatcherGlib::processEvents (this=0x0, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#64 0x00007f9573081a82 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#65 0x00007f9573081e64 in QEventLoop::exec (this=0x7fffde602fe0, flags=) at kernel/qeventloop.cpp:201
#66 0x00007f9573085edb in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#67 0x00000000004593ec in runKMyMoney (a=<value optimized out>, splash=<value optimized out>) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/main.cpp:282
#68 0x000000000045b2f8 in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/app-office/kmymoney-4.6.0/work/kmymoney-4.6.0/kmymoney/main.cpp:181

Reported using DrKonqi
Comment 1 Cristian Oneț 2012-11-22 18:05:56 UTC
*** Bug 309843 has been marked as a duplicate of this bug. ***
Comment 2 Cristian Oneț 2012-11-22 18:35:29 UTC
*** Bug 285920 has been marked as a duplicate of this bug. ***
Comment 3 Cristian Oneț 2012-11-22 20:08:06 UTC
Git commit 3b55cc66447b5013ae9f4f06b496e4c55384989d by Cristian Oneț.
Committed on 22/11/2012 at 21:03.
Pushed by conet into branch 'master'.

Fix a crash when cancelling the OFX update dialog while waiting for operations that occur until the TransferJob is created.
These operations can be things like waiting for KWallet, waiting for libofx_request_statement, etc.

M  +2    -1    kmymoney/plugins/ofximport/dialogs/kofxdirectconnectdlg.cpp

http://commits.kde.org/kmymoney/3b55cc66447b5013ae9f4f06b496e4c55384989d
Comment 4 Cristian Oneț 2012-11-22 20:10:22 UTC
Git commit 53de8e5aedde8fd133d07aa7671088563c472b9e by Cristian Oneț.
Committed on 22/11/2012 at 21:03.
Pushed by conet into branch '4.6'.

Fix a crash when cancelling the OFX update dialog while waiting for operations that occur until the TransferJob is created.
These operations can be things like waiting for KWallet, waiting for libofx_request_statement, etc.
(cherry picked from commit 3b55cc66447b5013ae9f4f06b496e4c55384989d)

M  +2    -1    kmymoney/plugins/ofximport/dialogs/kofxdirectconnectdlg.cpp

http://commits.kde.org/kmymoney/53de8e5aedde8fd133d07aa7671088563c472b9e
Comment 5 vmpn 2012-11-23 15:23:10 UTC
Thank you for fixing this