[GHC] #9153: TcCoercible test is failing with context reduction stack overflow

#9153: TcCoercible test is failing with context reduction stack overflow
------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: low | Milestone:
Component: Test Suite | Version: 7.9
Keywords: | Operating System: Unknown/Multiple
Architecture: Unknown/Multiple | Type of failure: None/Unknown
Difficulty: Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: |
------------------------------------+-------------------------------------
Here is the error:
{{{
TcCoercible.hs:62:12:
Context reduction stack overflow; size = 21
Use -fcontext-stack=N to increase stack size to N
Coercible Int Int
In the expression: coerce
In the first argument of ‘print’, namely
‘(coerce $ (FixEither (Left age) :: FixEither Age) ::
Either Int (FixEither Int))’
In a stmt of a 'do' block:
print
(coerce $ (FixEither (Left age) :: FixEither Age) ::
Either Int (FixEither Int))
}}}
I do not know enough to know if bumping the stack size is correct.
Additionally, when run as GHCi I get:
{{{
=====> TcCoercible(ghci) 2784 of 3970 [0, 7, 0]
cd ./typecheck/should_run && '/home/hs01/ezyang/ghc-validate/inplace/bin
/ghc-stage2' -fforce-re
comp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db -rtsopts
-fno-ghci-history Tc
Coercible.hs --interactive -v0 -ignore-dot-ghci +RTS -I0.1 -RTS

#9153: TcCoercible test is failing with context reduction stack overflow -------------------------------------+------------------------------------ Reporter: ezyang | Owner: Type: bug | Status: new Priority: low | Milestone: Component: Test Suite | Version: 7.9 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by nomeata): This must be collateral damage from #9117 ([changeset:7e78faf033405bd5f3b6b787343c98e33d767bda/ghc], I just wonder it validated for me back then... I’m rebuilding my tree to find out. The discussion which behaviour is better (around [ticket:9117#comment:21]) concluded that recursive newtypes are going to be treated novercally, and otherwise the new behaviour is better. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9153#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9153: TcCoercible test is failing with context reduction stack overflow
-------------------------------------+------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: low | Milestone:
Component: Test Suite | Version: 7.9
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by Joachim Breitner

#9153: TcCoercible test is failing with context reduction stack overflow -------------------------------------+------------------------------------ Reporter: ezyang | Owner: Type: bug | Status: closed Priority: low | Milestone: Component: Test Suite | Version: 7.9 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Changes (by nomeata): * status: new => closed * resolution: => fixed Comment: Too bad that travis’s timelimit prevents us from running the tests without `fast=Yes`, otherwise I would have noticed this much earlier. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9153#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#9153: TcCoercible test is failing with context reduction stack overflow -------------------------------------+------------------------------------ Reporter: ezyang | Owner: Type: bug | Status: closed Priority: low | Milestone: Component: Test Suite | Version: 7.9 Resolution: fixed | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by simonpj): Just to be clear, the relevant test is this: {{{ newtype FixEither a = FixEither (Either a (FixEither a)) deriving Show -- And then try -- Coercible (FixEither Age) (Either Int (FixEither Int)) -- Coercible (Either Int (FixEither Age)) (FixEither Age) }}} It is entirely moot whether these two "should" work or not. But #9117 suggests not. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9153#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC