Bug 430752 - crash on account update
Summary: crash on account update
Status: RESOLVED DUPLICATE of bug 437545
Alias: None
Product: kmymoney
Classification: Applications
Component: onlinebanking (show other bugs)
Version: 5.1.0
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-12-23 13:25 UTC by josh
Modified: 2021-11-06 21:19 UTC (History)
2 users (show)

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 josh 2020-12-23 13:25:29 UTC
Application: kmymoney (5.1.0)

Qt Version: 5.14.2
Frameworks Version: 5.75.0
Operating System: Linux 5.9.15-100.fc32.x86_64 x86_64
Windowing system: X11
Distribution: "Fedora release 32 (Thirty Two)"

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

click "update all accounts" to import new transactions via aqbanking (fints)

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa305733980 (LWP 2065))]

Thread 6 (Thread 0x7fa2a37e7700 (LWP 2072)):
#0  0x00007fa300efeaaf in poll () at /lib64/libc.so.6
#1  0x00007fa2fea2aaae in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#2  0x00007fa2fea2abe3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007fa30169eb8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007fa30165191b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007fa3014bd427 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007fa3014be690 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007fa2ffe31432 in start_thread () at /lib64/libpthread.so.0
#8  0x00007fa300f09913 in clone () at /lib64/libc.so.6

Thread 5 (Thread 0x7fa2a45ff700 (LWP 2071)):
#0  0x00007fa300efeaaf in poll () at /lib64/libc.so.6
#1  0x00007fa2fea2aaae in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#2  0x00007fa2fea2abe3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007fa30169eb8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007fa30165191b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#5  0x00007fa3014bd427 in QThread::exec() () at /lib64/libQt5Core.so.5
#6  0x00007fa3014be690 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007fa2ffe31432 in start_thread () at /lib64/libpthread.so.0
#8  0x00007fa300f09913 in clone () at /lib64/libc.so.6

Thread 4 (Thread 0x7fa2e6917700 (LWP 2070)):
#0  0x00007fa2ffe37e92 in pthread_cond_wait@@GLIBC_2.3.2 () at /lib64/libpthread.so.0
#1  0x00007fa3012127d0 in std::condition_variable::wait(std::unique_lock<std::mutex>&) () at /lib64/libstdc++.so.6
#2  0x00007fa30422e1b8 in bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadRunLoop() () at /lib64/libQt5WebKit.so.5
#3  0x00007fa30422e30f in  () at /lib64/libQt5WebKit.so.5
#4  0x00007fa301218ad4 in execute_native_thread_routine () at /lib64/libstdc++.so.6
#5  0x00007fa2ffe31432 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fa300f09913 in clone () at /lib64/libc.so.6

