#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 Glasgow-haskell-bugs@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs