Bugzilla – Bug 323017
Microsoft F# compiler crashes under Mono/MacOS X
Last modified: 2010-10-04 20:35:51 UTC
---- Reported by hinsen@cnrs-orleans.fr 2006-12-20 07:22:01 MST ---- Please fill in this template when reporting a bug, unless you know what you are doing. Description of Problem: Steps to reproduce the problem: 1. Download F# 1.1.13.8, unzip, and change to directory FSharp-1.1.13.8 2. Execute the following commands: gacutil -i bin/fslib.dll gacutil -i bin/fslib10.dll gacutil -i bin/mllib.dll gacutil -i bin/mllib10.dll gacutil -i bin/FSharp.Compiler.dll gacutil -i bin/FSharp.Compiler10.dll 3. Run "mono bin/fscp10.exe" Actual Results: A crash: Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for <StartupCode>.Microsoft.FSharp.Compiler.Ast ---> System.NullReferenceException: Object reference not set to an instance of an object at Microsoft.FSharp.Collections.RawSetOps.height@476 (Microsoft.FSharp.Collections.SetTree t) [0x00000] at Microsoft.FSharp.Collections.RawSetOps.mk@503 (Microsoft.FSharp.Collections.SetTree l, System.Object k, Microsoft.FSharp.Collections.SetTree r) [0x00000] at Microsoft.FSharp.Collections.RawSetOps.add@543 (IComparer cf, System.Object k, Microsoft.FSharp.Collections.SetTree t) [0x00000] at Microsoft.FSharp.Collections.Tagged.Set.Add (System.Object x) [0x00000] at Microsoft.AbstractIL.Internal.Zset+addL@19.Invoke (Microsoft.FSharp.Collections.Tagged.Set a, System.Object x) [0x00000] at Microsoft.AbstractIL.Internal.Zset+addL@19.Invoke (System.Object , System.Object ) [0x00000] at Microsoft.FSharp.Core.FastFunc.InvokeFast2 (Microsoft.FSharp.Core.FastFunc f, System.Object t, System.Object u) [0x00000] at Microsoft.FSharp.Primitives.Basics+List.fold_left (Microsoft.FSharp.Core.FastFunc f, System.Object acc, Microsoft.FSharp.Collections.List l) [0x00000] at Microsoft.AbstractIL.Internal.Zset.addL (Microsoft.FSharp.Collections.List xs, Microsoft.FSharp.Collections.Tagged.Set a) [0x00000] at <StartupCode>.Microsoft.FSharp.Compiler.Ast..cctor () [0x00000] --- End of inner exception stack trace --- at <0x00000> <unknown method> at <StartupCode>.Microsoft.FSharp.Compiler.CommandLineMain._main () [0x00000] at <StartupCode>.Microsoft.FSharp.Compiler.CommandLineMain._main () [0x00000] Expected Results: No crash! How often does this happen? Every time I try, on two different machines. Additional Information: I also reported this problem to the F# development team, as I cannot judge who is responsible. Apparently the executable fscp10.exe works fine under .NET. ---- Additional Comments From vaughan2@seas.upenn.edu 2007-04-17 10:48:30 MST ---- I've encountered this bug also, and I emailed the F# team. They believe that the call stack indicates that "Mono does not implement tailcalls correctly on OS X". Unknown bug field "cf_op_sys_details" encountered while moving bug <cf_op_sys_details>MacOS X 10.4.8, PPC (G4)</cf_op_sys_details> Unknown bug field "cf_version_details" encountered while moving bug <cf_version_details>1.2.2.1 (binary downloaded a few days ago)</cf_version_details> Unknown operating system unknown. Setting to default OS "Other".
We'll track all issues around mono lack of tailcall support under a single bug report. *** This bug has been marked as a duplicate of bug 476785 ***