[GHC] #11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure ---------------------------------------+--------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Keywords: | Operating System: Linux Architecture: x86_64 (amd64) | Type of failure: None/Unknown Test Case: | Blocked By: Blocking: | Related Tickets: 11664 Differential Rev(s): | Wiki Page: ---------------------------------------+--------------------------------- You might also like to see #11664 for some history. I have tried using current `master` 57b4c5524fcbf02f61dfc8d9395906dc7f50f048 to build current `attoparsec-0.13.0.1` on Ubuntu Linux 15.10 x86_64. The build fails with Core Lint error {{{ <no location info>: warning: In the type ‘Buffer -> Pos -> More -> a_aOwS -> IResult Text r_aOwT’ @ a_aOwS is out of scope }}} Attached comes full output of `cabal install attoparsec --with-ghc=<path- to-ghc> --verbose --ghc-options -dcore-lint`. The output is huge (57k lines) so I gzipped it. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure ------------------------------------+-------------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 11664 | Differential Rev(s): Wiki Page: | ------------------------------------+-------------------------------------- Changes (by anton.dessiatov): * Attachment "attoparsec.out.gz" added. Cabal output -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure ------------------------------------+-------------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 11664 | Differential Rev(s): Wiki Page: | ------------------------------------+-------------------------------------- Comment (by simonpj): When I try to reproduce this I fail at the first fence {{{ sh$ cabal configure --with-ghc=/home/simonpj/5builds/HEAD-4/inplace/bin /ghc-stage2 Resolving dependencies... Configuring attoparsec-0.13.0.1... cabal: At least the following dependencies are missing: scientific >=0.3.1 && <0.4, text >=1.1.1.3 sh$ cabal --version cabal-install version 1.23.0.0 compiled using version 1.23.1.0 of the Cabal library }}} Can anyone help? -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665#comment:1> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure ------------------------------------+-------------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 11664 | Differential Rev(s): Wiki Page: | ------------------------------------+-------------------------------------- Comment (by anton.dessiatov): Could you try running `cabal install` in a sandbox instead of `configure`? I might be horribly wrong here but AFAIK cabal doesn't download and install dependencies when doing `configure`. Maybe there are other ways to force cabal install dependencies, though. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665#comment:2> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure ------------------------------------+-------------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 11664 | Differential Rev(s): Wiki Page: | ------------------------------------+-------------------------------------- Comment (by simonpj): Terrific. I've nailed this one. It's an outright bug in `expandTypeSynoyms`. Patch coming. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665#comment:3> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure ------------------------------------+-------------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 11664 | Differential Rev(s): Wiki Page: | ------------------------------------+-------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"286dc021ef515d02453cd5e31774b852d3a1310f/ghc" 286dc021/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="286dc021ef515d02453cd5e31774b852d3a1310f" Fix an outright bug in expandTypeSynonyms The bug was in this code: go subst (TyConApp tc tys) | Just (tenv, rhs, tys') <- expandSynTyCon_maybe tc tys = let subst' = unionTCvSubst subst (mkTvSubstPrs tenv) in go subst' (mkAppTys rhs tys') This is wrong in two ways. * It is wrong to apply the expanded substitution to tys', * The unionTCvSubst is utterly wrong; after all, rhs is completely separate, and the union makes a non-idempotent substitution. It was the non-idempotency that gave the Lint failure in Trac #11665, when there was a type synonym whose RHS mentioned another type synonym, something like type T a b = a -> b type S x y = T y x It only affects SpecConstr because that's about the only place where expandTypeSyonym is called. I tried to trigger the failure with a simple test case, but failed, so I have not added a regression test. Fortunately the solution is very simple and solid. FWIW, the culprit was 674654, "Add kind equalities to GHC". }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665#comment:4> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure ------------------------------------+-------------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: merge Priority: normal | Milestone: Component: Compiler | Version: 8.1 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 (amd64) Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: 11664 | Differential Rev(s): Wiki Page: | ------------------------------------+-------------------------------------- Changes (by simonpj): * status: new => merge Comment: great bug, good to nail this one. Please merge. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665#comment:5> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
#11665: Recent master fails to build attoparsec-0.13.0.1 with core lint failure -------------------------------------+------------------------------------- Reporter: anton.dessiatov | Owner: Type: bug | Status: closed Priority: normal | Milestone: 8.0.1 Component: Compiler | Version: 8.1 Resolution: fixed | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Compile-time | (amd64) crash | Test Case: Blocked By: | Blocking: Related Tickets: 11664 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * status: merge => closed * failure: None/Unknown => Compile-time crash * resolution: => fixed * milestone: => 8.0.1 Comment: Merged as de6bbc6a201fc7c753d391d8b5ca5d4eca110bba. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11665#comment:6> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler
participants (1)
-
GHC