Bug 31337 - Mono 4.0 Garbage Collection Assertion fail
Summary: Mono 4.0 Garbage Collection Assertion fail
Status: RESOLVED FIXED
Alias: None
Product: Runtime
Classification: Mono
Component: GC ()
Version: 4.0.0
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Mark Probst
URL:
Depends on:
Blocks:
 
Reported: 2015-06-24 01:35 UTC by Aaron Stannard
Modified: 2015-12-21 01:57 UTC (History)
5 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and 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 Links.

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.

Related Links:
Status:
RESOLVED FIXED

Description Aaron Stannard 2015-06-24 01:35:48 UTC
Using the latest Mono Debian package (4.0) on Ubuntu 14.04 LTS I've been able to reliably reproduce the following bug using the F# scripting runtime and the FAKE build system.

The following is output from our TeamCity server, where we've been able to produce the bug.

I created an issue in the F# github repository that also includes links to the OSS project and the specific F# script that's been used to reproduce this bug, which you can find here: https://github.com/fsharp/fsharp/issues/427

[00:43:06][Step 1/1] Finished Target: RunTests
[00:43:06][Step 1/1] Importing data from '/opt/TeamCity/buildAgent/work/573e81d1545fa9cb/TestResultsTestResults.xml' (42.01 KB) with 'nunit' processor
[00:43:06][Step 1/1] Starting Target: Nuget 
[00:43:06][Step 1/1] Target: Nuget
[00:43:06][Step 1/1] NUnit report watcher
[00:43:06][Step 1/1] Creating nuget packages for /opt/TeamCity/buildAgent/work/573e81d1545fa9cb/src/Helios/Helios.nuspec
[00:43:06][Step 1/1] Creating /opt/TeamCity/buildAgent/work/573e81d1545fa9cb/bin/build
[00:43:06][Step 1/1] Handling nuget for Helios
[00:43:06][Step 1/1] Copying binaries from src/Helios/bin/Release
[00:43:06][Step 1/1] Creating output directory bin/build/lib/net45
[00:43:06][Step 1/1] Handling nuget for Helios.NET40
[00:43:06][Step 1/1] Copying binaries from src/Helios.NET40/bin/Release
[00:43:06][Step 1/1] Creating output directory bin/build/lib/net40
[00:43:06][Step 1/1] Creating /opt/TeamCity/buildAgent/work/573e81d1545fa9cb/bin/build/src/
[00:43:06][Step 1/1] * Assertion at sgen-alloc.c:460, condition `*p == NULL' not met
[00:43:06][Step 1/1] Stacktrace:
[00:43:06][Step 1/1] 
[00:43:06][Step 1/1] 
[00:43:06][Step 1/1]   at <unknown> <0xffffffff>
[00:43:06][Step 1/1]   at FSI_0001.Build.removeDir@162 (string) <0x00027>
[00:43:06][Step 1/1]   at FSI_0001.Build.createNugetPackages<a> (a) <0x00aff>
[00:43:06][Step 1/1]   at FSI_0001.Build/clo@273-13.Invoke (Microsoft.FSharp.Core.Unit) <0x00013>
[00:43:06][Step 1/1]   at Fake.TargetHelper/targetFromTemplate@145.Invoke (Microsoft.FSharp.Core.Unit) <0x00023>
[00:43:06][Step 1/1]   at Fake.TargetHelper.runTarget@314 (string) <0x00182>
[00:43:06][Step 1/1]   at Fake.TargetHelper/runTarget@314-1.Invoke (string) <0x00013>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Primitives.Basics.List.iter<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x00049>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Collections.ListModule.Iterate<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x0002f>
[00:43:06][Step 1/1]   at Fake.TargetHelper.runTarget@314 (string) <0x000e7>
[00:43:06][Step 1/1]   at Fake.TargetHelper.run (string) <0x00193>
[00:43:06][Step 1/1]   at Fake.AdditionalSyntax.RunTargetOrDefault (string) <0x0004b>
[00:43:06][Step 1/1]   at <StartupCode$FSI_0001>.$FSI_0001_Build$fsx.main@ () <0x00b3f>
[00:43:06][Step 1/1]   at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
[00:43:06][Step 1/1]   at <unknown> <0xffffffff>
[00:43:06][Step 1/1]   at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0xffffffff>
[00:43:06][Step 1/1]   at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000d7>
[00:43:06][Step 1/1]   at System.MonoType.InvokeMember (string,System.Reflection.BindingFlags,System.Reflection.Binder,object,object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,string[]) <0x0043d>
[00:43:06][Step 1/1]   at System.Reflection.Emit.TypeBuilder.InvokeMember (string,System.Reflection.BindingFlags,System.Reflection.Binder,object,object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,string[]) <0x00069>
[00:43:06][Step 1/1]   at System.Type.InvokeMember (string,System.Reflection.BindingFlags,System.Reflection.Binder,object,object[],System.Globalization.CultureInfo) <0x0005c>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.AbstractIL.ILRuntimeWriter/execEntryPtFun@2116-1.Invoke (Microsoft.FSharp.Core.Unit) <0x00093>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/clo@1026-248.Invoke (Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Core.FSharpOption`1<System.Exception>>) <0x00022>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Primitives.Basics.List.iter<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x00049>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Collections.ListModule.Iterate<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x0002f>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell.arg10@1025 (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompiler,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Core.FSharpOption`1<System.Exception>>>,Microsoft.FSharp.Core.Unit) <0x00067>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompiler.ProcessInputs (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Compiler.Ast/ParsedInput>,bool,bool,bool,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Compiler.Ast/Ident>) <0x0084f>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompiler.EvalParsedSourceFiles (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Compiler.Ast/ParsedInput>) <0x000c7>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompiler.EvalSourceFiles (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Compiler.Range/range,Microsoft.FSharp.Collections.FSharpList`1<string>,Microsoft.FSharp.Compiler.Lexhelp/LexResourceManager) <0x003f3>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/clo@1755-255.Invoke (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState) <0x0011b>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.interactiveCatch<a> (Microsoft.FSharp.Core.FSharpFunc`2<a, System.Tuple`2<a, Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionStepStatus>>,a) <0x00050>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.executeParsedInteraction (Microsoft.FSharp.Compiler.Build/TcConfig,Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Compiler.Ast/ParsedFsiInteraction) <0x00067>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.execParsedInteractions (Microsoft.FSharp.Compiler.Build/TcConfig,Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Compiler.Ast/ParsedFsiInteraction>,Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionStepStatus>) <0x00737>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/clo@1928-258.Invoke (Microsoft.FSharp.Compiler.Build/TcConfig,Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState) <0x00037>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Core.FSharpFunc`2.InvokeFast<V> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.FSharpFunc`2<TResult, V>>,T,TResult) <0x0007c>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.mainThreadProcessAction<a> (Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Compiler.Build/TcConfig, Microsoft.FSharp.Core.FSharpFunc`2<a, System.Tuple`2<a, Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionStepStatus>>>,a) <0x0018b>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.mainThreadProcessParsedInteractions (Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Compiler.Ast/ParsedFsiInteraction>,Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState) <0x0005b>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/EvalInteraction@2070.Invoke (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState) <0x0003b>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.interactiveCatch<a> (Microsoft.FSharp.Core.FSharpFunc`2<a, System.Tuple`2<a, Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionStepStatus>>,a) <0x00050>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.EvalInteraction (string) <0x00157>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.EvalScript (string) <0x00097>
[00:43:06][Step 1/1]   at Microsoft.FSharp.Compiler.Interactive.Shell/FsiEvaluationSession.EvalScript (string) <0x00027>
[00:43:06][Step 1/1]   at Fake.FSIHelper.runFAKEScriptWithFsiArgsAndRedirectMessages<a> (a,bool,Fake.FSIHelper/FsiArgs,System.Collections.Generic.IEnumerable`1<System.Tuple`2<string, string>>,Microsoft.FSharp.Core.FSharpFunc`2<string, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Core.FSharpFunc`2<string, Microsoft.FSharp.Core.Unit>) <0x005db>
[00:43:06][Step 1/1]   at Fake.FSIHelper.runBuildScriptWithFsiArgsAt<a> (a,bool,Fake.FSIHelper/FsiArgs,System.Collections.Generic.IEnumerable`1<System.Tuple`2<string, string>>) <0x000a7>
[00:43:06][Step 1/1]   at Program/clo@78-1.Invoke (Microsoft.FSharp.Core.Unit) <0x005cf>
[00:43:06][Step 1/1]   at <StartupCode$FAKE>.$Program.main@ () <0x00740>
[00:43:06][Step 1/1]   at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
[00:43:06][Step 1/1] 
[00:43:06][Step 1/1] Native stacktrace:
[00:43:06][Step 1/1] 
[00:43:06][Step 1/1]    mono() [0x4b1fac]
[00:43:06][Step 1/1]    /lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f64212e4340]
[00:43:06][Step 1/1]    /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f6420f45cc9]
[00:43:06][Step 1/1]    /lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f6420f490d8]
[00:43:06][Step 1/1]    mono() [0x629309]
[00:43:06][Step 1/1]    mono() [0x629517]
[00:43:06][Step 1/1]    mono() [0x629666]
[00:43:06][Step 1/1]    mono() [0x5e66df]
[00:43:06][Step 1/1]    mono() [0x5e6bf2]
[00:43:06][Step 1/1]    mono(mono_string_new_size+0x4a) [0x5aa71a]
[00:43:06][Step 1/1]    mono(mono_string_new_utf16+0x1f) [0x5aa88f]
[00:43:06][Step 1/1]    mono() [0x5aa91a]
[00:43:06][Step 1/1]    mono() [0x468739]
[00:43:06][Step 1/1]    mono() [0x42b00f]
[00:43:06][Step 1/1]    mono() [0x42c7cf]
[00:43:06][Step 1/1]    mono() [0x42d1cb]
[00:43:06][Step 1/1]    mono() [0x4b4561]
[00:43:06][Step 1/1]    [0x41768166]
[00:43:06][Step 1/1] 
[00:43:06][Step 1/1] Debug info from gdb:
[00:43:06][Step 1/1] 
[00:43:06][Step 1/1] 
[00:43:06][Step 1/1] =================================================================
[00:43:06][Step 1/1] Got a SIGABRT while executing native code. This usually indicates
[00:43:06][Step 1/1] a fatal error in the mono runtime or one of the native libraries 
[00:43:06][Step 1/1] used by your application.
[00:43:06][Step 1/1] =================================================================
[00:43:06][Step 1/1] 
[00:43:07][Step 1/1] ./build.sh: line 23:  2214 Aborted (core dumped) mono $SCRIPT_PATH/packages/FAKE/tools/FAKE.exe build.fsx "$@"
[00:43:07][Step 1/1] Process exited with code 134


