Summary: | [DrKonqi] crash on exit: message handler race condition | ||
---|---|---|---|
Product: | [Applications] drkonqi | Reporter: | RJVB <rjvbertin> |
Component: | general | Assignee: | Unassigned bugs mailing-list <unassigned-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | sitter |
Priority: | NOR | ||
Version: | 5.16.2 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | All | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
backtrace
simple fix |
Created attachment 121311 [details]
simple fix
|
Created attachment 121310 [details] backtrace SUMMARY After a recent commit, DrKonqi installs a message handler of its own using qInstallMessageHandler(). It does not uninstall that handler when it is being deleted. As a result any debug/warning/logging messages generated later on during the global destruction phase can cause the crash shown in the attached backtrace. STEPS TO REPRODUCE 1. install (say) a development Qt version that prints very late debug output during application exit 2. trigger DrKonqi 3. quit DrKonqi OBSERVED RESULT A crash; DrKonqi probably triggers on itself EXPECTED RESULT No crash. ADDITIONAL INFORMATION