Opened 12 years ago
Closed 11 years ago
#10841 closed Bug Report - General (Fixed)
SignalHandling returns from SEGFAULT signal handler
Reported by: | danielk | Owned by: | beirdo |
---|---|---|---|
Priority: | minor | Milestone: | 0.26.1 |
Component: | MythTV - General | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
If you return from a SIGFAULT, SIGFPE, SIGBUS, or SIGILL the offending code is re-run and the signal is raised again.
If the fault occurs in the the UI thread where SignalHandler::handleSignal() is run in it will never run since we never get the opportunity to continue on to where the QSocketNotifier events are handled.
This leads the write() in SignalHandler::signalHandler() to block forever, deadlocking the UI thread.
Attachments (1)
Change History (7)
Changed 12 years ago by
Attachment: | segfault-handling-poc-v1.patch added |
---|
comment:4 Changed 12 years ago by
Owner: | set to beirdo |
---|---|
Status: | new → assigned |
I think what you have so far will work, but I'm considering restructuring it so the signal handlers are in their own thread, which should simplify things a bit. If this hasn't been changed by Aug 1, please remind me to close it as fixed :)
comment:5 Changed 11 years ago by
Milestone: | 0.26 → 0.26.1 |
---|
comment:6 Changed 11 years ago by
Resolution: | → Fixed |
---|---|
Status: | assigned → closed |
This is well past Aug 1, 2012. Let's consider this fixed.
Proof-of-concept fix.