Non-deterministic pure code in Data.Typeable
Comparing the result of 'typeOf ()' performed in different threads sometimes yields true and sometimes false. To reproduce compile the attached source file with
ghc-7.0.3 -threaded -rtsopts TypeRepEq.hs
And execute it in a shell loop. Looping the inside the Haskell program will usually not show the bug.
while true ; do ./TypeReqEq +RTS -N ; done
Every program run will print either "Ok" or "typeOf () /= typeOf ()". The latter would indicate the bug.
The issue has been discussed on the glasgow-haskell-users mailing list in this thread: http://thread.gmane.org/gmane.comp.lang.haskell.glasgow.user/20754
Different people said that they can reproduce the bug on Mac OS X and Linux with different versions of GHC 6.12.x and 7.0.x. GHC 7.2 does not show the bug.
Trac metadata
Trac field | Value |
---|---|
Version | 7.0.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | libraries/base |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | jmg@gaillourdet.net |
Operating system | |
Architecture |