Details
-
Bug
-
Resolution: Done
-
Not Evaluated
-
None
-
5.8
-
None
-
Happens on Mac and Linux; Qt 5.8.0 and KF5 Frameworks 5.38.0 . The frameworks version should not be related but the issue is a real heisenbug that will disappear when you look at it too directly (like by running through valgrind).
Description
The QDbusConnectionPrivate can attempt to disconnect style instances after they have been deleted, which evidently leads to a crash. As best as I can tell this happens before the style plugin itself is unloaded.
I'm observing this with the QtCurve style (https://cgit.kde.org/qtcurve.git) and a single application which had not been maintained for a few years and possibly never ported completely to Qt5 (https://cgit.kde.org/rekonq.git?h=frameworks). I do not see anything obviously wrong either in that application or in the style which already takes care to disconnect itself from the dbus service (in reaction to the aboutToQuit signal) as well as from the signal/slot mechanism (in the dtor).
Rekonq appeared to use the kdeinit startup trick under KDE4 and still builds as a shared library that is however called directly via a thin wrapper executable that simply transfers control to kdemain(). The KInit framework is thus not used, but the crash doesn't occur when I "launch" the rekonq library via kwrapper5 or kdeinit5_wrapper.