Thread 3 (Thread 0x7fa2effff700 (LWP 2068)):
#0  0x00007fa2fea793d8 in g_mutex_unlock () at /lib64/libglib-2.0.so.0
#1  0x00007fa2fea2abee in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#2  0x00007fa30169eb8b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#3  0x00007fa30165191b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#4  0x00007fa3014bd427 in QThread::exec() () at /lib64/libQt5Core.so.5
#5  0x00007fa30193151b in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#6  0x00007fa3014be690 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#7  0x00007fa2ffe31432 in start_thread () at /lib64/libpthread.so.0
#8  0x00007fa300f09913 in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7fa2f5257700 (LWP 2067)):
#0  0x00007fa300efeaaf in poll () at /lib64/libc.so.6
#1  0x00007fa2fe2b538a in _xcb_conn_wait () at /lib64/libxcb.so.1
#2  0x00007fa2fe2b771a in xcb_wait_for_event () at /lib64/libxcb.so.1
#3  0x00007fa2f5444c78 in QXcbEventQueue::run() () at /lib64/libQt5XcbQpa.so.5
#4  0x00007fa3014be690 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#5  0x00007fa2ffe31432 in start_thread () at /lib64/libpthread.so.0
#6  0x00007fa300f09913 in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7fa305733980 (LWP 2065)):
[KCrash Handler]
#4  0x00007fa3009ef645 in __gmpn_divexact_1_fat () at /lib64/libmpir.so.23
#5  0x00007fa2e72530d9 in _nettle_ecc_mod_add () at /lib64/libhogweed.so.5
#6  0x00007fa2e725451c in _nettle_ecc_dup_jj () at /lib64/libhogweed.so.5
#7  0x00007fa2e7255b09 in _nettle_ecc_mul_g () at /lib64/libhogweed.so.5
#8  0x00007fa2e7256e71 in nettle_ecdsa_generate_keypair () at /lib64/libhogweed.so.5
#9  0x00007fa2e782fdb5 in wrap_nettle_pk_generate_keys () at /lib64/libgnutls.so.30
#10 0x00007fa2e77f7319 in client_gen_key_share () at /lib64/libgnutls.so.30
#11 0x00007fa2e77f8380 in key_share_send_params () at /lib64/libgnutls.so.30
#12 0x00007fa2e7740f80 in hello_ext_send () at /lib64/libgnutls.so.30
#13 0x00007fa2e77764da in _gnutls_extv_append () at /lib64/libgnutls.so.30
#14 0x00007fa2e77413f2 in _gnutls_gen_hello_extensions () at /lib64/libgnutls.so.30
#15 0x00007fa2e773140f in send_client_hello () at /lib64/libgnutls.so.30
#16 0x00007fa2e7731ab8 in gnutls_handshake () at /lib64/libgnutls.so.30
#17 0x00007fa2e7ba9e29 in GWEN_SyncIo_Tls_Connect () at /lib64/libgwenhywfar.so.79
#18 0x00007fa2e7ba7227 in GWEN_SyncIo_Buffered_Connect () at /lib64/libgwenhywfar.so.79
#19 0x00007fa2e7bada97 in GWEN_SyncIo_Http_Connect () at /lib64/libgwenhywfar.so.79
#20 0x00007fa2e7bb3a01 in GWEN_HttpSession_SendPacket () at /lib64/libgwenhywfar.so.79
#21 0x00007fa2e797274e in AH_Dialog_SendMessage () at /lib64/libaqbanking.so.44
#22 0x00007fa2e7a19b97 in AH_Outbox__CBox_SendMessage.constprop.0 () at /lib64/libaqbanking.so.44
#23 0x00007fa2e7a1a909 in AH_Outbox__CBox_SendAndRecvQueueNoTan () at /lib64/libaqbanking.so.44
#24 0x00007fa2e7a1ace2 in AH_Outbox__CBox_SendAndReceiveQueueWithTan2 () at /lib64/libaqbanking.so.44
#25 0x00007fa2e7a1f4d3 in AH_Outbox__CBox_OpenDialogPsd2_Proc2 () at /lib64/libaqbanking.so.44
#26 0x00007fa2e7a1face in AH_Outbox__CBox_PerformNonDialogQueues () at /lib64/libaqbanking.so.44
#27 0x00007fa2e7a20295 in AH_Outbox__CBox_SendAndRecvSelected.constprop.0 () at /lib64/libaqbanking.so.44
#28 0x00007fa2e7a218f3 in AH_Outbox_Execute () at /lib64/libaqbanking.so.44
#29 0x00007fa2e7a25015 in AH_Provider_SendCommands () at /lib64/libaqbanking.so.44
#30 0x00007fa2e791ccb2 in AB_Banking_SendCommands () at /lib64/libaqbanking.so.44
#31 0x00007fa2e7cde000 in KBankingExt::executeQueue(AB_IMEXPORTER_CONTEXT*) () at /usr/lib64/qt5/plugins/kmymoney/kbanking.so
#32 0x00007fa2e7cde5c7 in KBanking::executeQueue() [clone .part.0] () at /usr/lib64/qt5/plugins/kmymoney/kbanking.so
#33 0x00007fa2e7cdf0b3 in KBanking::updateAccount(MyMoneyAccount const&, bool) () at /usr/lib64/qt5/plugins/kmymoney/kbanking.so
#34 0x000055af61bba4b0 in KAccountsViewPrivate::accountsUpdateOnline(QList<MyMoneyAccount> const&) ()
#35 0x000055af61bb771b in KAccountsView::slotAccountUpdateOnlineAll() ()
#36 0x00007fa301681f76 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#37 0x00007fa304ee3876 in QAction::triggered(bool) () at /lib64/libQt5Widgets.so.5
#38 0x00007fa304ee6161 in QAction::activate(QAction::ActionEvent) () at /lib64/libQt5Widgets.so.5
#39 0x00007fa305063d5a in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () at /lib64/libQt5Widgets.so.5
#40 0x00007fa30506b3c2 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () at /lib64/libQt5Widgets.so.5
#41 0x00007fa304f2b36e in QWidget::event(QEvent*) () at /lib64/libQt5Widgets.so.5
#42 0x00007fa304eea063 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#43 0x00007fa304eef891 in QApplication::notify(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#44 0x00007fa301652fc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#45 0x00007fa304eee78a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at /lib64/libQt5Widgets.so.5
#46 0x00007fa304f4498f in QWidgetWindow::handleMouseEvent(QMouseEvent*) () at /lib64/libQt5Widgets.so.5
#47 0x00007fa304f46dde in QWidgetWindow::event(QEvent*) () at /lib64/libQt5Widgets.so.5
#48 0x00007fa304eea063 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#49 0x00007fa301652fc0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#50 0x00007fa301c5c16b in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib64/libQt5Gui.so.5
#51 0x00007fa301c3e15b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Gui.so.5
#52 0x00007fa2f5445c9e in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5XcbQpa.so.5
#53 0x00007fa2fea2a78f in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#54 0x00007fa2fea2ab18 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#55 0x00007fa2fea2abe3 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#56 0x00007fa30169eb73 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#57 0x00007fa30165191b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#58 0x00007fa3016595a6 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#59 0x000055af61b8b6b9 in main ()
[Inferior 1 (process 2065) detached]

