Summary: | kmymoney5 crashes shortly after launch | ||
---|---|---|---|
Product: | [Applications] kmymoney | Reporter: | Robby Engelmann <robby.engelmann> |
Component: | general | Assignee: | KMyMoney Devel Mailing List <kmymoney-devel> |
Status: | RESOLVED FIXED | ||
Severity: | crash | ||
Priority: | VHI | ||
Version: | git (master) | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/kmymoney/0f9b4f8b927679339de77d447d98b168363da00b | Version Fixed In: | 5.0.0 |
Sentry Crash Report: |
Description
Robby Engelmann
2018-01-07 07:01:45 UTC
I can duplicate the behavior by starting the application, opening the ledger and selecting "Account/Edit..." boom. It seems that some part of the code refers to a second (yet uninitialized) KMyMoneySettings object. As far as my analysis goes this is caused some recent change that causes the kmm_config library to be included in a few shared objects. This causes the duplicates not to be initialized which results in the crash. Nothing we can bypass since this happens in generated code. Git commit 0f9b4f8b927679339de77d447d98b168363da00b by Łukasz Wojniłowicz. Committed on 07/01/2018 at 16:08. Pushed by wojnilowicz into branch 'master'. Specify the config file before construction time It seems that KMyMoneySettings aren't as shared as I thought. It seems that call to KMyMoneySettings in every translational unit uses different instance. Remaining at old code would require to create instance of config file in every translational unit in which KMyMoneySettings is used and not only in main function. That misses the point, so config filename is hardcoded as before in kcfg file. FIXED-IN:5.0 M +1 -1 kmymoney/kmymoney.kcfg M +0 -3 kmymoney/main.cpp https://commits.kde.org/kmymoney/0f9b4f8b927679339de77d447d98b168363da00b |