Opened 13 years ago
Closed 12 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)
by , 13 years ago
| Attachment: | segfault-handling-poc-v1.patch added |
|---|
comment:4 by , 13 years ago
| Owner: | set to |
|---|---|
| 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 by , 13 years ago
| Milestone: | 0.26 → 0.26.1 |
|---|
comment:6 by , 12 years ago
| Resolution: | → Fixed |
|---|---|
| Status: | assigned → closed |
This is well past Aug 1, 2012. Let's consider this fixed.

Proof-of-concept fix.