[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