The critical error appears to be this line:

> [00:43:06][Step 1/1] * Assertion at sgen-alloc.c:460, condition `*p == NULL' not met
Comment 1 Mark Probst 2015-06-25 12:14:57 UTC
Please try running with

    MONO_GC_DEBUG=nursery-canaries
Comment 2 henrik 2015-07-28 12:00:03 UTC
That fails with

* Assertion at aot-runtime.c:862, condition `ref->method' not met

Stacktrace:

  at <unknown> <0xffffffff>
  at System.Console..cctor () <0x0001f>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at Microsoft.FSharp.Compiler.Interactive.Shell.evaluateSession@2382 (string[],Microsoft.FSharp.Core.Unit) <0x00058>
  at Microsoft.FSharp.Compiler.Interactive.Shell.MainMain (string[]) <0x00195>
  at Microsoft.FSharp.Compiler.Interactive.Main.FsiMain (string[]) <0x00014>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

	0   mono                                0x000000010d7509aa mono_handle_native_sigsegv + 271
	1   libsystem_platform.dylib            0x00007fff87dcaf1a _sigtramp + 26
	2   mono                                0x000000010d9bd65a tmp_dir + 3954
	3   libsystem_c.dylib                   0x00007fff8ff2bb53 abort + 129
	4   mono                                0x000000010d8b9093 monoeg_g_log + 0
	5   mono                                0x000000010d8b9018 monoeg_g_logv + 83
	6   mono                                0x000000010d8b91bd monoeg_assertion_message + 143
	7   mono                                0x000000010d746179 decode_method_ref_with_target + 5100
	8   mono                                0x000000010d741012 decode_patch + 89
	9   mono                                0x000000010d740e9d mono_aot_plt_resolve + 198
	10  mono                                0x000000010d752794 mono_aot_plt_trampoline + 37
	11  ???                                 0x000000010da7cfb2 0x0 + 4524068786
	12  mscorlib.dll.dylib                  0x000000010f649230 System_Console__cctor + 32
	13  ???                                 0x000000010db5f65f 0x0 + 4524996191
	14  mono                                0x000000010d6c2d3f mono_jit_runtime_invoke + 1472
	15  mono                                0x000000010d845f8c mono_runtime_invoke + 110
	16  mono                                0x000000010d8463ec mono_runtime_class_init_full + 677
	17  mono                                0x000000010d6bf961 mono_jit_compile_method_with_opt + 543
	18  mono                                0x000000010d6bf701 mono_jit_compile_method + 42
	19  mono                                0x000000010d751fc7 common_call_trampoline + 1256
	20  ???                                 0x000000010da7c172 0x0 + 4524065138
	21  ???                                 0x000000010db5f809 0x0 + 4524996617

