[GHC] #8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809

#8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809 -------------------------------------+------------------------------------- Reporter: nomeata | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 7.6.3 checker) | Operating System: Unknown/Multiple Keywords: | Type of failure: Compile-time Architecture: Unknown/Multiple | crash Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | -------------------------------------+------------------------------------- With current master (9c2dade94fae5f4fe19cd972ca1f1049c633e4ed) I get {{{ [1 of 1] Compiling ShouldCompile ( ../ghc/gadt6.hs, ../ghc/gadt6.o ) ghc-stage2: panic! (the 'impossible' happened) (GHC version 7.7.20131121 for x86_64-unknown-linux): ASSERT failed! file compiler/typecheck/TcMType.lhs line 809 [W] cobox_aBx{v} [lid] :: t_aBv{tv} [tau[0]] ghc-prim:GHC.Types.~{(w) tc 31Q} t_aBu{tv} [tau[0]] (CIrredEvCan) }}} (And it took me a while to figure out that it was not my code that was introducing the bug.) According to `git log -L 809,809:compiler/typecheck/TcMType.lhs` (a useful feature) the history of the ASSERT is: * SPJ, “Accommodate Derived constraints in two places”, Sep 17, 8cfbdccb7f8716c2b6b13b3c7884f52b1087d782 * SPJ, “Fix an ASSERT”, Oct 1 2012, adb6bcb7b85410dd42828a4824962ce9c6e9d667 * SPJ, “Tidy up and simplify TcMType.zonkFlats”, Sep 17, 2012, bd6b183e092fc7667fc55b3aa15d857f257ec73f -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8553 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809 --------------------------------------------+------------------------------ Reporter: nomeata | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time crash | Unknown/Multiple Test Case: gadt6 | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: --------------------------------------------+------------------------------ Changes (by nomeata): * testcase: => gadt6 * version: 7.6.3 => 7.7 Comment: Forgot to mention; This occurs when compiling source:testsuite/tests/gadt/gadt6.hs -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8553#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809 --------------------------------------------+------------------------------ Reporter: nomeata | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time crash | Unknown/Multiple Test Case: gadt6 T7474 T5246 | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: --------------------------------------------+------------------------------ Changes (by nomeata): * testcase: gadt6 => gadt6 T7474 T5246 Comment: (This also affects `TEST="gadt6 T7474 T5246"`) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8553#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809
--------------------------------------------+------------------------------
Reporter: nomeata | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Type checker) | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time crash | Unknown/Multiple
Test Case: gadt6 T7474 T5246 | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by Joachim Breitner

#8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809
--------------------------------------------+------------------------------
Reporter: nomeata | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler (Type checker) | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time crash | Unknown/Multiple
Test Case: gadt6 T7474 T5246 | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by Simon Peyton Jones

#8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809 --------------------------------------------+------------------------------ Reporter: nomeata | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler (Type checker) | Version: 7.7 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time crash | Unknown/Multiple Test Case: gadt6 T7474 T5246 | Difficulty: Unknown Blocking: | Blocked By: | Related Tickets: --------------------------------------------+------------------------------ Changes (by simonpj): * status: new => closed * resolution: => fixed Comment: This really was a bug, now fixed. (The particular manifestation was that `TcCanonical.reOrient` didn't fire when it should have done so.) I don't know how to test this; it requires the DEBUG compiler. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8553#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#8553: ASSERT failed compiler/typecheck/TcMType.lhs line 809
--------------------------------------------+------------------------------
Reporter: nomeata | Owner:
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler (Type checker) | Version: 7.7
Resolution: fixed | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time crash | Unknown/Multiple
Test Case: gadt6 T7474 T5246 | Difficulty: Unknown
Blocking: | Blocked By:
| Related Tickets:
--------------------------------------------+------------------------------
Comment (by Joachim Breitner
participants (1)
-
GHC