[GHC] #13675: Binary.get(TyClDecl): ForeignType

GHC ghc-devs at haskell.org
Tue May 9 20:23:05 UTC 2017


#13675: Binary.get(TyClDecl): ForeignType
-------------------------------------+-------------------------------------
           Reporter:  Neidon         |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.0.2
           Keywords:                 |  Operating System:  Linux
       Architecture:  x86_64         |   Type of failure:  Compile-time
  (amd64)                            |  crash or panic
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 {{{
     ghc: panic! (the 'impossible' happened)
       (GHC version 8.0.2 for x86_64-unknown-linux):
         Binary.get(TyClDecl): ForeignType
     CallStack (from HasCallStack):
       error, called at compiler/iface/IfaceSyn.hs:1530:18 in ghc:IfaceSyn
 }}}

 Steps to reproduce:

 1. Download a 640 Mb zip archive from
 https://drive.google.com/file/d/0B0Jnpz9ldbuHZHI4NFB3XzBucVU/view?usp=sharing.
 Unpack it. Inside are two directories:

 * `home_stack` (`du -s` reports size 2691340 Kb)
 * `cardano-sl` (`du -s` reports size 639820 Kb)

 2. Move `home_stack` to `~/.stack`, deleting the original directory if it
 exists.
 3. Move `cardano-sl` to `~/repos/cardano-sl`.
 4. `cd` to `~/repos/cardano-sl`.
 5. Issue `stack build --flag cardano-sl:with-explorer --ghc-options
 -fprint-potential-instances`. (Should also reproduce with `stack build`
 alone, but the following output is from the longer command.)

 Output on my machine:

 {{{
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/GcgJH7g69OEv'...
 remote: Counting objects: 20, done.
 remote: Total 20 (delta 0), reused 0 (delta 0), pack-reused 20
 Unpacking objects: 100% (20/20), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/ENyDIhK06WOU'...
 remote: Counting objects: 1297, done.
 remote: Total 1297 (delta 0), reused 0 (delta 0), pack-reused 1297
 Receiving objects: 100% (1297/1297), 260.82 KiB | 402.00 KiB/s, done.
 Resolving deltas: 100% (605/605), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/TD50yXVIvxc9'...
 remote: Counting objects: 1740, done.
 remote: Total 1740 (delta 0), reused 0 (delta 0), pack-reused 1740
 Receiving objects: 100% (1740/1740), 300.55 KiB | 0 bytes/s, done.
 Resolving deltas: 100% (988/988), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/XNE9sXB7eSlZ'...
 remote: Counting objects: 782, done.
 remote: Total 782 (delta 0), reused 0 (delta 0), pack-reused 782
 Receiving objects: 100% (782/782), 361.32 KiB | 352.00 KiB/s, done.
 Resolving deltas: 100% (496/496), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-work/downloaded/SOLx-
 DoyBtx1'...
 remote: Counting objects: 911, done.
 remote: Total 911 (delta 0), reused 0 (delta 0), pack-reused 911
 Receiving objects: 100% (911/911), 466.06 KiB | 754.00 KiB/s, done.
 Resolving deltas: 100% (346/346), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/GCp_IHcTNp9P'...
 remote: Counting objects: 713, done.
 remote: Total 713 (delta 0), reused 0 (delta 0), pack-reused 713
 Receiving objects: 100% (713/713), 179.48 KiB | 0 bytes/s, done.
 Resolving deltas: 100% (312/312), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/Lyd_i8-L91FJ'...
 remote: Counting objects: 161, done.
 remote: Total 161 (delta 0), reused 0 (delta 0), pack-reused 161
 Receiving objects: 100% (161/161), 36.19 KiB | 0 bytes/s, done.
 Resolving deltas: 100% (82/82), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/CiIBoLUguKbQ'...
 remote: Counting objects: 2556, done.
 remote: Compressing objects: 100% (36/36), done.
 remote: Total 2556 (delta 7), reused 1 (delta 1), pack-reused 2518
 Receiving objects: 100% (2556/2556), 678.84 KiB | 1.01 MiB/s, done.
 Resolving deltas: 100% (1511/1511), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/ZdBBqCDMftE9'...
 remote: Counting objects: 1463, done.
 remote: Compressing objects: 100% (13/13), done.
 remote: Total 1463 (delta 3), reused 0 (delta 0), pack-reused 1446
 Receiving objects: 100% (1463/1463), 518.63 KiB | 975.00 KiB/s, done.
 Resolving deltas: 100% (585/585), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/_k2aE31sX6Xe'...
 remote: Counting objects: 1137, done.
 remote: Total 1137 (delta 0), reused 0 (delta 0), pack-reused 1137
 Receiving objects: 100% (1137/1137), 210.59 KiB | 360.00 KiB/s, done.
 Resolving deltas: 100% (528/528), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/wSJGfkFIKfNg'...
 remote: Counting objects: 345, done.
 remote: Compressing objects: 100% (42/42), done.
 remote: Total 345 (delta 18), reused 0 (delta 0), pack-reused 299
 Receiving objects: 100% (345/345), 136.62 KiB | 0 bytes/s, done.
 Resolving deltas: 100% (138/138), done.
 Cloning into '/home/ser/repos/cardano-sl/.stack-
 work/downloaded/5U2760eQdlAf'...
 remote: Counting objects: 2454, done.
 remote: Total 2454 (delta 0), reused 0 (delta 0), pack-reused 2454
 Receiving objects: 100% (2454/2454), 401.41 KiB | 0 bytes/s, done.
 Resolving deltas: 100% (1100/1100), done.
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl"
 Missing build-tools may be caused by dependencies of the build-tool being
 overridden by extra-deps.
 This should be fixed soon - see this issue
 https://github.com/commercialhaskell/stack/issues/595

 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl-core"
 Missing build-tools may be caused by dependencies of the build-tool being
 overridden by extra-deps.
 This should be fixed soon - see this issue
 https://github.com/commercialhaskell/stack/issues/595

 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl-db"
 Missing build-tools may be caused by dependencies of the build-tool being
 overridden by extra-deps.
 This should be fixed soon - see this issue
 https://github.com/commercialhaskell/stack/issues/595

 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl-infra"
 Missing build-tools may be caused by dependencies of the build-tool being
 overridden by extra-deps.
 This should be fixed soon - see this issue
 https://github.com/commercialhaskell/stack/issues/595

 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl-lrc"
 Missing build-tools may be caused by dependencies of the build-tool being
 overridden by extra-deps.
 This should be fixed soon - see this issue
 https://github.com/commercialhaskell/stack/issues/595

 No packages found in snapshot which provide a "cpphs" executable, which is
 a build-tool dependency of "cardano-sl-update"
 Missing build-tools may be caused by dependencies of the build-tool being
 overridden by extra-deps.
 This should be fixed soon - see this issue
 https://github.com/commercialhaskell/stack/issues/595

 base58-bytestring-0.1.0: configure
 base58-bytestring-0.1.0: build
 concurrent-extra-0.7.0.10: configure
 base58-bytestring-0.1.0: copy/register
 concurrent-extra-0.7.0.10: build
 directory-1.3.1.0: configure
 concurrent-extra-0.7.0.10: copy/register
 directory-1.3.1.0: build
 cryptonite-0.22: configure
 cryptonite-0.22: build
 ed25519-0.0.5.0: configure (lib)
 ed25519-0.0.5.0: build (lib)
 network-transport-0.5.1: configure (lib)
 network-transport-0.5.1: build (lib)
 directory-1.3.1.0: copy/register
 Glob-0.7.14: configure
 ed25519-0.0.5.0: copy/register
 network-transport-0.5.1: copy/register
 Glob-0.7.14: build
 SHA-1.6.4.2: configure
 SHA-1.6.4.2: build
 acid-state-0.14.2: configure (lib)
 acid-state-0.14.2: build (lib)
 Glob-0.7.14: copy/register
 cryptonite-0.22: copy/register
 SHA-1.6.4.2: copy/register
 Progress: 9/91
 --  While building package acid-state-0.14.2 using:
       /home/ser/.stack/setup-exe-cache/x86_64-linux/Cabal-
 simple_mPHDZzAJ_1.24.2.0_ghc-8.0.2 --builddir=.stack-
 work/dist/x86_64-linux/Cabal-1.24.2.0 build lib:acid-state --ghc-options "
 -ddump-hi -ddump-to-file"
     Process exited with code: ExitFailure 1
     Logs have been written to: /home/ser/repos/cardano-sl/.stack-work/logs
 /acid-state-0.14.2.log

     Configuring acid-state-0.14.2...
     Preprocessing library acid-state-0.14.2...
     [ 1 of 15] Compiling Paths_acid_state ( .stack-
 work/dist/x86_64-linux/Cabal-1.24.2.0/build/autogen/Paths_acid_state.hs,
 .stack-work/dist/x86_64-linux/Cabal-1.24.2.0/build/Paths_acid_state.o )
     [ 2 of 15] Compiling FileIO           ( src-unix/FileIO.hs, .stack-
 work/dist/x86_64-linux/Cabal-1.24.2.0/build/FileIO.o )
     [ 3 of 15] Compiling Data.Acid.Core   ( src/Data/Acid/Core.hs, .stack-
 work/dist/x86_64-linux/Cabal-1.24.2.0/build/Data/Acid/Core.o )
     [ 4 of 15] Compiling Data.Acid.Common ( src/Data/Acid/Common.hs,
 .stack-work/dist/x86_64-linux/Cabal-1.24.2.0/build/Data/Acid/Common.o )

     /home/ser/repos/cardano-sl/.stack-
 work/downloaded/ENyDIhK06WOU/src/Data/Acid/Common.hs:21:1: warning:
 [-Wunused-imports]
         The import of ‘Control.Applicative’ is redundant
           except perhaps to import instances from ‘Control.Applicative’
         To import instances alone, use: import Control.Applicative()
     [ 5 of 15] Compiling Data.Acid.Memory.Pure (
 src/Data/Acid/Memory/Pure.hs, .stack-
 work/dist/x86_64-linux/Cabal-1.24.2.0/build/Data/Acid/Memory/Pure.o )
     [ 6 of 15] Compiling Data.Acid.TemplateHaskell (
 src/Data/Acid/TemplateHaskell.hs, .stack-
 work/dist/x86_64-linux/Cabal-1.24.2.0/build/Data/Acid/TemplateHaskell.o )
     ghc: panic! (the 'impossible' happened)
       (GHC version 8.0.2 for x86_64-unknown-linux):
         Binary.get(TyClDecl): ForeignType
     CallStack (from HasCallStack):
       error, called at compiler/iface/IfaceSyn.hs:1530:18 in ghc:IfaceSyn

     Please report this as a GHC bug:
 http://www.haskell.org/ghc/reportabug
 }}}

 Output of `stack --version`:

 {{{
 Version 1.3.2 x86_64
 Compiled with:
 - Cabal-1.24.0.0
 - Glob-0.7.14
 - HUnit-1.5.0.0
 - MonadRandom-0.5.1
 - QuickCheck-2.9.2
 - SHA-1.6.4.2
 - StateVar-1.1.0.4
 - aeson-1.0.2.1
 - aeson-compat-0.3.6
 - annotated-wl-pprint-0.7.0
 - ansi-terminal-0.6.2.3
 - ansi-wl-pprint-0.6.7.3
 - array-0.5.1.1
 - asn1-encoding-0.9.5
 - asn1-parse-0.9.4
 - asn1-types-0.3.2
 - async-2.1.1
 - attoparsec-0.13.1.0
 - auto-update-0.1.4
 - base-4.9.0.0
 - base-compat-0.9.2
 - base-orphans-0.5.4
 - base16-bytestring-0.1.1.6
 - base64-bytestring-1.0.0.1
 - bifunctors-5.4.1
 - binary-0.8.3.0
 - binary-tagged-0.1.4.2
 - bitarray-0.0.1.1
 - blaze-builder-0.4.0.2
 - blaze-html-0.8.1.3
 - blaze-markup-0.7.1.1
 - byteable-0.1.1
 - bytestring-0.10.8.1
 - call-stack-0.1.0
 - case-insensitive-1.2.0.8
 - cereal-0.5.4.0
 - clock-0.7.2
 - comonad-5
 - conduit-1.2.9
 - conduit-extra-1.1.15
 - connection-0.2.7
 - constraints-0.9.1
 - containers-0.5.7.1
 - contravariant-1.4
 - cookie-0.4.2.1
 - cryptohash-0.11.9
 - cryptohash-conduit-0.1.1
 - cryptonite-0.22
 - data-default-class-0.1.2.0
 - deepseq-1.4.2.0
 - digest-0.0.1.2
 - directory-1.2.6.2
 - distributive-0.5.2
 - dlist-0.8.0.2
 - easy-file-0.2.1
 - either-4.4.1.1
 - errors-2.1.3
 - exceptions-0.8.3
 - extra-1.5.1
 - fast-logger-2.4.10
 - file-embed-0.0.10
 - filelock-0.1.0.1
 - filepath-1.4.1.0
 - free-4.12.4
 - fsnotify-0.2.1
 - generic-deriving-1.11.1
 - generics-sop-0.2.4.0
 - ghc-boot-th-8.0.1
 - ghc-prim-0.5.0.0
 - gitrev-1.2.0
 - hashable-1.2.5.0
 - hastache-0.6.1
 - hinotify-0.3.9
 - hit-0.6.3
 - hourglass-0.2.10
 - hpack-0.16.0
 - hpc-0.6.0.3
 - hspec-2.4.2
 - hspec-core-2.4.2
 - hspec-discover-2.4.2
 - hspec-expectations-0.8.2
 - hspec-smallcheck-0.4.2
 - http-api-data-0.3.5
 - http-client-0.5.6.1
 - http-client-tls-0.3.4
 - http-conduit-2.2.3.1
 - http-types-0.9.1
 - ieee754-0.7.9
 - integer-gmp-1.0.0.1
 - integer-logarithms-1.0.1
 - lifted-async-0.9.1.1
 - lifted-base-0.2.3.10
 - logict-0.6.0.2
 - memory-0.14.2
 - microlens-0.4.8.0
 - microlens-th-0.4.1.1
 - mime-types-0.1.0.7
 - mmorph-1.0.9
 - monad-control-1.0.1.0
 - monad-logger-0.3.21
 - monad-loops-0.4.3
 - monad-unlift-0.2.0
 - mono-traversable-1.0.2
 - mtl-2.2.1
 - network-2.6.3.1
 - network-uri-2.6.1.0
 - old-locale-1.0.0.7
 - old-time-1.1.0.3
 - open-browser-0.2.1.0
 - optparse-applicative-0.13.2.0
 - optparse-simple-0.0.3
 - parsec-3.1.11
 - path-0.5.12
 - path-io-1.2.2
 - path-pieces-0.2.1
 - patience-0.1.1
 - pem-0.2.2
 - persistent-2.6.1
 - persistent-sqlite-2.6.2
 - persistent-template-2.5.2
 - pid1-0.1.0.1
 - prelude-extras-0.4.0.3
 - pretty-1.1.3.3
 - primitive-0.6.1.0
 - process-1.4.2.0
 - profunctors-5.2
 - project-template-0.2.0
 - quickcheck-io-0.1.4
 - random-1.1
 - regex-applicative-0.3.3
 - regex-applicative-text-0.1.0.1
 - resource-pool-0.2.3.2
 - resourcet-1.1.9
 - retry-0.7.4.2
 - rts-1.0
 - safe-0.3.14
 - safe-exceptions-0.1.5.0
 - scientific-0.3.4.10
 - semigroupoids-5.1
 - semigroups-0.18.2
 - setenv-0.1.1.3
 - silently-1.2.5
 - smallcheck-1.1.1
 - socks-0.5.5
 - split-0.2.3.1
 - stm-2.4.4.1
 - stm-chans-3.0.0.4
 - store-0.3.1
 - store-core-0.3
 - streaming-commons-0.1.17
 - syb-0.6
 - system-fileio-0.3.16.3
 - system-filepath-0.4.13.4
 - tagged-0.8.5
 - tar-0.5.0.3
 - template-haskell-2.11.0.0
 - temporary-1.2.0.4
 - text-1.2.2.1
 - text-binary-0.2.1.1
 - text-metrics-0.2.0
 - tf-random-0.5
 - th-expand-syns-0.4.2.0
 - th-lift-0.7.6
 - th-lift-instances-0.1.11
 - th-orphans-0.13.3
 - th-reify-many-0.1.6
 - th-utilities-0.2.0.1
 - time-1.6.0.1
 - time-locale-compat-0.1.1.3
 - tls-1.3.10
 - transformers-0.5.2.0
 - transformers-base-0.4.4
 - transformers-compat-0.5.1.4
 - unexceptionalio-0.3.0
 - unicode-transforms-0.2.1
 - unix-2.7.2.0
 - unix-compat-0.4.3.1
 - unix-time-0.3.7
 - unordered-containers-0.2.7.2
 - uri-bytestring-0.2.3.1
 - utf8-string-1.0.1.1
 - uuid-types-1.0.3
 - vector-0.11.0.0
 - vector-algorithms-0.7.0.1
 - vector-binary-instances-0.2.3.4
 - void-0.7.1
 - x509-1.6.5
 - x509-store-1.6.2
 - x509-system-1.6.4
 - x509-validation-1.6.5
 - yaml-0.8.22
 - zip-archive-0.3.0.5
 - zlib-0.6.1.2
 - zlib-bindings-0.1.1.5
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13675>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list