| Summary: | [DrKonqi] crash on exit: message handler race condition | ||
|---|---|---|---|
| Product: | [Applications] drkonqi | Reporter: | RJVB <rjvbertin> |
| Component: | general | Assignee: | Unassigned bugs <unassigned-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | sitter |
| Priority: | NOR | ||
| Version First Reported In: | 5.16.2 | ||
| Target Milestone: | --- | ||
| Platform: | Compiled Sources | ||
| OS: | All | ||
| Latest Commit: | Version Fixed/Implemented 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