#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

Reply via email to