Mono 6.6.0 Release Notes

Release date: 10 Dec 2019

Highlights

In Depth

Runtime

Improved reliability of the Mono Crash Reporter

When Mono crashes it tries to dump a stack trace and other useful info to give developers a way to look into the issue. The crash reporter is now more reliable in certain edge cases.

WebAssembly

We continue to work on making our WebAssembly support better. Various sets of issues have been resolved in this release and general performance and feature work is happening as well.

Community improvements for AIX/PASE and Haiku

The ports for these systems received a bunch of improvements from community contributor Calvin Buckley (@NattyNarwhal).

Class Libraries

CoreFX integration

We continued to replace some of our classes with the implementation from CoreFX to improve performance and compatibility with .NET.

Tools

.NET 4.8 reference assemblies

We added reference assemblies for the .NET Framework 4.8 profile. This allows you to build libraries that target .NET 4.8 with MSBuild.

Resolved Issues

  • #7377 [Mono.Debugger.Soft] Connections are not properly closed
  • #8747 FileSystemWatcher calls event after it is Disposed
  • #9621 64 bit cross compilers targeting 32 bit platforms
  • #9664 DateTime.Now or Timezone information do not transition out of DST for all time zones
  • #9706 Dead code eliminator has infinite loop
  • #10641 New arm64_32 architecture (watchOS 5)
  • #10645 WebException is thrown when reading from WebException.Response.GetResponse() stream
  • #10748 Mono.Posix: Syscall.chown has incorrect signature
  • #10848 IsAssignableFrom issue with non-generic interface array
  • #12141 Too many supportedRuntime tags in exe.config file cause problems on Windows
  • #12421 Task calls SynchronizationContext.Post on cancelling
  • #13311 [sdb] Failure to suspend
  • #13408 [sdb] SetIP requires a resume/suspend to update client thread frames
  • #13412 Bump netstandard.dll assembly version to 2.1
  • #13445 Fork regression in Mojave due to MAP_JIT
  • #13804 [MacSDK] pkg-config is 32-bit only
  • #13813 sertion at mono-threads.c:1031, condition `info’ not met
  • #13891 MonoAssembly/MonoImage multi-domain (and ALC) correctness
  • #13923 [DIM] [CoreCLR Test] boring not working
  • #13945 TransactionScope ignores specified IsolationLevel and causes Serializable transactions to be used
  • #14080 condition ‘ji’ not met, with ‘dynamic’ and multithreading
  • #14170 “Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)” after debugger pauses and then continues on nested exception
  • #14181 Pango modules.cache contains jenkins builder path
  • #14214 HttpClient.SendAsync() with > 2 GB response body.
  • #14215 Suggestion: switch to 7z native format instead of ZIP for Mono archives
  • #14243 [Wasm] Assertion at mini-llvm.c:2106, condition clause->flags == MONO_EXCEPTION_CLAUSE_NONE || clause->flags == MONO_EXCEPTION_CLAUSE_FINALLY || clause->flags == MON#O_EXCEPTION_CLAUSE_FAULT not met
  • #14377 Document/fix functions currently not doing GC safe enter/exit around blocking OS API calls.
  • #14495 Use of reabstraction of default interface methods causes System.TypeLoadException: VTable setup of type failed
  • #14555 [runtime] Pointers are not Objects
  • #14724 eglib g_shell_parse_argv() treats \ in ‘ quote differently from glib
  • #14729 interpreter tests fail on iOS and tvOS for mscorlib tests
  • #14787 Epic: CoreFX tests execution on MonoVM
  • #14792 [sdks][ios] Perform the appropriate cast of objc_msgSend and friends
  • #14793 Mono-Native not working on MacOS Catalina
  • #14809 Cannot box IsByRefLike type 'System.ReadOnlySpan'1' in Forms designer tests with 6.0
  • #14830 [netcore]Implement AssemblyLoadContext.InternalLoad
  • #14839 [xamarin] TimeZoneInfo.Local always returns “Local” name
  • #14841 opt: Unknown command line argument ‘-place-safepoints’ in XI 2019-06 integration
  • #14847 [interp] fix test failures of xtest-System.Runtime.Tests
  • #14864 [corlib] Mark PropertyInfo [Serializable]
  • #14871 [wasm] System.Text.Json struct serialization fails (but works on CoreCLR)
  • #14872 System.Runtime.CompilerServices.UnsafeTests.ReadWriteDoublePointer test failure on devices in Xamarin.iOS
  • #14917 [netcore] Make System.Linq.Expressions.Tests.BindTests.GlobalField Pass
  • #14940 [Wasm] WebAssembly.Net.Http.HttpClient fails under AOT
  • #14945 [netcore] Make System.Linq.Expressions.Tests.ConvertCheckedTests.ConvertCheckedDoubleToULongTest Pass
  • #14946 [netcore] Make System.Linq.Expressions.Tests.ConvertCheckedTests.ConvertCheckedDoubleToNullableULongTest Pass
  • #14948 [netcore] Make System.Linq.Expressions.Tests.ConvertCheckedTests.ConvertCheckedNullableDoubleToULongTest Pass
  • #14957 [bockbuild] Non-git sources (like Nuget) don’t have their cache invalidated properly
  • #14959 [netcore] Make System.SpanTests.SpanTests.MemoryMarshal_GenericStaticReturningSpan Pass
  • #14971 File.Move no longer moves dangling symlinks properly on macOS systems
  • #14972 Xamarin.iOS: System.ExecutionEngineException: Attempting to JIT compile method ‘(wrapper delegate-begin-invoke) System.IAsyncResult System.Func`2<ExecutionEngineExceptionTest.AppDelegate, bo#ol>:begin_invoke_IAsyncResult__this___T_AsyncCallback_object (ExecutionEngineExceptionTest.AppDelegate,System.AsyncCallback,object)’
  • #14975 Mono profiler crashes when running IDE leak tests for VSMac
  • #15023 [netcore] Make System.Reflection.Tests.GetTypeTests.GetType_EmptyString Pass
  • #15048 [aot] Duplicate .fnstart Directive Compiler Error
  • #15058 [2019-06][iOS] Several tests on iOS fail on a 32b device
  • #15080 [netcore] Make System.Reflection.Tests.TypeInfoTests.IsAssignableFrom Pass
  • #15182 [netcore] Make System.Diagnostics.Tests.StackTraceTests.Ctor_Exception_SkipFrames Pass
  • #15188 [netcore] Make System.Diagnostics.Tests.StackTraceTests.Ctor_Exception_SkipFrames_FNeedFileInfo Pass
  • #15189 [netcore] System.Drawing.Drawing2D.Tests.ColorBlendTests.Ctor_LargeCount_ThrowsOutOfMemoryException
  • #15247 ves_icall_TypeBuilder_create_runtime_class_raw USED 132 handles
  • #15261 [iOS][Tests] There are a number of System.Numeric tests that fail on iOS 32b devices
  • #15262 [iOS][Tests] A number of linq tests fail on iOS 32b devices
  • #15263 [iOS][Tests] A number of tests from Microsoft.CSharp fail on iOS 32b devices.
  • #15265 [watchOS][Tests] The System_xunit-test.dll for watchOS includes tests that should be ignored
  • #15268 [debugger] Add intrinsic for creating a byte array
  • #15307 [iOS][Tests] Several corelib tests crash on iOS32b devices.
  • #15324 [netcore] Make System.Reflection.Emit.Tests.DynamicMethodctor1.ByRefReturnType_DoesNotThrow Pass
  • #15328 [MacOS][Tests] Several tests fail due to a System.IO exception
  • #15329 [MacOS Modern][Tests] System.IO.AnonymousPipe tests are included when they are not supported.
  • #15330 Runtime deadlock
  • #15336 [netcore] Make System.Reflection.Tests.IdentityTests.ParameterEquality2 Pass
  • #15337 [netcore] Make System.Reflection.Tests.TypeTests_GetMember.TestCaseInsensitive1 Pass
  • #15338 [netcore] Make System.Reflection.Tests.TypeTests_StructLayoutAttribute.Test_ExplicitAutoEightFortyTwo Pass
  • #15341 [netcore] Make System.Reflection.Tests.TypeTests_HiddenEvents.GetEventHidesEventsBySimpleNameCompare Pass
  • #15342 [netcore] Make System.Reflection.Tests.TypeInfoDeclaredNestedTypeTests.* Pass
  • #15343 [netcore] Make System.Reflection.Tests.TypeTests_PrefixingOnlyAllowedOnGetMember.TestGetMemberAll Pass
  • #15345 [netcore] Make System.Reflection.Tests.TypeTests_HiddenMethods.GetMethodDoesNotHideHiddenMethods Pass
  • #15346 [netcore] Make System.Reflection.Tests.TypeTests_HiddenProperties.GetPropertyHidesPropertiesByNameAndSigAndCallingConventionCompare Pass
  • #15347 [netcore] Make System.Reflection.Tests.AssemblyTests.CrossAssemblyTypeRefToNestedType Pass
  • #15348 [netcore] Make System.Reflection.Tests.TypeTests_HiddenFields.GetFieldDoesNotHideHiddenFields Pass
  • #15351 [netcore] Make System.Reflection.Tests.TypeTests_HiddenTestingOrder.HideDetectionHappensAfterPrivateInBaseClassChecks Pass
  • #15365 [wasm][framework] Review framework linker descriptions
  • #15441 “pos undeclared” compilation error
  • #15446 [wasm][debugger] display variable in scope
  • #15503 Fix zlib linkage on mingw/msvc builds.
  • #15541 Interpreter doesn’t preserve last error on P/Invoke in MinGW builds
  • #15551 [wasm] generic constraint failure
  • #15556 [sdb] Invocation issue with fixed buffers
  • #15596 [netcore] JitHelpers.EnumEquals and EnumCompareTo are not implemented for Interpreter
  • #15646 MERP indefinitely hangs on application quit
  • #15691 Clear last error for SetLastError=true P/Invoke
  • #15692 Catching IndexOutOfRange doesn’t provide message
  • #15734 [wasm][sdk] Failed package if ENABLE_WASM_THREADS is not active
  • #15740 The wcf don’t allow PUT, DELETE or OPTIONS.
  • #15751 Memory leak in mono 6.0.0.313 for delegates with target that are passed to native code
  • #15760 TypeLoadException thrown for recursive type that .NET allows
  • #15781 MERP Crash Test Can Never Fail
  • #15794 conv.r.un with float argument causes segfault
  • #15825 DeflateStream leaks native memory if not explicitly disposed
  • #15853 Marshal.Release(IntPtr.Zero) throws ArgumentException on Mono, ArgumentNullException on CLR
  • #15878 Crash in mono_coop_mutex_lock while running VS for Mac
  • #15887 [regression] File.GetLastWriteTime fails with specific (GMT+8) timezone
  • #15931 1024 hard limit of open file descriptors
  • #15990 possible floating point regression on ppc
  • #15999 [mini] run regression tests with fullaot+llvm
  • #16010 typeof(object).GetMember(“”) does not return an empty array
  • #16024 Native crash in ves_icall_System_Net_Sockets_Socket_Connect_internal
  • #16032 IOException: Sharing violation on path …
  • #16369 Relocations in .text on arm
  • #16395 [Mobile] DateTime.Now returns incorrect local time for one hour after entering DST in 39 locales.
  • #16411 JitTests.Float fails on iOS devices in release mode on 2019-08
  • #16486 FileSystemEventArgs.FullPath throws ArgumentNullException
  • #16570 Crash on GetParameters() with UnmanagedType.LPArray in dynamic assembly
  • #16689 [merp] missing data in crashing reporting json native frames
  • #16709 Disposing the FileSystemWatcher does not close associated file descriptors
  • #16712 SIGSEGV in mono_class_setup_vtable_general
  • #16759 Stream.ReadAsync continues on different thread
  • #16803 mono_gc_finalize_notify spinning after process exit
  • #16824 Crash when debugging iOS application that throws on DispatchQueue
  • #16864 [arm64_32] fix remaining regression tests
  • #16918 XmlSerializer Deserializing Property with same name as its enum type no longer works
  • #16974 File.GetCreationTimeUtc() returns the time last modified, not time created
  • #17004 [merp] crash reports have Darwin kernel version in OSVersion field
  • #17083 Regression: when debugger encounters a not-unhandled exception, it stops and shows “Dns.cs file not found” (Dns being the BCL class used)
  • #17151 DriveInfo return empty space for system volume on MacOS 10.15 Catalina
  • #17180 [merp] mono_summarize_unmanaged_stack tries to take a lock while calling decode_exception_debug_info

