#2858: Segmentation fault due to race between IO manager and installSignals.
------------------------------------------------+---------------------------
Reporter: dsh | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 6.10.2
Component: libraries/base | Version: 6.10.1
Severity: normal | Resolution:
Keywords: posix signal threaded IOmanager | Difficulty: Unknown
Testcase: | Os: Linux
Architecture: Unknown/Multiple |
------------------------------------------------+---------------------------
Comment (by dsh):
I see, I got them infrequently too..[[BR]]
For me the problem looks like[[BR]]
1. There could be 2 commands (I mean bytes) in IO manager pipe for the
same signal,
received when the handler was user defined; [[BR]]
2. Then IO manager scheduled the handler (executed first command), which
invalidated 'signal_handlers' table (replacing StablePtr with special
constant STG_SIG_DFL)[[BR]]
3. It is incorrect for IO manager to schedule process the second command
using 'signal_handlers' table.[[BR]]
Quick fix would be always to check the 'signal_handlers' table entry in IO
manager.[[BR]]
It would not be worse than ignoring signals after space overflow in non-
threaded version[[BR]]
Dmitry[[BR]]
P.S. Could you try random small delays?
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2858#comment:7>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs