Bug 409471

Summary: [DrKonqi] crash on exit: message handler race condition
Product: [Applications] drkonqi Reporter: RJVB <rjvbertin>
Component: generalAssignee: 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

Description RJVB 2019-07-03 17:40:52 UTC
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
Comment 1 RJVB 2019-07-03 17:41:30 UTC
Created attachment 121311 [details]
simple fix