Summary: | KDBusService constructor is crashing on calling exit() | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kdbusaddons | Reporter: | Jan Grulich <jgrulich> |
Component: | general | Assignee: | David Faure <faure> |
Status: | CONFIRMED --- | ||
Severity: | crash | CC: | germano.massullo, kdelibs-bugs, martin.sandsmark, rdieter |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Jan Grulich
2015-11-18 15:07:14 UTC
*** Bug 355479 has been marked as a duplicate of this bug. *** Copying in my comment on https://git.reviewboard.kde.org/r/127625/ : It seems like it is this that it happening: https://bugreports.qt.io/browse/QTBUG-48709 From my understanding it can't really be fixed, short of somehow getting KDBusService to delete the QApplication before calling exit(), which might get nasty with QApplications allocated on the stack? In any case it seems to be a general bug with KDBusService and how it is supposed to be used, not something that we can easily fix in konsole. See also my workaround here: https://git.reviewboard.kde.org/r/127626/ It should be fixed in KDBusService, using a similar workaround in all apps that use it is not feasible. I'm not sure how it can be worked around, though, it can't just delete the QApplication itself, since pretty much everyone allocate it on the stack. Thank you for the crash report. As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you. It is an architectural problem in KDBusService, so it is still not fixed (still calling exit directly e. g. here: https://invent.kde.org/frameworks/kdbusaddons/-/blob/master/src/kdbusservice.cpp#L211) The only way to fix it that I know is for the API to be fundamentally changed so that the calling application is itself responsible for exiting. |