Debug info from gdb:

/tmp/mono-gdb-commands.SyEj4a:1: Error in sourced command file:
Unable to find Mach task port for process-id 14568: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

=================================================================
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.
=================================================================

for me
Comment 3 Rodrigo Kumpera 2015-07-28 12:04:04 UTC
Run it with -O=-aot this is a known problem with AOT and canaries.
Comment 4 henrik 2015-07-28 12:07:38 UTC
That made this command work:

MONO_GC_DEBUG=nursery-canaries mono --debug -O=-aot /usr/local/Cellar/fsharp/3.1.1.32/lib/mono/4.5/fsi.exe --exename:fsharpi data/CurrenciesGen.fsx

That said, I suppose this issue will be fixed with the general GC?

Or should I make sure I have the nursery-canaries flag set in production too?
Comment 5 Rodrigo Kumpera 2015-07-28 12:08:51 UTC
Nursery-canaries is a troubleshooting option, it's not meant to be used beyond that.
Comment 6 henrik 2015-07-28 12:12:22 UTC
Here's a possibly better stack trace that shows more of mono's methods:

* Assertion at sgen-alloc.c:460, condition `*p == NULL' not met
Stacktrace:
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_specific (intptr) <0xffffffff>
  at FSI_0007/Domiciles.parseDomicile (Microsoft.FSharp.Core.FSharpFunc`2<string, string>,FSharp.Data.Runtime.BaseTypes.XmlElement) <0x00013>
  at Microsoft.FSharp.Primitives.Basics.List.map<T, TResult> (Microsoft.FSharp.Core.FSharpFunc`2<T, TResult>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x000c0>
  at Microsoft.FSharp.Collections.ListModule.Map<T, TResult> (Microsoft.FSharp.Core.FSharpFunc`2<T, TResult>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x00027>
  at FSI_0007/Currencies.raw<a> (Microsoft.FSharp.Core.FSharpFunc`2<FSharp.Data.Runtime.BaseTypes.XmlElement, Microsoft.FSharp.Core.FSharpOption`1<a>>) <0x00083>
  at <StartupCode$FSI_0007>.$FSI_0007.main@ () <0x00697>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Reflection.MonoMethod.InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&) <0xffffffff>
  at System.Reflection.MonoMethod.Invoke (object,System.Reflection.BindingFlags,System.Reflection.Binder,object[],System.Globalization.CultureInfo) <0x000d0>
  at System.MonoType.InvokeMember (string,System.Reflection.BindingFlags,System.Reflection.Binder,object,object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,string[]) <0x003b0>
  at System.Reflection.Emit.TypeBuilder.InvokeMember (string,System.Reflection.BindingFlags,System.Reflection.Binder,object,object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,string[]) <0x00066>
  at System.Type.InvokeMember (string,System.Reflection.BindingFlags,System.Reflection.Binder,object,object[],System.Globalization.CultureInfo) <0x0005a>
  at Microsoft.FSharp.Compiler.AbstractIL.ILRuntimeWriter/execEntryPtFun@1986-1.Invoke (Microsoft.FSharp.Core.Unit) <0x00083>
  at Microsoft.FSharp.Compiler.Interactive.Shell/clo@883-37.Invoke (Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Core.FSharpOption`1<System.Exception>>) <0x00019>
  at Microsoft.FSharp.Primitives.Basics.List.iter<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x00038>
  at Microsoft.FSharp.Collections.ListModule.Iterate<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x00027>
  at Microsoft.FSharp.Compiler.Interactive.Shell.arg10@882 (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompiler,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit, Microsoft.FSharp.Core.FSharpOption`1<System.Exception>>>,Microsoft.FSharp.Core.Unit) <0x00057>
  at Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompiler.ProcessInputs (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Compiler.Ast/ParsedInput>,bool,bool,bool,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Compiler.Ast/Ident>) <0x006e7>
  at Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompiler.EvalParsedDefinitions (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,bool,bool,Microsoft.FSharp.Collections.FSharpList`1<Microsoft.FSharp.Compiler.Ast/SynModuleDecl>) <0x001d7>
  at Microsoft.FSharp.Compiler.Interactive.Shell/clo@1590-45.Invoke (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState) <0x0136f>
  at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.InteractiveCatch<a> (Microsoft.FSharp.Core.FSharpFunc`2<a, System.Tuple`2<a, Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionStepStatus>>,a) <0x00039>
  at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.ExecInteraction (bool,Microsoft.FSharp.Compiler.Build/TcConfig,Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Compiler.Ast/ParsedFsiInteraction) <0x00067>
  at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.ExecInteractions (bool,Microsoft.FSharp.Compiler.Build/TcConfig,Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState,Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Compiler.Ast/ParsedFsiInteraction>) <0x005f3>
  at Microsoft.FSharp.Compiler.Interactive.Shell/FsiInteractionProcessor.MainThreadProcessParsedInteraction (bool,Microsoft.FSharp.Core.FSharpOption`1<Microsoft.FSharp.Compiler.Ast/ParsedFsiInteraction>,Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState) <0x00133>
  at Microsoft.FSharp.Compiler.Interactive.Shell/res@1782.Invoke (Microsoft.FSharp.Compiler.Interactive.Shell/FsiDynamicCompilerState) <0x00033>
  at Microsoft.FSharp.Compiler.Interactive.Shell/runCodeOnMainThread@2021-2.Invoke (Microsoft.FSharp.Core.Unit) <0x0003b>
  at <StartupCode$FSharp-Compiler-Interactive-Settings>.$Fsiaux/Microsoft-FSharp-Compiler-Interactive-IEventLoop-Invoke@47.Invoke (Microsoft.FSharp.Core.Unit) <0x0001a>
  at <StartupCode$FSharp-Compiler-Interactive-Settings>.$Fsiaux/run@38-4.Invoke (Microsoft.FSharp.Core.FSharpFunc`2<Microsoft.FSharp.Core.Unit, object>) <0x00039>
  at Microsoft.FSharp.Primitives.Basics.List.iter<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x00038>
  at Microsoft.FSharp.Collections.ListModule.Iterate<T> (Microsoft.FSharp.Core.FSharpFunc`2<T, Microsoft.FSharp.Core.Unit>,Microsoft.FSharp.Collections.FSharpList`1<T>) <0x00027>
  at <StartupCode$FSharp-Compiler-Interactive-Settings>.$Fsiaux.run@35 (Microsoft.FSharp.Compiler.Interactive.SimpleEventLoop,Microsoft.FSharp.Core.Unit) <0x000cb>
  at Microsoft.FSharp.Compiler.Interactive.SimpleEventLoop.Microsoft-FSharp-Compiler-Interactive-IEventLoop-Run () <0x0001f>
  at Microsoft.FSharp.Compiler.Interactive.Shell.runLoop@2066 (Microsoft.FSharp.Compiler.Interactive.Shell/FsiConsoleOutput,Microsoft.FSharp.Core.Unit) <0x00205>
  at Microsoft.FSharp.Compiler.Interactive.Shell.DriveFsiEventLoop (Microsoft.FSharp.Compiler.Interactive.Shell/FsiConsoleOutput) <0x0001b>
  at Microsoft.FSharp.Compiler.Interactive.Shell/FsiEvaluationSession.Run () <0x00bd7>
  at Microsoft.FSharp.Compiler.Interactive.Shell.evaluateSession@2382 (string[],Microsoft.FSharp.Core.Unit) <0x0009b>
  at Microsoft.FSharp.Compiler.Interactive.Shell.MainMain (string[]) <0x00127>
  at Microsoft.FSharp.Compiler.Interactive.Main.FsiMain (string[]) <0x00013>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
	0   mono                                0x00142956 mono_handle_native_sigsegv + 342
	1   mono                                0x00192fa1 sigabrt_signal_handler + 129
	2   libsystem_platform.dylib            0x99d8303b _sigtramp + 43
	3   ???                                 0xffffffff 0x0 + 4294967295
	4   libsystem_c.dylib                   0x9719aeee abort + 156
	5   mono                                0x002e28e1 monoeg_handlelog_default_handler + 129
	6   mono                                0x002e29db monoeg_assertion_message + 107
	7   mono                                0x002a48a3 mono_gc_try_alloc_obj_nolock + 739
	8   mono                                0x002a44bd mono_gc_alloc_obj + 77
	9   mono                                0x0025b834 mono_object_new_specific + 228
	10  ???                                 0x0055aad9 0x0 + 5614297
	11  ???                                 0x07263714 0x0 + 119944980
	12  ???                                 0x00563841 0x0 + 5650497
	13  ???                                 0x00563770 0x0 + 5650288
	14  ???                                 0x072635bc 0x0 + 119944636
	15  ???                                 0x06e8b498 0x0 + 115913880
	16  ???                                 0x0055a60c 0x0 + 5613068
	17  mono                                0x00091c5f mono_jit_runtime_invoke + 751
	18  mono                                0x0025425f mono_runtime_invoke + 127
	19  mono                                0x0025b0ed mono_runtime_invoke_array + 941
	20  mono                                0x001cbfac ves_icall_InternalInvoke + 892
	21  ???                                 0x03242af0 0x0 + 52701936
	22  mscorlib.dll.dylib                  0x0195c031 System_Reflection_MonoMethod_Invoke_object_System_Reflection_BindingFlags_System_Reflection_Binder_object___System_Globalization_CultureInfo + 209
	23  mscorlib.dll.dylib                  0x01aa3e91 System_MonoType_InvokeMember_string_System_Reflection_BindingFlags_System_Reflection_Binder_object_object___System_Reflection_ParameterModifier___System_Globalization_CultureInfo_string__ + 945
	24  mscorlib.dll.dylib                  0x01946417 System_Reflection_Emit_TypeBuilder_InvokeMember_string_System_Reflection_BindingFlags_System_Reflection_Binder_object_object___System_Reflection_ParameterModifier___System_Globalization_CultureInfo_string__ + 103
	25  mscorlib.dll.dylib                  0x01ad883b System_Type_InvokeMember_string_System_Reflection_BindingFlags_System_Reflection_Binder_object_object___System_Globalization_CultureInfo + 91
	26  ???                                 0x04aeb3ac 0x0 + 78558124
	27  ???                                 0x04aeb24a 0x0 + 78557770
	28  ???                                 0x032cac59 0x0 + 53259353
	29  ???                                 0x032cac10 0x0 + 53259280
	30  ???                                 0x04aeb220 0x0 + 78557728
	31  ???                                 0x037f80f8 0x0 + 58687736
	32  ???                                 0x037f5ae8 0x0 + 58677992
	33  ???                                 0x04c0c480 0x0 + 79742080
	34  ???                                 0x037f571a 0x0 + 58677018
	35  ???                                 0x04c0b068 0x0 + 79736936
	36  ???                                 0x04c0ad64 0x0 + 79736164
	37  ???                                 0x04c0a3a4 0x0 + 79733668
	38  ???                                 0x04c0a25c 0x0 + 79733340
	39  ???                                 0x04c0a224 0x0 + 79733284
	40  ???                                 0x04c0a1e3 0x0 + 79733219
	41  ???                                 0x04c0a0e2 0x0 + 79732962
	42  ???                                 0x032cac59 0x0 + 53259353
	43  ???                                 0x032cac10 0x0 + 53259280
	44  ???                                 0x04b78304 0x0 + 79135492
	45  ???                                 0x04b78220 0x0 + 79135264
	46  ???                                 0x04b77e06 0x0 + 79134214
	47  ???                                 0x04b77bec 0x0 + 79133676
	48  ???                                 0x037f52d0 0x0 + 58675920
	49  ???                                 0x0055a764 0x0 + 5613412
	50  ???                                 0x0055a078 0x0 + 5611640
	51  ???                                 0x00559e24 0x0 + 5611044
	52  ???                                 0x00559eff 0x0 + 5611263
	53  mono                                0x00091c5f mono_jit_runtime_invoke + 751
	54  mono                                0x0025425f mono_runtime_invoke + 127
	55  mono                                0x0025a2e1 mono_runtime_exec_main + 401
	56  mono                                0x0025a084 mono_runtime_run_main + 660
	57  mono                                0x0010c67d mono_jit_exec + 93
	58  mono                                0x0010e950 mono_main + 7904
	59  mono                                0x00083fd0 main + 768
	60  mono                                0x00083cc5 start + 53
Comment 7 henrik 2015-07-28 12:14:17 UTC
Here's another repro that crashes every time, and is much much smaller:

https://bugzilla.xamarin.com/show_bug.cgi?id=31934
https://github.com/Microsoft/visualfsharp/issues/531
Comment 8 Mark Probst 2015-09-23 16:58:34 UTC
Is this bug also fixed?
Comment 9 Rodrigo Kumpera 2015-09-23 17:45:19 UTC
Looks fixed in 4.2
Comment 10 Rodrigo Kumpera 2015-12-21 01:57:35 UTC
Closed as there has being no update for a whole quarter.