Report to https://bugs.kde.org/
Comment 1 Thomas Baumgart 2020-12-24 09:12:00 UTC
Please provide the versions of AqBanking and Gwenhywfar that you use here. The crash happens deep inside the TLS code of Gwenhywfar/GnuTLS.

Can you check if the problem persists with the latest AppImage version of KMyMoney? (see https://kmymoney.org/appimage how to download/install it)
Comment 2 josh 2020-12-24 09:45:45 UTC
(In reply to Thomas Baumgart from comment #1)
> Please provide the versions of AqBanking and Gwenhywfar that you use here.
> The crash happens deep inside the TLS code of Gwenhywfar/GnuTLS.
> 
> Can you check if the problem persists with the latest AppImage version of
> KMyMoney? (see https://kmymoney.org/appimage how to download/install it)

I have gwenhyfwar 5.3.0 and aqbanking 6.1.4 installed. With KMyMoney-5.1.1-108303b-x86_64.AppImage there is no crash; account update works as expected
Comment 3 Thomas Baumgart 2020-12-24 11:40:52 UTC
Josh, thanks for the feedback. This confirms my suspicion that an older combination of Gwenhywfar/AqBanking causes the problem you encounter.
Comment 4 josh 2020-12-24 13:53:49 UTC
happy to help, thank you for the quick assistance
Comment 5 josh 2020-12-27 18:24:30 UTC
For reference, the corresponding issue in Fedora bug tracker:

https://bugzilla.redhat.com/show_bug.cgi?id=1910478
Comment 6 Vasiliy Glazov 2021-01-22 15:42:31 UTC
Can you please tell me it is enough to update AqBanking and Gwenhywfar libs or need to rebuild kmymoney with this new libs?
Comment 7 Thomas Baumgart 2021-01-23 06:24:27 UTC
That depends on the version of AqBanking and Gwenhywfar. If the API stays the same there is no need, in case the API changed you also need to update/rebuild KMyMoney.
Comment 8 postix 2021-11-06 21:19:20 UTC

*** This bug has been marked as a duplicate of bug 437545 ***