[GHC] #926: infinite loop in ShutdownIOManager()

GHC trac at galois.com
Thu Feb 1 06:58:31 EST 2007


#926: infinite loop in ShutdownIOManager()
----------------------------+-----------------------------------------------
 Reporter:  guest           |          Owner:  simonmar
     Type:  bug             |         Status:  new     
 Priority:  lowest          |      Milestone:  _|_     
Component:  Runtime System  |        Version:  6.5     
 Severity:  normal          |     Resolution:          
 Keywords:                  |     Difficulty:  Unknown 
 Testcase:                  |   Architecture:  x86     
       Os:  Windows         |  
----------------------------+-----------------------------------------------
Changes (by simonmar):

  * milestone:  6.6.1 => _|_
  * priority:  normal => lowest

Comment:

 Fixed in the threaded RTS:

 {{{
 Thu Feb  1 03:40:47 PST 2007  Simon Marlow <simonmar at microsoft.com>
   * Partial fix for #926
   It seems that when a program exits with open DLLs on Windows, the
   system attempts to shut down the DLLs, but it also terminates (some
   of?) the running threads.  The RTS isn't prepared for threads to die
   unexpectedly, so it sits around waiting for its workers to finish.
   This bites in two places: ShutdownIOManager() in the the unthreaded
   RTS, and shutdownCapability() in the threaded RTS.  So far I've
   modified the latter to notice when worker threads have died
   unexpectedly and continue shutting down.  It seems a bit trickier to
   fix the unthreaded RTS, so for now the workaround for #926 is to use
   the threaded RTS.
 }}}

 I'll leave the bug open, but at a low priority since there are good
 workarounds.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/926>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list