[GHC] #10058: Panic: Loading temp shared object failed
GHC
ghc-devs at haskell.org
Sun Feb 1 18:55:25 UTC 2015
#10058: Panic: Loading temp shared object failed
-----------------------------------------+---------------------------------
Reporter: goldfire | Owner:
Type: bug | Status: new
Priority: normal | Milestone: 7.10.1
Component: Compiler | Version: 7.10.1-rc2
Keywords: | Operating System: MacOS X
Architecture: x86_64 (amd64) | Type of failure: None/Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Revisions: |
-----------------------------------------+---------------------------------
I ran into a panic when updating `singletons` for 7.10. I'm clueless as to
what's going on here, so sorry for not minimizing the test case. A little
testing has me convinced it's Template Haskell in some way.
To reproduce:
{{{
> git clone http://github.com/goldfirere/singletons.git
> cd singletons
> git checkout ghc-loading-panic-test-case
> cabal update
> cabal install --only-dependencies
> cabal configure
> cabal build
> cat dist/build/autogen/cabal_macros.h
# copy the value for CURRENT_PACKAGE_KEY from the end of cabal_macros.h
> cd tests/compile-and-dump
> ghc -c -this-package-key <package key from cabal_macros.h>
-i../../dist/build -XTemplateHaskell Singletons/Maybe.hs
}}}
You will see something like
{{{
ghc: panic! (the 'impossible' happened)
(GHC version 7.10.0.20150123 for x86_64-apple-darwin):
Loading temp shared object failed:
dlopen(/var/folders/ps/s45r2x1s6r15ws78py_zypl00000gn/T/ghc45837_0/libghc45837_1.dylib,
5): Symbol not found:
_mtlzuJNaGzzEkFfL43R3LZZNRlPRm_ControlziMonadziReaderziClass_DZCMonadReader_con_info
Referenced from:
/var/folders/ps/s45r2x1s6r15ws78py_zypl00000gn/T/ghc45837_0/libghc45837_1.dylib
Expected in: flat namespace
in
/var/folders/ps/s45r2x1s6r15ws78py_zypl00000gn/T/ghc45837_0/libghc45837_1.dylib
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}}
I've observed this on a Mac, but Travis has the same problem, so it's not
strictly Mac-specific. You can see representative Travis output [https
://travis-ci.org/goldfirere/singletons/jobs/49103793 here].
Why am I doing such a crazy thing? It's part of the `singletons` test
suite, where it's important to test the output of a run of ghc with
`-ddump-splices`. Getting the test cases to compile against the built-but-
not-yet-installed `singletons` object files should work with `-this-
package-key`. I'm sure there's a better way to structure a testsuite, but
this general technique works (with `-package-name` instead of `-this-
package-key`) with 7.8.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10058>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list