Bug 437545 - Segfault when connecting to bank account using aqbanking in KMyMoney
Summary: Segfault when connecting to bank account using aqbanking in KMyMoney
Status: RESOLVED UPSTREAM
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords: drkonqi
: 430752 430849 446028 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-05-23 13:08 UTC by rashid_usm
Modified: 2021-11-24 17:13 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rashid_usm 2021-05-23 13:08:23 UTC
Application: kmymoney (5.1.1)

Qt Version: 5.15.2
Frameworks Version: 5.81.0
Operating System: Linux 5.11.21-300.fc34.x86_64 x86_64
Windowing System: X11
Drkonqi Version: 5.21.5
Distribution: "Fedora release 34 (Thirty Four)"

-- Information about the crash:
- What I was doing when the application crashed:
I have a KMyMoney configuration where I have configured an account at a German Sparkasse using aqbanking. I had last connected to this account successfully in July 2020. I was still using Fedora 32 then. When I tried to connect to this account today to update my ledger, it gave me a segfault after I had entered the bank account PIN in the pop up window. 

I have tried it once more after forcefully deleting the lingering aqbanking lock and had the same results.

The crash can be reproduced every time.

-- Backtrace:
Application: KMyMoney (kmymoney), signal: Segmentation fault

[KCrash Handler]
#4  __gmpn_divexact_1_fat (dst=0x0, src=0x7ffc67edb3f0, size=140722052117487, divisor=4387487554227) at mpn/../mpn/generic/divexact_1.c:115
#5  0x00007fb1546295f9 in _nettle_ecc_mod_add (m=m@entry=0x7fb154655200 <_nettle_secp_256r1>, rp=0x7ffc67edb3f0, ap=<optimized out>, bp=<optimized out>) at /usr/src/debug/nettle-3.7.2-1.fc34.x86_64/ecc-mod-arith.c:51
#6  0x00007fb154629a24 in _nettle_ecc_dup_jj (ecc=0x7fb154655200 <_nettle_secp_256r1>, r=0x7ffc67edb330, p=0x7ffc67edb330, scratch=0x7ffc67edb390) at /usr/src/debug/nettle-3.7.2-1.fc34.x86_64/ecc-dup-jj.c:81
#7  0x00007fb15462d201 in _nettle_ecc_mul_g (ecc=0x7fb154655200 <_nettle_secp_256r1>, r=0x7ffc67edb330, np=<optimized out>, scratch=0x7ffc67edb390) at /usr/src/debug/nettle-3.7.2-1.fc34.x86_64/ecc-mul-g.c:67
#8  0x00007fb15462de6d in nettle_ecdsa_generate_keypair (pub=pub@entry=0x7ffc67edb560, key=key@entry=0x7ffc67edb550, random_ctx=random_ctx@entry=0x0, random=random@entry=0x7fb17c189eb0 <rnd_tmpkey_func>) at /usr/src/debug/nettle-3.7.2-1.fc34.x86_64/ecdsa-keygen.c:60
#9  0x00007fb17c18b53d in wrap_nettle_pk_generate_keys (algo=GNUTLS_PK_ECDSA, level=2, params=0x55e486845130, ephemeral=<optimized out>) at pk.c:2622
#10 0x00007fb17c15184f in client_gen_key_share (session=session@entry=0x55e486843f50, group=0x7fb17c243100 <supported_groups+128>, extdata=extdata@entry=0x7ffc67edb990) at key_share.c:95
#11 0x00007fb17c15285d in key_share_send_params (session=0x55e486843f50, extdata=0x7ffc67edb990) at key_share.c:722
#12 0x00007fb17c0983a1 in hello_ext_send (_ctx=_ctx@entry=0x7ffc67edb900, buf=buf@entry=0x7ffc67edb990) at hello_ext.c:368
#13 0x00007fb17c0ceaea in _gnutls_extv_append (buf=buf@entry=0x7ffc67edb990, tls_id=<optimized out>, ctx=ctx@entry=0x7ffc67edb900, cb=cb@entry=0x7fb17c0982d0 <hello_ext_send>) at extv.c:218
#14 0x00007fb17c098836 in _gnutls_gen_hello_extensions (session=session@entry=0x55e486843f50, buf=buf@entry=0x7ffc67edb990, msg=msg@entry=GNUTLS_EXT_FLAG_CLIENT_HELLO, parse_point=<optimized out>) at hello_ext.c:436
#15 0x00007fb17c08887f in send_client_hello (session=session@entry=0x55e486843f50, again=<optimized out>) at handshake.c:2292
#16 0x00007fb17c088f10 in handshake_client (session=0x55e486843f50) at handshake.c:2943
#17 gnutls_handshake (session=0x55e486843f50) at handshake.c:2781
#18 0x00007fb1a40de761 in GWEN_SyncIo_Tls_Connect (sio=0x55e4866865c0) at sio/syncio_tls.c:1346
#19 0x00007fb1a40d0648 in GWEN_SyncIo_Buffered_Connect (sio=0x3fd8aa31ab3) at sio/syncio_buffered.c:92
#20 0x00007fb1a40d9b07 in GWEN_SyncIo_Http_Connect (sio=0x55e486804a00) at sio/syncio_http.c:117
#21 0x00007fb1a40e4816 in GWEN_HttpSession_SendPacket (sess=0x55e486796750, httpCommand=0x7fb17c3e4709 "POST", buf=0x55e486843010 "SE5IQks6MTozKzAwMDAwMDAwMDQ5MCszMDArMCsxJ0hOVlNLOjk5ODozK1BJTjoyKzk5OCsxKzE6OldsbGpJZ3RSR1hNQkFBRFhCYmJ5dTFrWHJBUUErMToyMDIxMDUyMzoxNDQ4MjQrMjoyOjEzOkA4QFhYWFhYWFhYOjU6MSsyODA6NzYzNTAwMDA6ODMxODQxOTE1"..., blen=658) at sio/httpsession.c:404
#22 0x00007fb17c3ba00f in AH_Dialog_SendPacket_Https (blen=<optimized out>, buf=0x55e48683f070 "HNHBK:1:3+000000000490+300+0+1'HNVSK:998:3+PIN:2+998+1+1::WlljIgtRGXMBAADXBbbyu1kXrAQA+1:20210523:144824+2:2:13:@8@XXXXXXXX:5:1+280:76350000:831841915:V:0:0+0'HNVSD:999:1+@301@HNSHK:2:4+PIN:2+911+2021"..., dlg=0x55e485ea1ff0) at plugins/backends/aqhbci/msglayer/dialog_https.c:130
#23 AH_Dialog_SendPacket (blen=<optimized out>, buf=0x55e48683f070 "HNHBK:1:3+000000000490+300+0+1'HNVSK:998:3+PIN:2+998+1+1::WlljIgtRGXMBAADXBbbyu1kXrAQA+1:20210523:144824+2:2:13:@8@XXXXXXXX:5:1+280:76350000:831841915:V:0:0+0'HNVSD:999:1+@301@HNSHK:2:4+PIN:2+911+2021"..., dlg=0x55e485ea1ff0) at plugins/backends/aqhbci/msglayer/dialog.c:272
#24 AH_Dialog_SendMessage (msg=0x7fb17c3c51a4, dlg=0x55e485ea1ff0) at plugins/backends/aqhbci/msglayer/dialog.c:295
#25 AH_OutboxCBox_SendMessage.constprop.0 (dlg=dlg@entry=0x55e485ea1ff0, msg=msg@entry=0x55e486669e50, cbox=<optimized out>) at plugins/backends/aqhbci/applayer/cbox_send.c:30
#26 0x00007fb17c2dc0ed in AH_OutboxCBox_SendQueue (cbox=0x55e486546950, jq=0x55e486518430, dlg=0x55e485ea1ff0) at plugins/backends/aqhbci/applayer/cbox_send.c:60
#27 AH_OutboxCBox_SendAndRecvQueueNoTan (cbox=0x55e486546950, dlg=0x55e485ea1ff0, jq=0x55e486518430) at plugins/backends/aqhbci/applayer/cbox_queue.c:558
#28 0x00007fb17c2d57b8 in AH_OutboxCBox_SendAndReceiveQueueWithTan2 (cbox=0x55e486546950, dlg=0x55e485ea1ff0, qJob=0x55e486518430) at plugins/backends/aqhbci/applayer/cbox_itan2.c:107
#29 0x00007fb17c3b7ad5 in AH_OutboxCBox_SendAndReceiveJobWithTan2 (job=0x55e485c4d9a0, dlg=0x55e485ea1ff0, cbox=0x55e486546950) at plugins/backends/aqhbci/applayer/cbox_itan2.c:161
#30 AH_OutboxCBox_OpenDialogPsd2_Proc2 (dlg=0x55e485ea1ff0, cbox=0x55e486546950) at plugins/backends/aqhbci/applayer/cbox_psd2.c:75
#31 AH_OutboxCBox_OpenDialog (jqFlags=<optimized out>, dlg=0x55e485ea1ff0, cbox=0x55e486546950) at plugins/backends/aqhbci/applayer/cbox_dialog.c:59
#32 _performNonDialogQueues (jql=0x55e48658c780, cbox=0x55e486546950) at plugins/backends/aqhbci/applayer/cbox_queue.c:275
#33 _sendAndRecvSelected.constprop.0 (cbox=cbox@entry=0x55e486546950, jqflags=jqflags@entry=3, jqmask=7) at plugins/backends/aqhbci/applayer/cbox_queue.c:539
#34 0x00007fb17c362c5a in AH_OutboxCBox_SendAndRecvBox (cbox=0x55e486546950) at plugins/backends/aqhbci/applayer/cbox_queue.c:105
#35 _sendAndRecvCustomerBoxes (ob=<optimized out>) at plugins/backends/aqhbci/applayer/outbox.c:501
#36 _sendOutboxWithProbablyLockedUsers (ob=0x55e4867f57d0) at plugins/backends/aqhbci/applayer/outbox.c:250
#37 AH_Outbox_Execute (ob=0x55e4867f57d0, ctx=<optimized out>, withProgress=0, nounmount=1, doLock=1) at plugins/backends/aqhbci/applayer/outbox.c:152
#38 0x00007fb17c3734df in AH_Provider_SendCommands (pro=0x55e48665e520, pq=<optimized out>, ctx=0x55e486515890) at plugins/backends/aqhbci/banking/provider_sendcmd.c:72
#39 0x00007fb17c28d1d9 in AB_Provider_SendCommands (ctx=0x55e486515890, pq=0x55e485ebd0d0, pro=0x55e48665e520) at aqbanking/backendsupport/provider.c:410
#40 _sendProviderQueues (pid=5, ctx=0x55e486503010, pql=0x55e48609a240, ab=0x55e484bc82a0) at aqbanking/banking_online.c:724
#41 _sendCommandsInsideProgress (pid=5, ctx=0x55e486503010, commandList=<optimized out>, ab=0x55e484bc82a0) at aqbanking/banking_online.c:578
#42 AB_Banking_SendCommands (ab=0x55e484bc82a0, commandList=<optimized out>, ctx=0x55e486503010) at aqbanking/banking_online.c:535
#43 0x00007fb1a41c64c3 in AB_Banking::executeJobs (ctx=0x55e486503010, jl=<optimized out>, this=0x55e484bc8260) at /usr/src/debug/kmymoney-5.1.1-2.fc34.x86_64/kmymoney/plugins/kbanking/banking.cpp:154
#44 KBankingExt::executeQueue (ctx=0x55e486503010, this=0x55e484bc8260) at /usr/src/debug/kmymoney-5.1.1-2.fc34.x86_64/kmymoney/plugins/kbanking/kbanking.cpp:911
#45 KBanking::executeQueue (this=0x55e484ba1eb0) at /usr/src/debug/kmymoney-5.1.1-2.fc34.x86_64/kmymoney/plugins/kbanking/kbanking.cpp:637
#46 0x00007fb1a41c04da in KBanking::updateAccount (this=0x55e484ba1eb0, acc=..., moreAccounts=<optimized out>) at /usr/src/debug/kmymoney-5.1.1-2.fc34.x86_64/kmymoney/plugins/kbanking/kbanking.cpp:626
#47 0x000055e483f9174b in KAccountsViewPrivate::accountsUpdateOnline (this=0x55e484ac7bd0, accList=...) at /usr/src/debug/kmymoney-5.1.1-2.fc34.x86_64/kmymoney/views/kaccountsview_p.h:358
#48 0x000055e483f95668 in KAccountsView::slotAccountUpdateOnline (this=<optimized out>) at /usr/include/c++/11/bits/stl_algobase.h:383
#49 0x00007fb1cbcb84b0 in QtPrivate::QSlotObjectBase::call (a=0x7ffc67edd380, r=<optimized out>, this=0x55e484adc4d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#50 doActivate<false> (sender=0x55e4845526f0, signal_index=4, argv=0x7ffc67edd380) at kernel/qobject.cpp:3886
#51 0x00007fb1cbcb29e7 in QMetaObject::activate (sender=sender@entry=0x55e4845526f0, m=m@entry=0x7fb1cce3d260 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc67edd380) at kernel/qobject.cpp:3946
#52 0x00007fb1cc932686 in QAction::triggered (this=this@entry=0x55e4845526f0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#53 0x00007fb1cc934f70 in QAction::activate (this=this@entry=0x55e4845526f0, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1161
#54 0x00007fb1ccab2fea in QMenuPrivate::activateCausedStack (this=this@entry=0x55e484a44030, causedStack=..., action=action@entry=0x55e4845526f0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384
#55 0x00007fb1ccaba612 in QMenuPrivate::activateAction (this=0x55e484a44030, action=0x55e4845526f0, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1461
#56 0x00007fb1cc97985e in QWidget::event (this=0x55e4849f34d0, event=0x7ffc67edda10) at kernel/qwidget.cpp:9019
#57 0x00007fb1cc938e73 in QApplicationPrivate::notify_helper (this=this@entry=0x55e4843fbad0, receiver=receiver@entry=0x55e4849f34d0, e=e@entry=0x7ffc67edda10) at kernel/qapplication.cpp:3632
#58 0x00007fb1cc9405ad in QApplication::notify (this=<optimized out>, receiver=0x7ffc67edd710, e=0x7ffc67edda10) at kernel/qapplication.cpp:3076
#59 0x00007fb1cbc87f48 in QCoreApplication::notifyInternal2 (receiver=0x55e4849f34d0, event=0x7ffc67edda10) at kernel/qcoreapplication.cpp:1063
#60 0x00007fb1cc93ee6a in QApplicationPrivate::sendMouseEvent (receiver=0x55e4849f34d0, event=event@entry=0x7ffc67edda10, alienWidget=0x0, nativeWidget=0x55e4849f34d0, buttonDown=buttonDown@entry=0x7fb1cce75330 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#61 0x00007fb1cc9923a0 in QWidgetWindow::handleMouseEvent (this=0x55e485e960f0, event=0x7ffc67eddcc0) at kernel/qwidgetwindow.cpp:580
#62 0x00007fb1cc9951fe in QWidgetWindow::event (this=0x55e485e960f0, event=0x7ffc67eddcc0) at kernel/qwidgetwindow.cpp:300
#63 0x00007fb1cc938e73 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55e485e960f0, e=0x7ffc67eddcc0) at kernel/qapplication.cpp:3632
#64 0x00007fb1cbc87f48 in QCoreApplication::notifyInternal2 (receiver=0x55e485e960f0, event=0x7ffc67eddcc0) at kernel/qcoreapplication.cpp:1063
#65 0x00007fb1cc2e5a08 in QGuiApplicationPrivate::processMouseEvent (e=0x55e48478e4f0) at kernel/qguiapplication.cpp:2275
#66 0x00007fb1cc2c74fc in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#67 0x00007fb1b50724ce in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#68 0x00007fb1c648d4cf in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#69 0x00007fb1c64e14e8 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#70 0x00007fb1c648ac03 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#71 0x00007fb1cbcd46f8 in QEventDispatcherGlib::processEvents (this=0x55e4844d03d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#72 0x00007fb1cbc869b2 in QEventLoop::exec (this=this@entry=0x7ffc67ede050, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#73 0x00007fb1cbc8e544 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#74 0x000055e483f61225 in main (argc=<optimized out>, argv=<optimized out>) at /usr/include/c++/11/bits/unique_ptr.h:172
[Inferior 1 (process 54324) detached]

Reported using DrKonqi
This report was filed against 'kde' because the product 'kmymoney4' could not be located in Bugzilla. Add it to drkonqi's mappings file!
Comment 1 Thomas Baumgart 2021-05-23 20:14:56 UTC
This seems to be a specific Fedora problem (already reported on https://bugzilla.redhat.com/show_bug.cgi?id=1910478). The crash happens way inside the nettle crypto library (where we have AqBanking, Gwenhywfar and GnuTLS between KMyMoney and that library). Not much we can do about it in KMyMoney.

One thing I found and which may be related: https://bugzilla.redhat.com/show_bug.cgi?id=1942533
Comment 2 postix 2021-11-06 21:17:08 UTC
*** Bug 430849 has been marked as a duplicate of this bug. ***
Comment 3 postix 2021-11-06 21:19:20 UTC
*** Bug 430752 has been marked as a duplicate of this bug. ***
Comment 4 Dawid Wróbel 2021-11-24 17:13:35 UTC
*** Bug 446028 has been marked as a duplicate of this bug. ***