[GHC] #9625: ghc: panic using --enable-executable-dynamic

GHC ghc-devs at haskell.org
Tue Nov 11 16:00:56 UTC 2014


#9625: ghc: panic  using --enable-executable-dynamic
-------------------------------------+-------------------------------------
              Reporter:              |            Owner:
  CoreyOConnor                       |           Status:  new
                  Type:  bug         |        Milestone:
              Priority:  normal      |          Version:  7.8.3
             Component:  Package     |         Keywords:
  system                             |     Architecture:  Unknown/Multiple
            Resolution:              |       Difficulty:  Unknown
      Operating System:              |       Blocked By:
  Unknown/Multiple                   |  Related Tickets:
       Type of failure:  Compile-    |
  time crash                         |
             Test Case:              |
              Blocking:              |
Differential Revisions:              |
-------------------------------------+-------------------------------------
Changes (by thomie):

 * cc: ezyang (added)
 * component:  Compiler => Package system


Old description:

> (from: https://github.com/haskell/cabal/issues/2039)
>
> Using --enable-executable-dynamic leads to a ghc panic.
>
> Reproduction steps:
>
> 1. clone https://github.com/coreyoconnor/executable-dynamic-issue
> 2. cabal configure --enable-tests --enable-executable-dynamic
> 3. cabal test
>
> Expected results: Test executes and passes.
>
> Actual results:
>
> {{{
> ghc: panic! (the 'impossible' happened) (GHC version 7.8.2 for x86_64
> -unknown-linux): Don't understand library name verify-foo
> }}}
>
> Actual results varies based on the name of "verify-foo" test suite. Other
> names tried: "verifyFoo", "VerifyFoo". All of which also fail.
>
> Removing "--enable-executable-dynamic" results in a pass regardless of
> test suite name.
>
> Reproduced on GHC 7.8.2, GHC 7.8.3, Cabal 1.18, Cabal 1.20. Ubuntu.

New description:

 (from: https://github.com/haskell/cabal/issues/2039)

 Using --enable-executable-dynamic leads to a ghc panic.

 Reproduction steps:
 {{{
 1. git clone https://github.com/coreyoconnor/executable-dynamic-issue
 2. cabal configure --enable-tests --enable-executable-dynamic
 3. cabal test
 }}}
 Expected results: Test executes and passes.

 Actual results:

 {{{
 ghc: panic! (the 'impossible' happened) (GHC version 7.8.2 for x86_64
 -unknown-linux): Don't understand library name verify-foo
 }}}

 Actual results varies based on the name of "verify-foo" test suite. Other
 names tried: "verifyFoo", "VerifyFoo". All of which also fail.

 Removing "--enable-executable-dynamic" results in a pass regardless of
 test suite name.

 Reproduced on GHC 7.8.2, GHC 7.8.3, Cabal 1.18, Cabal 1.20. Ubuntu.

--

Comment:

 I ran into other problems trying to reproduce this with ghc HEAD, but can
 confirm the bug exists in 7.8.3 (and 7.8.3.20141105). Here's a slightly
 simplified testcase:

 {{{
 #!haskell
 $ cat foo.cabal
 name:          foo
 version:       0.1.0.0
 build-type:    Simple
 cabal-version: >=1.8

 Library

 Test-Suite bar
   type:          detailed-0.9
   test-module:   Test
   build-depends: foo, base, Cabal

 $ cat Setup.hs
 import Distribution.Simple
 main = defaultMain

 $ cat Test.hs
 module Test where
 import Distribution.TestSuite
 tests :: IO [Test]
 tests = return []

 $ cabal configure --enable-tests --enable-executable-dynamic
 Resolving dependencies...
 Configuring foo-0.1.0.0...

 $ cabal build
 Building foo-0.1.0.0...
 Preprocessing library foo-0.1.0.0...
 In-place registering foo-0.1.0.0...
 Preprocessing test suite 'bar' for foo-0.1.0.0...
 [1 of 1] Compiling Test             ( Test.hs, dist/build/Test.o )
 In-place registering bar-0.1.0.0...
 [1 of 1] Compiling Main             ( dist/build/barStub/barStub-
 tmp/barStub.hs, dist/build/barStub/barStub-tmp/Main.dyn_o )
 Linking dist/build/barStub/barStub ...
 ghc: panic! (the 'impossible' happened)
   (GHC version 7.8.3 for x86_64-unknown-linux):
         Don't understand library name bar
 }}}

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


More information about the ghc-tickets mailing list