[GHC] #4391: forkIO threads do not properly save/restore the
floating point environment
GHC
cvs-ghc at haskell.org
Thu Nov 18 18:17:05 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):
The thing is, it _does_ affect "ordinary" floating point operations.
Ordinary floating point operations can raise exceptions, which will then
leak
to other threads. Similarly, ordinary floating point operations depend on
the
rounding mode, which is leaked from other threads.
For example, if any unbound thread anywhere in the program does something
innocuous like a single floating point addition, then any attempt to
handle
exceptions elsewhere in the program is subject to races with that unbound
thread.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/4391#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list