[GHC] #4391: forkIO threads do not properly save/restore the floating point environment

GHC cvs-ghc at haskell.org
Thu Nov 18 12:10:52 EST 2010


#4391: forkIO threads do not properly save/restore the floating point environment
---------------------------------+------------------------------------------
    Reporter:  draconx           |        Owner:              
        Type:  bug               |       Status:  new         
    Priority:  normal            |    Milestone:  7.2.1       
   Component:  Runtime System    |      Version:  6.12.3      
    Keywords:                    |     Testcase:              
   Blockedby:                    |   Difficulty:              
          Os:  Unknown/Multiple  |     Blocking:              
Architecture:  x86_64 (amd64)    |      Failure:  None/Unknown
---------------------------------+------------------------------------------

Comment(by draconx):

 Using bound threads is an option, but this needs to be explicitly spelled
 out
 in the documentation: every single floating point operation across the
 entire
 program must be performed from bound threads.  It would be interesting to
 see
 how much code on hackage is broken in this regard...

 Currently, if any unbound thread performs any floating point operation
 (perhaps
 deep in an external library or foreign call), floating point operations in
 _all_ threads (even bound ones!) are subject to subtle and rare races.

 This behaviour is not at all obvious or discoverable.

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


More information about the Glasgow-haskell-bugs mailing list