[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 <mail@…>): In [changeset:"9f10d5ba0fae4357f962032dda1be5316c16db1b/testsuite"]: {{{ #!CommitTicketReference repository="testsuite" revision="9f10d5ba0fae4357f962032dda1be5316c16db1b" Mark tests as expect_broken when borken with -DDEBUG The related bugs are #8553 and #8525. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8553#comment:3> 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 Simon Peyton Jones <simonpj@…>): In [changeset:"985663ea47487a9e567814ba000e81d65358bf02/ghc"]: {{{ #!CommitTicketReference repository="ghc" revision="985663ea47487a9e567814ba000e81d65358bf02" Fix type-equality in the type checker (fixes Trac #8553) For horrible reasons (Note [Comparison with OpenTypeKind] in Type), the function Type.eqType currently equates OOpenKind with *. This may or may not be a good idea (it's certainly a revolting one) but it DOES NOT WORK in the type checker, which *does* need to distinguish OpenKind and *. Rather than solve the underlying problem (I have some ideas) I just introduced a new, and very short, simple, straightforward function TcType.tcEqType to do the job. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8553#comment:4> 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: --------------------------------------------+------------------------------ 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 <mail@…>): In [changeset:"81a49bcc84f27245d11c5b151d41b2026a5a6602/testsuite"]: {{{ #!CommitTicketReference repository="testsuite" revision="81a49bcc84f27245d11c5b151d41b2026a5a6602" T5246 and T7474 back working with -DDEBUG thanks to SPJ'S fixes for #8553 in 985663ea47487a9e567814ba000e81d65358bf02 }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8553#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC