Bug 511813 - Crash after completed online transaction with HBCI
Summary: Crash after completed online transaction with HBCI
Status: RESOLVED FIXED
Alias: None
Product: kmymoney
Classification: Applications
Component: onlinebanking (other bugs)
Version First Reported In: 5.2.1
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-11-08 09:41 UTC by Stefan Vater
Modified: 2026-01-08 11:32 UTC (History)
1 user (show)

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


Attachments
debug trace from gdb (36.06 KB, text/plain)
2025-11-30 10:56 UTC, Stefan Vater
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Vater 2025-11-08 09:41:49 UTC
SUMMARY

Every time kmymoney crashes after a successful online transaction with HBCI.

STEPS TO REPRODUCE
1. start new transaction, fill form in popup window and press "send"
2. input HBCI access password in new window "Pasworteingabe" for key file, press OK
3. press close button of log window after successful transaction

OBSERVED RESULT

kmymoney asks if it should save changes before closing, OS says that app is not resonding and kmymoney crashes in the end

EXPECTED RESULT

kmymoney continues operating

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20251031
KDE Plasma Version: 6.5.1
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0
Kernel Version: 6.17.6-1-default (64-bit)
Graphics Platform: Wayland

ADDITIONAL INFORMATION

Retrieving new transactions via HBCI works as expected. This issue started with version 5.2.0 of KMM
Comment 1 Stefan Vater 2025-11-08 10:17:27 UTC
That's what I get on the console at the time of the crash:

[...]
QMetaObject::invokeMethod: No such method QLabel::copy()
Sending  1  job(s) to online plugin  "kbanking"
Enqueue:  0
3:2025-11-08 10:15:44: cppgui.cpp:  141: CppGuiLinker::OpenDialog
7:2025-11-08 10:15:44:aqhbci started
3:2025-11-08 10:15:45:aqhbci jobqueue_tomsg.c:  163: Preparing jobs
3:2025-11-08 10:15:45:aqhbci jobqueue_tomsg.c:  173: Preparing JobDialogInit
[...]
7:2025-11-08 10:16:01:aqhbci stopped
KMyMoneyPlugin::KMMStatementInterface::import start
Importing statement for  ""
Processing transactions ()
Processing transactions done ()
Importing statement for '' done
Rollback transaction with now 4 commands on stack at index 4
Rolled back transaction with now 4 commands on stack at index 3

[1]+  Speicherzugriffsfehler     (Speicherabzug geschrieben) kmymoney
Comment 2 Stefan Vater 2025-11-30 07:19:53 UTC
Any help I can give about this issue?

This even happens, if I just start a new transaction, choose the bank account from which I want to send the money with HBCI and edit the "purpose" field (Verwendungszweck). If I then hit the "cancel" button, kmymoney crashes. Not sure if that is the same crash...
Comment 3 Thomas Baumgart 2025-11-30 08:38:32 UTC
Can you provide a backtrace for the crash happening after entering the purpose field and pressing Abort? If you don't know how to do that, please let us know.
Comment 4 Stefan Vater 2025-11-30 10:56:57 UTC
Created attachment 187264 [details]
debug trace from gdb