Contributors

Acid Chicken (硫酸鶏), Adam Sitnik, Aleksey Kliger, Alexander Kyte, Alexander Köplinger, Alexis Christoforides, Andrii Siriak, Andy Gocke, Andy Hanson, Ankit Jain, Ben Adams, Bernhard Urban, Bijan Tabatabai, Brendan Zagaeski, Calvin Buckley, Carlos Sanchez Lopez, Cassio de Vargas Oliveira, Cody Russell, Dan Moseley, Dmitry Kalyanov, Egor Bogatov, EgorBo, Filip Navara, Ganbarukamo41, Herman Eldering, Imran Hameed, Jan Kotas, Jay Krell, Jb Evain, Jeremy Kuhne, Jerome Laban, Jo Shields, Johan Lorensson, Jonathan Chambers, Katelyn Gadd, Kenneth Pouncey, Kevin Pilch, Koundinya Veluri, Kyle White, Larry Ewing, Levi Broderick, Marco Rossignoli, Marek Habersack, Marek Safar, Marius Ungureanu, Martin Baulig, Maryam Ariyan, Maxim Lipnin, Micah N Gorrell, Michal Strehovský, Miguel de Icaza, Nicholas Schell, Nikita Voronchev, Nikolay Sivov, Peter Collins, Phil Jaenke, Radek Doulik, Rich Lander, Rolf Bjarne Kvinge, Roman Marusyk, Ryan Lucia, Santiago Fernandez Madero, Sebastien Lebreton, Sebastien Pouliot, Stephen Toub, Steve MacLean, Steve Pfister, Sung Yoon Whang, Tanner Gooding, Tarek Mahmoud Sayed, Thays Grazia, UnknownShadow200, Viktor Hofer, Vlad Brezae, Youssef1313, Zebediah Figura, Zoltan Varga, coypoop, imhameed, lateralusX, naricc, ts2do, turbo