[GHC] #7603: Bad magic in static (FFI) object (7.6.1 for x86_64-apple-darwin)
GHC
cvs-ghc at haskell.org
Fri Jan 18 01:25:06 CET 2013
#7603: Bad magic in static (FFI) object (7.6.1 for x86_64-apple-darwin)
-------------------------------+--------------------------------------------
Reporter: morabbin | Owner:
Type: bug | Status: new
Priority: normal | Component: Compiler
Version: 7.6.1 | Keywords:
Os: MacOS X | Architecture: x86_64 (amd64)
Failure: Compile-time crash | Blockedby:
Blocking: | Related:
-------------------------------+--------------------------------------------
When spraying [http://code.google.com/p/hoc/ HOC] (Haskell to Objective-C)
for bitrot, I encountered a GHC panic during the loading of some FFI.
Judging by the log below, it looks like this is during a TH execution, so
the problem may be bitrot in this code wrt TH. Quite happy to dig further
myself if pointed in the right direction.
{{{
Orac:~/work/hoc-read-only/hoc $ cabal build
Compiling HOC_cbits...
Building HOC-1.0...
Preprocessing library HOC-1.0...
[16 of 31] Compiling HOC.Invocation ( HOC/HOC/Invocation.hs,
dist/build/HOC/Invocation.o )
HOC/HOC/Invocation.hs:14:1:
Unacceptable argument type in foreign declaration: FFICif
When checking declaration:
foreign import ccall safe "static Invocation.h callWithExceptions"
c_callWithExceptions
:: FFICif
-> FunPtr a -> Ptr b -> Ptr (Ptr ()) -> IO (Ptr ObjCObject)
Orac:~/work/hoc-read-only/hoc $ cabal build
Compiling HOC_cbits...
Building HOC-1.0...
Preprocessing library HOC-1.0...
[ 7 of 31] Compiling HOC.FFICallInterface ( HOC/HOC/FFICallInterface.hs,
dist/build/HOC/FFICallInterface.o )
[ 8 of 31] Compiling HOC.Arguments ( HOC/HOC/Arguments.hs,
dist/build/HOC/Arguments.o ) [HOC.FFICallInterface changed]
[11 of 31] Compiling HOC.CStruct ( HOC/HOC/CStruct.hs,
dist/build/HOC/CStruct.o ) [HOC.FFICallInterface changed]
[13 of 31] Compiling HOC.ID ( HOC/HOC/ID.hs, dist/build/HOC/ID.o
) [HOC.FFICallInterface changed]
[16 of 31] Compiling HOC.Invocation ( HOC/HOC/Invocation.hs,
dist/build/HOC/Invocation.o )
[17 of 31] Compiling HOC.ExternFunctions ( HOC/HOC/ExternFunctions.hs,
dist/build/HOC/ExternFunctions.o )
HOC/HOC/ExternFunctions.hs:77:34:
Ambiguous occurrence `unsafePerformIO'
It could refer to either `Foreign.unsafePerformIO',
imported from `Foreign' at
HOC/HOC/ExternFunctions.hs:10:1-14
or `System.IO.Unsafe.unsafePerformIO',
imported from `System.IO.Unsafe' at
HOC/HOC/ExternFunctions.hs:11:1-23
(and originally defined in `GHC.IO')
Orac:~/work/hoc-read-only/hoc $ cabal build
Compiling HOC_cbits...
Building HOC-1.0...
Preprocessing library HOC-1.0...
[17 of 31] Compiling HOC.ExternFunctions ( HOC/HOC/ExternFunctions.hs,
dist/build/HOC/ExternFunctions.o )
[18 of 31] Compiling HOC.StdArgumentTypes ( HOC/HOC/StdArgumentTypes.hs,
dist/build/HOC/StdArgumentTypes.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package array-0.4.0.1 ... linking ... done.
Loading package deepseq-1.3.0.1 ... linking ... done.
Loading package containers-0.5.0.0 ... linking ... done.
Loading package pretty-1.1.1.0 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package syb-0.3.7 ... linking ... done.
Loading package bytestring-0.10.0.0 ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package mtl-2.1.2 ... linking ... done.
Loading package text-0.11.2.3 ... linking ... done.
Loading package parsec-3.1.3 ... linking ... done.
Loading package old-locale-1.0.0.5 ... linking ... done.
Loading package old-time-1.1.0.1 ... linking ... done.
Loading package fgl-5.4.2.4 ... linking ... done.
Loading package filepath-1.3.0.1 ... linking ... done.
Loading package time-1.4.0.1 ... linking ... done.
Loading package unix-2.6.0.0 ... linking ... done.
Loading package directory-1.2.0.0 ... linking ... done.
Loading package binary-0.5.1.1 ... linking ... done.
Loading package HUnit-1.2.5.1 ... linking ... done.
Loading object (static) dist/build/HOC_cbits.o ... ghc:
dist/build/HOC_cbits.o: Bad magic. Expected: feedfacf, got: feedface.
ghc: panic! (the 'impossible' happened)
(GHC version 7.6.1 for x86_64-apple-darwin):
loadObj "dist/build/HOC_cbits.o": failed
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7603>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list