
#14777: panic -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Keywords: | Operating System: Linux Architecture: | Type of failure: Compile-time Unknown/Multiple | crash or panic Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- The error message I got from GHC was: {{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`. The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1. I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by zilinc: Old description:
The error message I got from GHC was:
{{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}}
How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`.
The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92...
It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1.
I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case.
New description: The error message I got from GHC was: {{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. If I change it to `f x = error "Oops!", it's OK. `The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`. The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1. I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by zilinc: Old description:
The error message I got from GHC was:
{{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}}
How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. If I change it to `f x = error "Oops!", it's OK. `The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`.
The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92...
It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1.
I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case.
New description: The error message I got from GHC was: {{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. If I change it to `f x = error "Oops!", it's OK. `The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`. The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1. I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): If you were able to provide an easily-reproducible test case, it'd make it much more likely that we can fix it. Thanks! -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by zilinc): I'm been trying to do that, but strangely any random changes to the code could potentially void the bug. I have no clue how to proceed. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by mpickering): I can't reproduce this. Please can you provide exact reproduction instructions? Steps I took: {{{ git clone https://github.com/NICTA/cogent.git cd cogent/cogent git reset --hard 92c40530cbcbac77469865e096dab3228a2fb92f git clone https://gist.github.com/e6fc9e8a254d795bbd8ec476ca9fc115.git nix-scripts cp nix-scripts/* . nix-shell cabal configure cabal build }}} Then the build completes successfully. Here are the nix files. https://gist.github.com/e6fc9e8a254d795bbd8ec476ca9fc115 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by zilinc): Thank you providing the steps. If you could apply the following change to the code, you might be able to reproduce the panic. {{{ diff --git a/cogent/src/Cogent/Desugar.hs b/cogent/src/Cogent/Desugar.hs index bdea312..6a6f308 100644 --- a/cogent/src/Cogent/Desugar.hs +++ b/cogent/src/Cogent/Desugar.hs @@ -479,7 +479,7 @@ desugarExpr (B.TE t@(S.RT (S.TVariant ts)) (S.Con c es) l) = do desugarExpr (B.TE _ (S.Seq e1 e2) _) = do v <- freshVar E <$> (Let v <$> desugarExpr e1 <*> withBinding v (desugarExpr e2)) -desugarExpr (B.TE _ (S.Lam p mt e) _) = undefined +desugarExpr (B.TE _ (S.Lam p mt e) _) = __impossible "xx" desugarExpr (B.TE _ (S.App e1 e2) _) = E <$> (App <$> desugarExpr e1 <*> desugarExpr e2) desugarExpr (B.TE _ (S.If c [] th el) _) = E <$> (If <$> desugarExpr c <*> desugarExpr th <*> desugarExpr el) desugarExpr (B.TE _ (S.If c vs th el) _) = do }}} Replying to [comment:5 mpickering]:
I can't reproduce this. Please can you provide exact reproduction instructions?
Steps I took:
{{{ git clone https://github.com/NICTA/cogent.git cd cogent/cogent git reset --hard 92c40530cbcbac77469865e096dab3228a2fb92f git clone https://gist.github.com/e6fc9e8a254d795bbd8ec476ca9fc115.git nix-scripts cp nix-scripts/* . nix-shell cabal configure cabal build }}}
Then the build completes successfully.
Here are the nix files. https://gist.github.com/e6fc9e8a254d795bbd8ec476ca9fc115
-- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by zilinc: Old description:
The error message I got from GHC was:
{{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}}
How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. If I change it to `f x = error "Oops!", it's OK. `The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`.
The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92...
It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1.
I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case.
New description: The error message I got from GHC was: {{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. If I change it to `f x = error "Oops!"`, it's OK. The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`. The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1. I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by mpickering): Thanks, I can reproduce this now. {{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XI02 Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by zilinc): More experiments: after I made the following changes: {{{ diff --git a/cogent/src/Cogent/Desugar.hs b/cogent/src/Cogent/Desugar.hs index bdea312..3b8440d 100644 --- a/cogent/src/Cogent/Desugar.hs +++ b/cogent/src/Cogent/Desugar.hs @@ -175,9 +175,11 @@ pragmaToNote (_:pragmas) fn note = pragmaToNote pragmas fn note -- ----------------------------------------------------------------------------- lamLftTlv :: S.TopLevel S.RawType B.TypedPatn B.TypedExpr - -> DS t v (S.TopLevel S.RawType B.TypedPatn B.TypedExpr) -lamLftTlv (S.FunDef fn sigma alts) = undefined + -> DS t v (S.TopLevel S.RawType B.TypedPatn B.TypedExpr) +lamLftTlv (S.FunDef fn sigma alts) = S.FunDef fn sigma <$> mapM lamLftAlt alts +lamLftAlt :: S.Alt B.TypedPatn B.TypedExpr -> DS t v (S.Alt B.TypedPatn B.TypedExpr) +lamLftAlt (S.Alt p l e) = S.Alt p l <$> lamLftExpr e lamLftExpr :: B.TypedExpr -> DS t v B.TypedExpr lamLftExpr (B.TE t (S.Lam p mt e) l) = do @@ -192,6 +194,7 @@ lamLftExpr (B.TE t (S.Lam p mt e) l) = do let fn = S.FunDef f (S.PT [] t) [S.Alt (B.TP (S.PIrrefutable p) noPos) Regular e] -- no let-generalisation lftFun %= (fn:) return $ B.TE t (S.TypeApp f [] S.NoInline) l +lamLftExpr (B.TE t e l) = B.TE t <$> traverse lamLftExpr e <*> pure l -- freeVars :: B.TypedExpr -> Vec v VarName -> [(VarName, S.RawType)] -- freeVars (B.TE t (S.Var v) _) vs = maybeToList $ case findIx v vs of Just i -> Nothing; Nothing -> Just (v,t) @@ -479,7 +482,7 @@ desugarExpr (B.TE t@(S.RT (S.TVariant ts)) (S.Con c es) l) = do desugarExpr (B.TE _ (S.Seq e1 e2) _) = do v <- freshVar E <$> (Let v <$> desugarExpr e1 <*> withBinding v (desugarExpr e2)) -desugarExpr (B.TE _ (S.Lam p mt e) _) = undefined +desugarExpr (B.TE _ (S.Lam p mt e) _) = __impossible "desugarExpr (Lam)" desugarExpr (B.TE _ (S.App e1 e2) _) = E <$> (App <$> desugarExpr e1 <*> desugarExpr e2) desugarExpr (B.TE _ (S.If c [] th el) _) = E <$> (If <$> desugarExpr c <*> desugarExpr th <*> desugarExpr el) desugarExpr (B.TE _ (S.If c vs th el) _) = do }}} It doesn't crash with the `__impossible`, but this time it crashes with the `undefined`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by zilinc): For quite a few times, after I change some code, if it crashes, I can always fix it by changing one `__impossible` to `undefined` or v.v. I'm unsure whether it's a coincidence or not. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tdammers): I tried to reproduce this on GHC 8.2.1, but it builds cleanly, both with `__impossible` and `undefined`. I'm using the current `master` branch though, because the specified commit doesn't seem to exist in any of the exposed branches anymore. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

I tried to reproduce this on GHC 8.2.1, but it builds cleanly, both with `__impossible` and `undefined`. I'm using the current `master` branch
#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by zilinc): Replying to [comment:11 tdammers]: though, because the specified commit doesn't seem to exist in any of the exposed branches anymore. The commit is still there. But I totally believe that you could not reproduce it on an arbitrary commit, otherwise it would be easier to figure out what crashed the compiler. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Description changed by zilinc: Old description:
The error message I got from GHC was:
{{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}}
How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. If I change it to `f x = error "Oops!"`, it's OK. The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`.
The code can be found here: https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92... and https://github.com/NICTA/cogent/blob/92c40530cbcbac77469865e096dab3228a2fb92...
It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1.
I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case.
New description: The error message I got from GHC was: {{{ <no location info>: error: ghc: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo t_XG0J Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug }}} How was it triggerred (in short): There's function definition, `f x = undefined`. If I change it to `f x = __impossible "Oops!"`, ghc crashes. If I change it to `f x = error "Oops!"`, it's OK. The definition of `__impossible` is simply `__impossible s = error $ s ++ "some text"`. The code can be found here: https://github.com/NICTA/cogent/blob/9420861128a8c445138aa6a48c62140d8c5f72e... and https://github.com/NICTA/cogent/blob/9420861128a8c445138aa6a48c62140d8c5f72e... It seems that this bug is not limited to 8.2.2; it also happened in 8.2.1. I'm happy to provide more information, if someone can advice me what is needed. I'll also try to shrink it to a small test case. -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by sighingnow): * Attachment "T14774.zip" added. Self-contained test case for T14777 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by sighingnow): I have create a self-contained minimal case (still have several files but only depends on base, mtl and containers) that can trigger this panic. I **can** reproduce this panic with ghc-8.2.1 (nightly-2017-11-24) and ghc-8.2.2 (lts-10.3/lts-10.4) but **cannot** with ghc-8.4.1 and ghc-head. Maybe it has already been fixed. I also have test with with ghc-8.0.1 (lts-9.4) but also failed to trigger the panic with this minimal case. Step to reproduce with ghc-8.2.2: unzip and enter `src`, then {{{ stack exec --resolver=lts-10.4 -- ghc Cogent.Desugar -fforce-recomp -O2 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:14 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by monoidal): * Attachment "Cogent.zip" added. smaller reproduction testcase -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by monoidal): I have simplified a bit further, to 2 files; can be reproduced with {{{ ghc-8.2.1 --make Cogent/Desugar -fforce-recomp -O2 }}} This doesn't appear on ghc 8.4 - likely this was fixed. However, the panic depends on many conditions, even small changes to code can make it disappear, so it might be worth further investigation. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:15 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): I took a peek at monoidal's reproduction, using a devel2 build of 8.2.2 with some extra `HasCallStack`s. Running with Core Lint and `-O2`, I get {{{ [2 of 2] Compiling Cogent.Desugar ( Cogent/Desugar.hs, Cogent/Desugar.o ) WARNING: file compiler/simplCore/OccurAnal.hs, line 69 Glomming in Cogent.Desugar: [s55P :-> OnceL!] ghc-stage2: panic! (the 'impossible' happened) (GHC version 8.2.2 for x86_64-unknown-linux): idInfo v_X5mQ Call stack: CallStack (from HasCallStack): prettyCurrentCallStack, called at compiler/utils/Outputable.hs:1133:58 in ghc:Outputable callStackDoc, called at compiler/utils/Outputable.hs:1137:37 in ghc:Outputable pprPanic, called at compiler/basicTypes/Var.hs:526:34 in ghc:Var idInfo, called at compiler/basicTypes/Id.hs:736:37 in ghc:Id idInlinePragma, called at compiler/basicTypes/Id.hs:745:49 in ghc:Id idInlineActivation, called at compiler/simplCore/SimplUtils.hs:923:56 in ghc:SimplUtils getUnfoldingInRuleMatch, called at compiler/simplCore/Simplify.hs:1946:34 in ghc:Simplify tryRules, called at compiler/simplCore/Simplify.hs:1776:22 in ghc:Simplify }}} (I have no idea if the lint warning is relevant). About all I can see about what's gone wrong is that something seems to be treating a type variable as though it were a term variable. That is, if I understand the `Var` type properly. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by dfeuer): * cc: dfeuer (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tdammers): Replying to [comment:16 dfeuer]:
About all I can see about what's gone wrong is that something seems to be treating a type variable as though it were a term variable. That is, if I understand the `Var` type properly.
I've been suspecting some sort of type/term confusion myself - neither `error` nor `undefined` should, conceptually speaking, throw the type checker off guard, and they shouldn't produce different behavior as far as the types are concerned (both `error "Something"` and `undefined` are `forall a. a`, essentially), yet swapping one for the other seems to toggle the panic. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tdammers): Managed to reproduce the panic on 8.2.1; GHC HEAD builds cleanly. Defining the following function in `Surface.hs`, and using that instead of any calls to `__impossible` in `Desugar.hs`, also allows me to build cleanly on 8.2.1: {{{ __impossibleDef :: a __impossibleDef = error "impossible" }}} The unmodified example also builds cleanly without optimizations. Which suggests that some optimization pass produces a situation that hits a bug somewhere, and that the difference between `__impossible` and `__impossibleDef` is enough to trigger or not trigger it. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:19 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tdammers): Further, the following both get rid of the panic: - Moving `__impossible` into `Desugar.hs` - Declaring `{-#INLINE __impossible #-}` Both would lead to GHC inlining `__impossible`. This would explain how it is possible for seemingly benign changes to influence the appearance of the panic - changing small things would change the inlining heuristics, and bug may or may not be hit depending on the intermediate code (Core / STG) being generated. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:20 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by monoidal): * Attachment "Cogent2.zip" added. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by monoidal): I've simplified the code further and the only dependencies now are Prelude, unsafePerformIO and GHC.Exts.lazy. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:21 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by RyanGlScott): Thanks, monoidal. Even if we don't understand what exactly is causing this error at the moment, we should probably check this in as a regression test, yes? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:22 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by monoidal): I think the current test case is still too fragile to be checked in. For example, given the lines: {{{ desugarTlv Include = __impossible "desugarTlv" desugarTlv IncludeStd = __impossible "desugarTlv" desugarTlv FunDef = __impossible "desugarTlv" desugarTlv DocBlock = __impossible "desugarTlv" }}} the panic appears only if all four string literals are the same and nonempty. Removing any of the four lines makes the panic disappear. Removing of identifiers that are nowhere used such as `TypeDec`, `freshVars`, `_varCtx` also stops the panic from happening. The error can also be reproduced with `-O -fliberate-case -fspec-constr` instead of `-O2` but I didn't manage to break down `-O` to individual options and keep the panic. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:23 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by mpickering): `-O2` is precisely `-O -fliberate-case -fspec-constr`. Sometimes the difference between `-O` and `-O2` can be that there there is an extra simplifier pass which runs after `-fliberate-case`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:24 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tdammers): I'm a bit reluctant to brush this off as "the panic doesn't happen anymore on 8.4, so we must have fixed it somehow", because it could just be that we're now optimizing differently and the panic doesn't happen in this particular case anymore, but still might pop up in other situations. So I'm wondering whether we should: a) Just write up a suitable regression test, commit that, and see if it ever triggers again in the future. b) Actively go hunting for the source of this. Upside is that we would know whether the bug has been fixed or just masked; downside is that this is potentially very time consuming. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:25 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I agree with Tobias in comment:25. Fortunately, thanks to all the helpful distillation done by others above, I was able to reproduce the bug, and I know precisely what is going on. Patch coming. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:26 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: simonpj Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * owner: (none) => simonpj * milestone: => 8.6.1 Comment: Simon PJ knows what is going on here and will take over this one. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:27 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: simonpj Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): Something about an accidental coincidence of uniques, and the rule-matcher not cloning the forall'd binders of the rule properly. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:28 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error`
-------------------------------------+-------------------------------------
Reporter: zilinc | Owner: simonpj
Type: bug | Status: new
Priority: normal | Milestone: 8.6.1
Component: Compiler | Version: 8.2.2
Resolution: | Keywords:
Operating System: Linux | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Simon Peyton Jones

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: simonpj Type: bug | Status: merge Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by simonpj): * status: new => merge Comment: Done. Merge to 8.4. Thank you to everyone who distilled the test case; that made it FAR easier for me. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:30 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: simonpj Type: bug | Status: merge Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): PS: No regression test because it's bizarrely difficult to reproduce. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:31 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: simonpj Type: bug | Status: merge Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by zilinc): Many thanks to everyone who helped with this ticket. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:32 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: simonpj Type: bug | Status: merge Priority: normal | Milestone: 8.4.3 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by RyanGlScott): * milestone: 8.6.1 => 8.4.3 Comment: This was never merged to GHC 8.4.2. Is it slated for 8.4.3, or should this just be closed? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:33 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14777: panic when using a function defined in terms of `error` -------------------------------------+------------------------------------- Reporter: zilinc | Owner: simonpj Type: bug | Status: closed Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.2.2 Resolution: fixed | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * resolution: => fixed * milestone: 8.4.3 => 8.6.1 Comment: Well, 8.4.3 is done (although I haven't had the time to finalize it yet) and didn't have this commit, so let's closel -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14777#comment:34 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC