#7323: decoding GADTs gives internal error: stg_ap_v_ret
-------------------------------+--------------------------------------------
Reporter: heisenbug | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.8.1
Component: Compiler | Version: 7.7
Keywords: | Os: Linux
Architecture: x86_64 (amd64) | Failure: Runtime crash
Difficulty: Unknown | Testcase: yes
Blockedby: | Blocking:
Related: |
-------------------------------+--------------------------------------------
Comment(by heisenbug):
It turns out that simply mixing GADTs + unsafeCoerce triggers the bug.
(see freshly attached.. crash.hs) The order of the GADT constructors
(being defined) seems to matter, swapping them changes a crash to some
(apparently) undefined behaviour (neither output, nor pattern match
failure).
>>> I suspect that unsafeCoerce does not preserve pointer tagging. <<<
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7323#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs