Hello community, here is the log from the commit of package mono-core for openSUSE:Factory checked in at 2019-04-15 11:50:58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mono-core (Old) and /work/SRC/openSUSE:Factory/.mono-core.new.17052 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "mono-core" Mon Apr 15 11:50:58 2019 rev:121 rq:694058 version:5.20.1 Changes: -------- --- /work/SRC/openSUSE:Factory/mono-core/mono-core.changes 2018-11-12 09:35:51.741667436 +0100 +++ /work/SRC/openSUSE:Factory/.mono-core.new.17052/mono-core.changes 2019-04-15 11:51:06.526507508 +0200 @@ -1,0 +2,161 @@ +Fri Apr 12 00:00:00 UTC 2019 - fwdsbs.to.11df@xoxy.net +- Update to version 5.20.1 Stable (5.20.1.19) +- Patch fix-dbg-headers.patch was updated +- Patch ucontext.patch was removed +- Added libtest.patch from upstream: fix build failure +- New features and changes: + * System.Data: the support for SSPI (Security Support Provider Interface) in System.Data assembly has been added. Additional package (krb5) needs to be installed in order to use this feature. +- Bugfixes: + * gh#mono/mono#10000 - Type.IsSubclassOf Performance Regression + * gh#mono/mono#10031 - unhandled-exception-2.exe crashes crash reporting + * gh#mono/mono#10035 - BinaryReaderTest.ReadBytesException and BinaryReaderTest.ReadCharsException fail on FullAOT+LLVM after hybrid suspend change + * gh#mono/mono#10070 - recent string loading changes break big endian with mojibake + * gh#mono/mono#10143 - Process.GetProcessesByName Memory Leak, Not Disposing Filtered Process Objects + * gh#mono/mono#10144 - Generic with “unmanaged” constraint crashes runtime + * gh#mono/mono#10227 - ProductHeaderValue parser throws exception for empty values + * gh#mono/mono#10243 - opt and llc missing from mono 2018-08 pkg + * gh#mono/mono#10244 - [wasm] Make test.js use generated driver and bindings. + * gh#mono/mono#10303 - Latest mono on macOS broke Xamarin Studio 5 compatibility: Marshal.SizeOf reports type 0x01 not handled + * gh#mono/mono#10309 - Mono issuing SIGSEGV running C# Semantic Tests + * gh#mono/mono#10412 - Native crash when debugging with exception watchpoint + * gh#mono/mono#10441 - FullAOT LLVM Linux x64 one flaky failure. + * gh#mono/mono#10446 - [ WASM ]Build fail host error + * gh#mono/mono#10448 - [iOS] CalendarTest.Hijri and CalendarTest.UmAlQura fail + * gh#mono/mono#10467 - mono_thread_info_exit ignores exit_code and just passes 0 on. + * gh#mono/mono#10483 - iOS cannot save Entity models with Nullable Guid (Guid?) property types (among others) using EF Core 2.1.2. + * gh#mono/mono#10488 - HttpWebRequest throws an uncatchable task exception when processing requests simultaneously with timeout specified + * gh#mono/mono#10506 - Update CI build scripts to not hardcode -j4 + * gh#mono/mono#10549 - Wrong characters in decimal number representation on s390x + * gh#mono/mono#10598 - Many scary “Your mono runtime and class libraries are out of sync” mono warnings when building for device + * gh#mono/mono#10603 - [wasm] Stop using mmap for loading assemblies + * gh#mono/mono#10620 - [wasm] Rename sdks WebAssembly framework libraries + * gh#mono/mono#10682 - [wasm] Build fails - ninja can not be found. + * gh#mono/mono#10735 - mono64[80780:1186894] error: * Assertion: should not be reached at debugger-agent.c:6619 + * gh#mono/mono#10802 - mono_jit_init on macOS 10.14 has graphics corruption due to mprotect invocation + * gh#mono/mono#10834 - Error loading generic override of in parameter + * gh#mono/mono#10863 - Possible GC hang while building msbuild with mono/2018-08 and mono/master + * gh#mono/mono#11123 - Type.IsSubclassOf throws TypeLoadException + * gh#mono/mono#11138 - Hybrid suspend: mono_add_internal_call is broken + * gh#mono/mono#11146 - Unhandled exception at the end of MonoDevelop.UnitTesting.Tests test run + * gh#mono/mono#11202 - Mac installer does not always clear out old files + * gh#mono/mono#11214 - SDK ‘Microsoft.NET.Sdk.Razor’ not found + * gh#mono/mono#11303 - ParameterInfo.[Raw]DefaultValue returns Missing.Value for non-null default values of DateTime? and decimal? parameters + * gh#mono/mono#11317 - Unexpected behaviour of DateTime.ToString with Korean language on iOS/Android + * gh#mono/mono#11378 - [WASM AOT] Method returning a ValueType is not returning its value as a value + * gh#mono/mono#11441 - HttpClient requests not cancelled in Dispose() + * gh#mono/mono#11478 - [XA] [2018-10] Failure in PropertyInfoTests.GetValue_Invalid + * gh#mono/mono#11479 - Loading assembly generated using tlbimp.exe give error in mono runtime + * gh#mono/mono#11489 - IronPython 2.7.9 strange issue on mono 5.16 + * gh#mono/mono#11613 - AOT crash: error: * Assertion: should not be reached at ../../../../../mono/mini/mini-arm64-gsharedvt.c:119 + * gh#mono/mono#11874 - watchOS: mini test failure in release mode: JitTests.Aot : System.Reflection.TargetInvocationException + * gh#mono/mono#11956 - os-event-unix.c:82 assert(event) failure + * gh#mono/mono#11965 - [iOS/32bit/device] mscorlib test failures: DoubleFormatterTest.TestFormatStringsN# and DoubleTest.LongLongValueRoundtrip + * gh#mono/mono#12069 - MethodInfo.ReturnParameter.IsDefined(type) throws IndexOutOfRangeException + * gh#mono/mono#12130 - [watchOS] MT3001: Could not AOT the assembly mscorlib.dll + * gh#mono/mono#12235 - Crash while profiling roslyn compiler server + * gh#mono/mono#12344 - FastCopy may silently fail to do anything + * gh#mono/mono#12362 - Problem with DefaultValueAttribute and Color values + * gh#mono/mono#12421 - Task calls SynchronizationContext.Post on cancelling + * gh#mono/mono#12461 - ReflectionModelServices.IsExportFactoryImportDefinition should not throw + * gh#mono/mono#12724 - xtro-sharpie.exe crashes with “Cannot transition thread 0x10c3ef5c0 from STATE_BLOCKING with DO_BLOCKING” + * gh#mono/mono#12747 - System.Reflection.Emit.ParameterBuilder.SetCustomAttribute() throws undocumented ArgumentOutOfRangeException + * gh#mono/mono#12831 - [iOS] Generic sharing with long float arguments list + * gh#mono/mono#12881 - MonoDevelop SDB regressions + * gh#mono/mono#6352 - Bug in TextRenderer.DrawText on Linux + * gh#mono/mono#7087 - Calling TcpListener.Create(int port) on multiple threads can fail + * gh#mono/mono#8225 - Mono mkbundle output executable throws: “Error mapping file: No error” + * gh#mono/mono#8486 - struct with 3 bytes not marshaled correctly with LLVM on watchOS + * gh#mono/mono#8575 - GetCustomAttributes on a type from an assembly in the LoadFile context fails + * gh#mono/mono#8689 - Memory leak in HttpWebRequest / HttpWebResponse when using a WebProxy + * gh#mono/mono#8766 - Starting process with empty ProcessStartInfo.Environment incorrectly inherits all variables + * gh#mono/mono#8848 - Error when debugging + * gh#mono/mono#9028 - Mono to SQL Server using integrated security no longer works on iOS + * gh#mono/mono#9089 - WaitHandle.WaitAny returns invalid result + * gh#mono/mono#9418 - SslStream.AuthenticateAsClient throws wrong exception types + * gh#mono/mono#9532 - Mono.Unix.Native.Syscall.sys_strerror_r SEGFAULT on musl libc + * gh#mono/mono#9566 - flaky runtime.finalizer-exception.exe (Assertion at unwind.c:640, condition `cfa_reg != -1’ not met) + * gh#mono/mono#9581 - Update macOS minimal version + * gh#mono/mono#9839 - Behaviour difference between Mono and CoreCLR + * gh#mono/mono#9870 - iOS: 32-bit device unit test failure: [FAIL] FSharpTest.SprintfTest : Expected: True + * gh#mono/mono#9935 - tests/src/baseservices/threading/readerwriterlockslim/upgrader.cs CoreCLR acceptance-test fails + * gh#mono/mono#9941 - WASM: Use BrowserHttpMessageHandler when available + * gh#mono/mono#9943 - System.Reflection.Assembly.LoadFile should throw ArgumentException for relative path name + * gh#mono/mono#9947 - AOT images compiled with safepoints should be usable with MONO_THREADS_SUSPEND=preemptive + * gh#mono/mono#9951 - cross build regressed wrt System.Native and “shm_open that works well enough with mmap” + * gh#mono/mono#9973 - Update framework facades list used by loader + * bxc#43447 - SynchronizedCollection.Add throws an ArgumentOutOfRangeException + +------------------------------------------------------------------- +Thu Feb 14 00:00:00 UTC 2019 - fwdsbs.to.11df@xoxy.net + +- Update to version 5.18.0.240, release skipped +- New features and changes: + * AOT: Few hard to track race conditions in trampolines unboxing for AOT backend targetting amd64 were fixed + * Interpreter: Added low-level optimizations, support Xamarin native types (nint/nuint) + * Custom Marshalers: The logic handling custom marshalers, types implementing IICustomMarshaler has been mostly rewritten + * Optimizations: The intrinsics built on top of SSE41 for Math.Round/Math.Floor/Math.Ceiling were added + * Windows: Mono Windows cross-compiler is using the same LLVM release branch as Linux resolving issues in scenarios where llvm-config.exe can’t be run (none WSL/CygWin build target) + * CoreFX convergence: more CoreFX code was imported in particular in System.Reflection namespace, Many common types in mscorlib System namespace are now fully CoreFX based including System.Math + * Mono.Options: A new CommandSet.GetCompletions() method was introduced + * System.Runtime.InteropServices: It’s now possible to use RuntimeInformation API to detect ARM and ARM64 platforms + * MSBuild: Reference assemblies for .NET 4.7.2 are included to allow targeting .NET Framework 4.7.2 using MSBuild on Mono +- Bugfixes: + * gh#mono/mono#6352 - Bug in TextRenderer.DrawText on Linux + * gh#mono/mono#7087 - Calling TcpListener.Create(int port) on multiple threads can fail + * gh#mono/mono#8575 - GetCustomAttributes on a type from an assembly in the LoadFile context fails + * gh#mono/mono#8689 - Memory leak in HttpWebRequest / HttpWebResponse when using a WebProxy + * gh#mono/mono#8766 - Starting process with empty ProcessStartInfo.Environment incorrectly inherits all variables + * gh#mono/mono#8848 - Error when debugging + * gh#mono/mono#9028 - Mono to SQL Server using integrated security no longer works on iOS + * gh#mono/mono#9089 - WaitHandle.WaitAny returns invalid result + * gh#mono/mono#9532 - Mono.Unix.Native.Syscall.sys_strerror_r SEGFAULT on musl libc + * gh#mono/mono#9566 - flaky runtime.finalizer-exception.exe (Assertion at unwind.c:640, condition `cfa_reg != -1’ not met) + * gh#mono/mono#9581 - Update macOS minimal version + * gh#mono/mono#9839 - Behaviour difference between Mono and CoreCLR + * gh#mono/mono#9870 - iOS: 32-bit device unit test failure: [FAIL] FSharpTest.SprintfTest : Expected: True + * gh#mono/mono#9935 - tests/src/baseservices/threading/readerwriterlockslim/upgrader.cs CoreCLR acceptance-test fails + * gh#mono/mono#9941 - WASM: Use BrowserHttpMessageHandler when available + * gh#mono/mono#9943 - System.Reflection.Assembly.LoadFile should throw ArgumentException for relative path name + * gh#mono/mono#9947 - AOT images compiled with safepoints should be usable with MONO_THREADS_SUSPEND=preemptive + * gh#mono/mono#9973 - Update framework facades list used by loader + * gh#mono/mono#10000 - Type.IsSubclassOf Performance Regression + * gh#mono/mono#10031 - unhandled-exception-2.exe crashes crash reporting + * gh#mono/mono#10035 - BinaryReaderTest.ReadBytesException and BinaryReaderTest.ReadCharsException fail on FullAOT+LLVM after hybrid suspend change + * gh#mono/mono#10070 - recent string loading changes break big endian with mojibake + * gh#mono/mono#10143 - Process.GetProcessesByName Memory Leak, Not Disposing Filtered Process Objects + * gh#mono/mono#10144 - Generic with “unmanaged” constraint crashes runtime + * gh#mono/mono#10227 - ProductHeaderValue parser throws exception for empty values + * gh#mono/mono#10243 - opt and llc missing from mono 2018-08 pkg + * gh#mono/mono#10244 - [wasm] Make test.js use generated driver and bindings. + * gh#mono/mono#10303 - Latest mono on macOS broke Xamarin Studio 5 compatibility: Marshal.SizeOf reports type 0x01 not handled + * gh#mono/mono#10309 - Mono issuing SIGSEGV running C# Semantic Tests + * gh#mono/mono#10412 - Native crash when debugging with exception watchpoint + * gh#mono/mono#10441 - FullAOT LLVM Linux x64 one flaky failure. + * gh#mono/mono#10446 - [ WASM ]Build fail host error + * gh#mono/mono#10448 - [iOS] CalendarTest.Hijri and CalendarTest.UmAlQura fail + * gh#mono/mono#10467 - mono_thread_info_exit ignores exit_code and just passes 0 on. + * gh#mono/mono#10483 - iOS cannot save Entity models with Nullable Guid (Guid?) property types (among others) using EF Core 2.1.2. + * gh#mono/mono#10488 - HttpWebRequest throws an uncatchable task exception when processing requests simultaneously with timeout specified + * gh#mono/mono#10506 - Update CI build scripts to not hardcode -j4 + * gh#mono/mono#10549 - Wrong characters in decimal number representation on s390x + * gh#mono/mono#10598 - Many scary “Your mono runtime and class libraries are out of sync” mono warnings when building for device + * gh#mono/mono#10603 - [wasm] Stop using mmap for loading assemblies + * gh#mono/mono#10620 - [wasm] Rename sdks WebAssembly framework libraries + * gh#mono/mono#10682 - [wasm] Build fails - ninja can not be found. + * gh#mono/mono#10802 - mono_jit_init on macOS 10.14 has graphics corruption due to mprotect invocation + * gh#mono/mono#10863 - Possible GC hang while building msbuild with mono/2018-08 and mono/master + * gh#mono/mono#11123 - Type.IsSubclassOf throws TypeLoadException + * gh#mono/mono#11138 - Hybrid suspend: mono_add_internal_call is broken + * gh#mono/mono#11146 - Unhandled exception at the end of MonoDevelop.UnitTesting.Tests test run + * gh#mono/mono#11202 - Mac installer does not always clear out old files + * gh#mono/mono#11214 - SDK ‘Microsoft.NET.Sdk.Razor’ not found + * gh#mono/mono#11303 - ParameterInfo.[Raw]DefaultValue returns Missing.Value for non-null default values of DateTime? and decimal? parameters + * gh#mono/mono#11378 - [WASM AOT] Method returning a ValueType is not returning its value as a value + * gh#mono/mono#11441 - HttpClient requests not cancelled in Dispose() + * gh#mono/mono#11478 - [XA] [2018-10] Failure in PropertyInfoTests.GetValue_Invalid + * gh#mono/mono#11479 - Loading assembly generated using tlbimp.exe give error in mono runtime + * gh#mono/mono#11613 - AOT crash: error: * Assertion: should not be reached at ../../../../../mono/mini/mini-arm64-gsharedvt.c:119 + * gh#mono/mono#11874 - watchOS: mini test failure in release mode: JitTests.Aot : System.Reflection.TargetInvocationException + * bxc#43447 - SynchronizedCollection.Add throws an ArgumentOutOfRangeException + +------------------------------------------------------------------- Old: ---- mono-5.16.0.179.tar.bz2 ucontext.patch New: ---- libtest.patch mono-5.20.1.19.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mono-core.spec ++++++ --- /var/tmp/diff_new_pack.14243Y/_old 2019-04-15 11:51:11.202509985 +0200 +++ /var/tmp/diff_new_pack.14243Y/_new 2019-04-15 11:51:11.206509987 +0200 @@ -38,10 +38,10 @@ %define roslyn no %endif -%define version_suffix 179 +%define version_suffix 19 Name: mono-core -Version: 5.16.0 +Version: 5.20.1 Release: 0 Summary: Cross-platform, Open Source, .NET development framework License: LGPL-2.1 and MIT and MS-PL @@ -52,8 +52,8 @@ Source2: gmcs # ppc build segfault so exclude it ExcludeArch: ppc -# PATCH-FIX-UPSTREAM use ucontext_t instead of struct ucontext -Patch1: ucontext.patch +# PATCH-FIX-UPSTREAM +Patch2: libtest.patch # PATCH-FIX-OPENSUSE remove checks for libmono in mono-find-provides and mono-find-requires scripts Patch14: find-deps-fix.patch # PATCH-FIX-OPENSUSE revert Microsoft.Build.Tasks library to use old mcs compiler. This will make xbuild to use old mcs instead of csc - patch is used when roslyn is unavailable for current platform (big-endian systems). @@ -191,9 +191,10 @@ %define roslyn_prefix %{buildroot}%{_prefix}/lib/mono/4.5 %define msbuild_prefix %{buildroot}%{_prefix}/lib/mono/msbuild/15.0/bin/Roslyn %define filtered_filelist printf "%s\\n" "${filelist[@]}" | grep -v "%{roslyn_prefix}/dim/" | grep -v "%{roslyn_prefix}/Microsoft.CodeAnalysis" | grep -v "%{roslyn_prefix}/Microsoft.Build.Tasks.CodeAnalysis.dll" | grep -v "%{roslyn_prefix}/System.Collections.Immutable.dll" | grep -v "%{roslyn_prefix}/System.Reflection.Metadata.dll" | grep -v "%{roslyn_prefix}/csc.exe" | grep -v "%{roslyn_prefix}/csc-dim.exe" | grep -v "%{roslyn_prefix}/vbc.exe" | grep -v "%{roslyn_prefix}/csi.exe" | grep -v "%{roslyn_prefix}/VBCSCompiler.exe" | grep -v "%{msbuild_prefix}/Microsoft.CodeAnalysis" | grep -v "%{msbuild_prefix}/Microsoft.Build.Tasks.CodeAnalysis.dll" | grep -v "%{msbuild_prefix}/System.Collections.Immutable.dll" | grep -v "%{msbuild_prefix}/System.Reflection.Metadata.dll" | grep -v "%{msbuild_prefix}/csc.exe" | grep -v "%{msbuild_prefix}/vbc.exe" | grep -v "%{msbuild_prefix}/csi.exe" | grep -v "%{msbuild_prefix}/VBCSCompiler.exe" | cat - +%define extra_req_filters grep -vE "%{buildroot}%{_prefix}/lib/mono/.*-api/Mono.Debugger.Soft.dll" %define __find_provides env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-provides && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-provides ; } | sort | uniq' -%define __find_requires env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | /usr/lib/rpm/find-requires && %{filtered_filelist} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires ; } | sort | uniq' +%define __find_requires env sh -c 'filelist=($(cat)) && { %{filtered_filelist} | %{extra_req_filters} | /usr/lib/rpm/find-requires && %{filtered_filelist} | %{extra_req_filters} | prefix=%{buildroot}%{_prefix} %{buildroot}%{_bindir}/mono-find-requires ; } | sort | uniq' %description The Mono Project is an open development initiative that is working to @@ -204,7 +205,7 @@ %prep %setup -q -n mono-%{version}.%{version_suffix} -%patch1 -p1 +%patch2 -p1 %patch14 -p1 %patch16 -p1 %if %roslyn == no @@ -289,7 +290,7 @@ # remove .a files for libraries that are really only for us rm -f %{buildroot}%{_libdir}/libMonoPosixHelper.a -rm -f %{buildroot}%{_libdir}/libmono-system-native.a +rm -f %{buildroot}%{_libdir}/libmono-native.a rm -f %{buildroot}%{_libdir}/libikvm-native.a rm -f %{buildroot}%{_libdir}/libmono-llvm.a rm -f %{buildroot}%{_libdir}/libmono-2.0.a @@ -406,7 +407,7 @@ %{_bindir}/setreg %{_bindir}/sn %{_libdir}/libMonoPosixHelper.so* -%{_libdir}/libmono-system-native.so* +%{_libdir}/libmono-native.so* %{_libdir}/libikvm-native.so %{_mandir}/man1/cert-sync.1%ext_man %{_mandir}/man1/certmgr.1%ext_man @@ -622,6 +623,7 @@ %defattr(-, root, root) %{_bindir}/mono-gdb.py %{_includedir}/mono-2.0 +%{_datarootdir}/mono-2.0/mono/eglib/ %{_libdir}/libmono-2.0.so %{_libdir}/pkgconfig/mono-2.pc @@ -1394,6 +1396,7 @@ %{_mandir}/man1/xbuild.1%ext_man %{_prefix}/lib/mono-source-libs %{_prefix}/lib/mono/4.0 +%{_prefix}/lib/mono/4.7.2-api %{_prefix}/lib/mono/4.7.1-api %{_prefix}/lib/mono/4.7-api %{_prefix}/lib/mono/4.6.2-api @@ -1431,6 +1434,7 @@ %{_prefix}/lib/mono/4.5/mdbrebase.exe* %{_prefix}/lib/mono/4.5/mkbundle.exe* %{_prefix}/lib/mono/4.5/mono-api-info.exe* +%{_prefix}/lib/mono/4.5/mono-api-diff.exe* %{_prefix}/lib/mono/4.5/mono-api-html.exe* %{_prefix}/lib/mono/4.5/mono-cil-strip.exe* %{_prefix}/lib/mono/4.5/mono-shlib-cop.exe* @@ -1490,6 +1494,7 @@ %{_prefix}/lib/mono/4.5/mdbrebase.pdb %{_prefix}/lib/mono/4.5/mkbundle.pdb %{_prefix}/lib/mono/4.5/mono-api-info.pdb +%{_prefix}/lib/mono/4.5/mono-api-diff.pdb %{_prefix}/lib/mono/4.5/mono-api-html.pdb %{_prefix}/lib/mono/4.5/mono-cil-strip.pdb %{_prefix}/lib/mono/4.5/mono-shlib-cop.pdb ++++++ fix-dbg-headers.patch ++++++ --- /var/tmp/diff_new_pack.14243Y/_old 2019-04-15 11:51:11.230509999 +0200 +++ /var/tmp/diff_new_pack.14243Y/_new 2019-04-15 11:51:11.230509999 +0200 @@ -1,17 +1,17 @@ -diff -uprN mono-5.14.0.176/Makefile.am mono-5.14.0.176.new/Makefile.am ---- mono-5.14.0.176/Makefile.am 2018-08-02 10:45:57.000000000 +0300 -+++ mono-5.14.0.176.new/Makefile.am 2018-08-02 19:04:51.125324813 +0300 -@@ -151,3 +151,6 @@ update-solution-files: +diff -uprN mono-5.20.0.211.old/Makefile.am mono-5.20.0.211/Makefile.am +--- mono-5.20.0.211.old/Makefile.am 2019-02-14 10:46:05.000000000 +0300 ++++ mono-5.20.0.211/Makefile.am 2019-02-14 20:01:25.206136053 +0300 +@@ -152,3 +152,6 @@ update-solution-files: update-solution-files-with-tests: $(MAKE) "GENPROJ_ARGS=2012 true true" update-solution-files + +confighfixdir = $(includedir)/mono-2.0 +dist_confighfix_DATA = config.h -diff -uprN mono-5.14.0.176/mono/metadata/Makefile.am mono-5.14.0.176.new/mono/metadata/Makefile.am ---- mono-5.14.0.176/mono/metadata/Makefile.am 2018-08-02 10:46:00.000000000 +0300 -+++ mono-5.14.0.176.new/mono/metadata/Makefile.am 2018-08-02 19:00:38.165324813 +0300 -@@ -382,6 +382,7 @@ libmonoruntimeinclude_HEADERS = \ +diff -uprN mono-5.20.0.211.old/mono/metadata/Makefile.am mono-5.20.0.211/mono/metadata/Makefile.am +--- mono-5.20.0.211.old/mono/metadata/Makefile.am 2019-02-14 10:46:09.000000000 +0300 ++++ mono-5.20.0.211/mono/metadata/Makefile.am 2019-02-14 20:01:25.206136053 +0300 +@@ -444,6 +444,7 @@ libmonoruntimeinclude_HEADERS = \ attrdefs.h \ blob.h \ class.h \ @@ -19,14 +19,14 @@ debug-helpers.h \ debug-mono-symfile.h \ environment.h \ -diff -uprN mono-5.14.0.176/mono/utils/Makefile.am mono-5.14.0.176.new/mono/utils/Makefile.am ---- mono-5.14.0.176/mono/utils/Makefile.am 2018-08-02 10:46:00.000000000 +0300 -+++ mono-5.14.0.176.new/mono/utils/Makefile.am 2018-08-02 19:01:48.937324813 +0300 -@@ -279,6 +279,7 @@ libmonoutilsinclude_HEADERS = \ +diff -uprN mono-5.20.0.211.old/mono/utils/Makefile.am mono-5.20.0.211/mono/utils/Makefile.am +--- mono-5.20.0.211.old/mono/utils/Makefile.am 2019-02-14 10:46:09.000000000 +0300 ++++ mono-5.20.0.211/mono/utils/Makefile.am 2019-02-14 20:03:48.353363004 +0300 +@@ -319,6 +319,7 @@ libmonoutilsinclude_HEADERS = \ mono-publib.h \ mono-jemalloc.h \ mono-dl-fallback.h \ + mono-compiler.h \ mono-counters.h - EXTRA_DIST = mono-embed.h mono-embed.c + EXTRA_DIST = mono-embed.h mono-embed.c ../../support/libm/complex.c ++++++ libtest.patch ++++++
From 95316628378f3802f091a69a715a179e210fd1d8 Mon Sep 17 00:00:00 2001 From: Alexander Kyte
Date: Mon, 11 Feb 2019 09:11:11 -0500 Subject: [PATCH] [crash] Use safer invalid-free test (#12864)
When using the previous test, some memory unsafety was observed. It's rather unrecoverable memory unsafety, as it corrupts heap memory used by the sequence points, registered MERP paths, jit info internals, and output string. Crashes seen here: https://github.com/mono/mono/pull/12387 reproduce with less than 100 iterations of this malloc test run as the stress test. ``` (MonoJitInfoTable) $2 = { domain = 0x5050505050505050 num_chunks = 1347440720 num_valid = 1347440720 chunks = {} } ``` with ``` (lldb) p/x 1347440720 (int) $0 = 0x50505050 ``` And sometimes the mono crash ``` (lldb) p *it (SeqPointIterator) $3 = { seq_point = (il_offset = 0, native_offset = 0, flags = 0, next_offset = 0, next_len = 0) ptr = 0x5050505050505050 <no value available> begin = 0x5050505050505050 <no value available> end = 0x5050505050505064 <no value available> has_debug_data = 0 } ``` === These do not reproduce when doing a double free of legally allocated memory. I think that the crash reporting tests aren't the place to check if the OS allows for wild heap corruption when doing these things. I don't think it's currently in scope for the runtime to do crash reporting after it's internal metadata tables have been corrupted. They're the source of truth for symbolication. We don't have many options to validate and reparse them, unless we want to make this all very heavyweight. --- mono/tests/libtest.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/mono/tests/libtest.c b/mono/tests/libtest.c index ace5bab7c9bf..8688c3a76b5c 100644 --- a/mono/tests/libtest.c +++ b/mono/tests/libtest.c @@ -7705,10 +7705,11 @@ mono_test_MerpCrashDladdr (void) LIBTEST_API void STDCALL mono_test_MerpCrashMalloc (void) { - void *mem = malloc (sizeof (char) * 10); - memset (mem, sizeof (mem) * 10, 'A'); - int x = 100; - g_free (&x); + gpointer x = g_malloc (sizeof(gpointer)); + g_free (x); + + // Double free + g_free (x); } LIBTEST_API void STDCALL ++++++ mono-5.16.0.179.tar.bz2 -> mono-5.20.1.19.tar.bz2 ++++++ /work/SRC/openSUSE:Factory/mono-core/mono-5.16.0.179.tar.bz2 /work/SRC/openSUSE:Factory/.mono-core.new.17052/mono-5.20.1.19.tar.bz2 differ: char 11, line 1