#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

Reply via email to