Notice (2018-05-24): bugzilla.xamarin.com is now in
Please join us on
Visual Studio Developer Community and in the
Mono organizations on
GitHub to continue tracking issues. Bugzilla will remain
available for reference in read-only mode. We will continue to work
on open Bugzilla bugs, copy them to the new locations
as needed for follow-up, and add the new items under Related
Our sincere thanks to everyone who has contributed on this bug
tracker over the years. Thanks also for your understanding as we
make these adjustments and improvements for the future.
Please create a new report on
GitHub or Developer Community with
your current version information, steps to reproduce, and relevant error
messages or log files if you are hitting an issue that looks similar to
this resolved bug and you do not yet see a matching new report.
Isaac Gouy recently rebuilt the benchmarks game for Mono 4.1.0 and recompiled the F# benchmarks, Many of them now fail on LLVM 64-bit.
"I just rebuilt Mono for 4.1.0 and recompiled F#. On x86 all seems fine, but on x64 there are many F# program failures, any idea what might be going wrong? http://benchmarksgame.alioth.debian.org/u64/measurements.php?lang=fsharp best wishes, Isaac"
One of the failures is shown below, they all seem to have the same root cause. I've asked Isaac to try removing the LLVM option, so by the time you follow the link above the full set of problems may have gone, so I've captured one in a gist.
1. Recompile this source: https://gist.github.com/dsyme/699443054cfb1d479df1 using
/usr/local/bin/fsharpc --target:exe --platform:x64 -O -o fannkuchredux.fsharp_run.exe fannkuchredux.fs
/usr/local/bin/mono --llvm fannkuchredux.fsharp_run.exe 10
EXPECTED: program runs successfully
ACTUAL: program fails at runtime, see below.
mono: /usr/local/src/llvm/include/llvm/IR/Instructions.h:999: void llvm::ICmpInst::AssertOK(): Assertion `getOperand(0)->getType() == getOperand(1)->getType() && "Both operands to ICmp instruction are not of the same type!"' failed.
at <unknown> <0xffffffff>
at Microsoft.FSharp.Core.PrintfModule.PrintFormatToTextWriter<T_REF> (System.IO.TextWriter,Microsoft.FSharp.Core.PrintfFormat`4<T_REF, System.IO.TextWriter, Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Core.Unit>) <0x00047>
at <StartupCode$fannkuchredux-fsharp_run>.$Fannkuchredux.main@ () <0x000f7>
at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
Debug info from gdb:
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
Can't reproduce this with mono master.
Isaac Gouy says:
Unfortunately x64 quad-core also shows those failing programs:
>> Can't reproduce this with mono master. <<
Is that a different mono master than "master/435cc01 Wed May 20 22:58:47 PDT 2015" ?
Is that a different LLVM than "3.6.0svn-mono-master/ce4fcec" ?
The F# programs work fine on x86, with the same versions of Mono and LLVM that the F# programs fail with on x64.
(The original report said "Windows", as specified in the bug the problem actually only occurs on Linux)
Can somebody who can reproduce the problem attach the fsharp dll-s and the testcase exe file used ?
Created attachment 11365 [details]
testcase exe file
Created attachment 11366 [details]
Comment on attachment 11365 [details]
testcase exe file
/usr/local/bin/mono --llvm --gc=sgen nbody.fsharp_run.exe 500000
What other fsharp dll-s do you need?
Still can't reproduce this with:
Mono JIT compiler version 4.3.0 (master/4183c9c Fri May 29 12:08:39 EDT 2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
Confirmed, close - no problem with Mono JIT compiler version 4.3.0 (master/54e8010 Sun May 31 13:36:15 PDT 2015)