This is the debug trace I got from gdb. Does that help?
Comment 5 Thomas Baumgart 2025-11-30 15:14:24 UTC
Unfortunately, no :( kmymoney is mentioned only twice but not in a reference to some KMyMoney code. Would be interesting to see if a recently added patch (https://invent.kde.org/office/kmymoney/-/commit/30c9dd75) solves the problem
Comment 6 Stefan Vater 2025-12-03 08:07:15 UTC
Is there any chance, I can improve the output of the backtrace?

I tried to build kmm locally. However, I am not sure, if I did it properly. I did:

cmake -B build -S . -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_WITH_QT6=ON -DBUILD_SHARED=OFF
cmake --build build

but when I run kmm, it shows messages like

kf.coreaddons: The plugin "/usr/lib64/qt6/plugins/kmymoney_plugins/reportsview.so" explicitly states an 'Id' in the embedded metadata. This value should be removed, the resulting pluginId will not be affected by it

Does it still take the globally installed plugins? How can I prevent this?

And right now it crashes with
terminate called after throwing an instance of 'MyMoneyException'
  what():  Illegal settings when calling doForecast. Settings must be higher than 0 /home/svater/kdecode/kmymoney/kmymoney/mymoney/mymoneyforecast.cpp:1027
KCrash: appFilePath points to nullptr!
KCrash: Application '<unknown>' crashing... crashRecursionCounter = 2
Comment 7 Bug Janitor Service 2025-12-18 03:46:12 UTC
๐Ÿ›๐Ÿงน โš ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Thomas Baumgart 2025-12-18 08:17:32 UTC
The new crash may be related by a mixture of the installed and self-build version. I never had full success to run two different versions side-by-side. Another cmake option I would add is -DCMAKE_BUILD_TYPE=Debug and then run the application under gdb control to get access to backtraces.
Comment 9 Bug Janitor Service 2026-01-02 04:00:29 UTC
๐Ÿ›๐Ÿงน โš ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME.

For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging.

Thank you for helping us make KDE software even better for everyone!
Comment 10 Stefan Vater 2026-01-08 08:32:18 UTC
I am not sure, which infos you would like to have. The crash persists also with a current install from git.

Would it make sense to add some manual output into the code to see at which point the crash happens? I never did this in such a complex program....
Comment 11 Stefan Vater 2026-01-08 09:11:33 UTC
I wonder, if the crash could be related to a problem reported last year: https://invent.kde.org/office/kmymoney/-/commit/21029587f2d43cd964f711d0e76361830d090083
Comment 12 Stefan Vater 2026-01-08 09:47:52 UTC
I just checked if the self compiled kmymoney really uses its own plugins and it seems that it still used the ones from the system (rpm package).

So I hard copied the compiled plugin files to the location of the system plugin files. A first test shows that the crash is not present any more and it seems to be fixed. I am really sorry for the noise. I set the status to RESOLVED.

Is there already some expected date for a new version of kmymoney, which has the fix included?
Comment 13 Ralf Habacker 2026-01-08 10:07:31 UTC
(In reply to Stefan Vater from comment #12)
> I just checked if the self compiled kmymoney really uses its own plugins and
> it seems that it still used the ones from the system (rpm package).
> 
Setting QT_PLUGIN_PATH to the lib dir below the build root can help here. 

Then run 

gdb <build-dir>/bin/kymoney 
b main
r
info sharedlibrary

to see the list of loaded plugins and there location.
Comment 14 Thomas Baumgart 2026-01-08 10:20:14 UTC
Well, since you build KMyMoney yourself, you can simply remove the distro provided package and replace it with your own using the following commands.

$ sudo rpm -e kmymoney

and then checkout the 5.2 branch and build it using

$ cd <whereever-your-kmymoney-source-is>
$ rm -rf build     # get rid of previous build
$ git switch 5.2   # switch to the stable branch
$ git pull              # get the latest fixes
$ cmake -B build -S . -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_WITH_QT6=ON
$ cmake --build build
$ cd build
$ sudo make install
$ cd ..

to uninstall such a version do inside the source directory

$ sudo xargs rm -rf < build/install_manifest.txt
Comment 15 Ralf Habacker 2026-01-08 11:32:11 UTC
Git commit 170808dbd0bd0d1242633c4e4ee113410f79600f by Ralf Habacker.
Committed on 08/01/2026 at 11:31.
Pushed by habacker into branch 'master'.

Expand debug messages when loading plugins

When loading plugins, display version information and a note
about version conflicts. This can help users see inappropriate
plugins more easily.

M  +5    -3    kmymoney/pluginloader.cpp

https://invent.kde.org/office/kmymoney/-/commit/170808dbd0bd0d1242633c4e4ee113410f79600f