When I tried to `mono --llvm --aot=full FsCheck.dll` it crashes with
Mono Ahead of Time compiler - compiling assembly /tmp/FsCheck.dll
mono: Instructions.cpp:281: void llvm::CallInst::init(llvm::Value *, ArrayRef<llvm::Value *>, const llvm::Twine &): Assertion `(i >= FTy->getNumParams() || FTy->getParamType(i) == Args[i]->getType()) && "Calling a function with a bad signature!"' failed.
The dll and the stacktrace are attached.
OS: Ubuntu 14.04 x86_64
Mono (rebuild from tpokorra repo using "./configure --prefix=/opt/mono --enable-llvm --with-llvm=/opt/mono --with-oprofile=/usr" in debian/rules and binary stripping also disabled):
Mono JIT compiler version 3.12.0 (tarball Tue Jan 20 14:22:39 CET 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
Created attachment 9469 [details]
Created attachment 9470 [details]
Please attach the FsCheck.dll dependencies as well. Also note that --aot=full is intented for use on environments which don't allow JITting, it doesn't make too much sense on amd64.
Created attachment 9482 [details]
F# Core (dependency)
FSharp.Core.dll is attached. This is the only known dependency for FsCheck.
FsCheck are also available in binary form:
FsCheck are also available in source form:
Fixed in mono master f342649f75bf13da8c1e14342a2dd69655add6e0.
The issue only happens with a 64 bit mono runtime, and we don't distribute that right now, so its kinda hard to reproduce without compiling one. I'd suggest treating this as verified.
Well, the distribution about the 64bit mono runtime is more or less true - it would be good to have 64 bit runtime on 64 bit cpu.
Please note community builds are already available to everyone (it also support most linux distribution), and also listed on the Mono Project homepage.
Steps to reproduce on Ubuntu 14.04 x86_64:
1) Add tpokorra repo to your distribution, which is also available on Mono
Project download page:
"Mono Packages installed to /opt for CentOS, Fedora, Debian and Ubuntu"
2) Download Fsharp.Core.dll (if you don't have F# already installed) and FsCheck.dll from the issue.
3) Execute the following command:
mono --llvm --aot=full FsCheck.dll