monojenkins [Wed, 25 Mar 2020 04:39:42 +0000 (00:39 -0400)]
[llvmonly] Throw an ExecutionEngine exception with a helpful message when we try to execute a method which failed AOT compilation. (#34027)
<!--
Thank you for your Pull Request!
If you are new to contributing to Mono, please try to do your best at conforming to our coding guidelines http://www.mono-project.com/community/contributing/coding-guidelines/ but don't worry if you get something wrong. One of the project members will help you to get things landed.
Does your pull request fix any of the existing issues? Please use the following format: Fixes #issue-number
-->
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Eric StJohn [Wed, 25 Mar 2020 03:57:04 +0000 (20:57 -0700)]
Add iOS.10 with arm support to RID graph (#33990)
* Add iOS.10 with arm support to RID graph
* Make iOS RIDs go back to 8
Stephen Toub [Wed, 25 Mar 2020 02:22:17 +0000 (22:22 -0400)]
Disable UseClientCertOnHttp2_OSSupportsIt_Success test (#34028)
Stephen Toub [Wed, 25 Mar 2020 02:20:12 +0000 (22:20 -0400)]
Fix SemaphoreSlim handling of canceled continuation invocations (#34036)
When a SemaphoreSlim.WaitAsync(CancellationToken) completes because the token has cancellation requested, we end up invoking any continuations off of the returned Task synchronously as part of the cancellation registration. That in turn means that a thread is blocked waiting for that cancelation callback to complete, which can lead to deadlock in niche situations. We need to force this continuation to be async.
Eric StJohn [Wed, 25 Mar 2020 02:14:19 +0000 (19:14 -0700)]
Adding transport package for extensions (#33515)
Stephen Toub [Wed, 25 Mar 2020 02:00:45 +0000 (22:00 -0400)]
Update analyzer versions and fix violations (#34041)
Andy Ayers [Wed, 25 Mar 2020 01:43:01 +0000 (18:43 -0700)]
JIT: block throw helper merges for first block of a try (#34039)
Otherwise we may create a branch into the middle of a try. We could fix the
transform, but if the first block of a try has a throw helper call, the rest
of the try will subsequently be removed, so merging is not all that
interesting.
Addresses an issue that came up in #33924.
Ryan Lucia [Tue, 24 Mar 2020 23:40:25 +0000 (19:40 -0400)]
[metadata] Fix leak in custom attribute lookup (#33937)
Santiago Fernandez Madero [Tue, 24 Mar 2020 22:49:28 +0000 (15:49 -0700)]
Disable zip download for azure devops download task (#34032)
* Disable zip download for azure devops download task
* Fix typo
Alexander Köplinger [Tue, 24 Mar 2020 22:39:42 +0000 (23:39 +0100)]
Add Android build configurations for Mono/Libraries (#33881)
* Add Android build configurations
* Enable System.Globalization.Native on Android
Dynamically load the libicu from the system. Android NDK doesn't ship with icu headers so for now define prototypes for all the functions we use ourselves.
* Add temporary stub HashProvider that throws NIE on Android
We still need to hook up the native System.Security.Native library.
Unblocks Xamarin.Forms startup.
Eirik Tsarpalis [Tue, 24 Mar 2020 22:01:27 +0000 (22:01 +0000)]
[CBOR] Implement indefinite length writer and reader support (#33831)
* Implement indefinite length writes
* add indefinite-length cbor reader support
* Use CborReaderState.FormatError in Peek() instead of throwing exceptions.
* use verbose naming for indefinite-length write methods
* address feedback
* implement concatenation logic for indefinite-length string readers
* add tests for nested indefinite-length strings
* fix naming issues
* check that TryReadString() methods are idempotent on failed reads.
* use string.Create instead of char buffer; share single range list allocation
* only clear List if it is guaranteed to be reused
* move field to top of main CborReader source file.
monojenkins [Tue, 24 Mar 2020 21:25:10 +0000 (17:25 -0400)]
[debugger] Implementing step through multithreaded code. (#33062)
* Implementing step through multithreaded code.
* Fixing concurrency in the case that more than one thread will run the same code, then when the jit is finished, the thread which jitted the code calls jit_done and the others that were waiting don't call, in this case, the other threads can run before the thread which is calling the jit_done set the breakpoint, so the other threads will not stop in the breakpoint.
As I understood we don't need to check if the try_suspend_runtime is returning false or true when we hit a breakpoint from context, so removed the call.
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Santiago Fernandez Madero [Tue, 24 Mar 2020 20:29:15 +0000 (13:29 -0700)]
Set osOverride default value to empty on mono builds (#33987)
Author: Santiago Fernandez Madero <safern@microsoft.com>
Marek Safar [Tue, 24 Mar 2020 19:41:23 +0000 (20:41 +0100)]
Re-enable linker optimization disabled in #2334 (#32865)
Alexander Köplinger [Tue, 24 Mar 2020 17:20:37 +0000 (18:20 +0100)]
Fix compilation of System.Net.Security.Native (#34018)
It was accidentally moved to a OSX/iOS-only conditional in https://github.com/dotnet/runtime/pull/33970 but it should be built on Linux too.
Nikola Milosavljevic [Tue, 24 Mar 2020 17:10:01 +0000 (10:10 -0700)]
Add System*Native libraries from .NET Core 3.1 release, to Platform Manifest (#33988)
* Add System*Native libraries from .NET Core 3.1 release, to Platform Manifest
* Updates based on PR comments
Stephen Toub [Tue, 24 Mar 2020 17:09:47 +0000 (13:09 -0400)]
Disable failing WinHttpHandler HTTP/2 test (#34011)
dotnet-maestro[bot] [Tue, 24 Mar 2020 16:37:57 +0000 (17:37 +0100)]
Update dependencies from https://github.com/dotnet/llvm-project build
20200316.2 (#33961)
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20166.2
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20166.2
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools - 6.0.1-alpha.1.20166.2
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk - 6.0.1-alpha.1.20166.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Alexander Nikolaev [Tue, 24 Mar 2020 16:35:00 +0000 (17:35 +0100)]
Run stress tests on private Asp.Net Core package (#33860)
Currently, it's possible to run stress tests on privately built CoreCLR and libraries by executing load-corefx-testhost.ps1 -b followed by run-docker-compose.ps1 -b. However, it was not possible to run the stress server on a private Asp.Net Core package which is used for private libraries build.
This PR adds a new -pa parameter to run-docker-compose.ps1 which builds a server container with a private Asp.Net Core package version.
David Wrighton [Tue, 24 Mar 2020 16:34:05 +0000 (09:34 -0700)]
Reenable unified instruction set logic (#33936)
* Revert "Revert "Unify instruction set definition (#33730)""
This reverts commit
5a71f14da2c9c2f4ef4fc1dc85f40a70bbc10dc5.
* Ensure that 64 bit variants of instruction sets are handled correctly
- Make sure to enable them based on the related 32bit instruction sets before disabling instruction sets that are enabled but not compatible with the instruction set hierarchy the runtime is designed for.
* Update jit EE version interface as this revert changes the interface back to the pre-revert state.
Tanner Gooding [Tue, 24 Mar 2020 16:28:08 +0000 (09:28 -0700)]
Update lowerxarch to handle some hwintrinsics that were missed (#33983)
* Update lowerxarch to handle some hwintrinsics that were missed
* Don't mark ShiftLeftLogical128BitLane or ShiftRightLogical128BitLane as NoContainment, as they have a containable immediate
Stephen Toub [Tue, 24 Mar 2020 15:44:28 +0000 (11:44 -0400)]
Disable JsonSerializer test failing in CI (#34012)
Anirudh Agnihotry [Tue, 24 Mar 2020 14:18:37 +0000 (07:18 -0700)]
fix clean (#33758)
Aleksey Kliger (λgeek) [Tue, 24 Mar 2020 13:29:45 +0000 (09:29 -0400)]
[mono] Make some API functions public and private (#33736)
* [mini] Move mono_install_load_aot_data_hook to a public header
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
* [gc] Make mono_gc_init_finalizer_thread a public API
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
* [utils] Move mono_trace_init to a public header
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
* Update ios sample
* Revert "[utils] Move mono_trace_init to a public header"
This reverts commit
a0cc08768e97c7b630ccbf54e48020b06436f874.
* [utils] init mono_logger in all public API functions
Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
* [jit] Move mono_install_load_aot_data_hook to mono-private-unstable.h
We do not guarantee that this API will be stable
Alexander Köplinger [Tue, 24 Mar 2020 13:29:16 +0000 (14:29 +0100)]
iOS: Enable System.Net.Security.Native and parts of System.Security.Cryptography.Native.Apple (#33970)
Unavailable APIs are excluded via #if for now.
Jan Kotas [Tue, 24 Mar 2020 13:20:28 +0000 (06:20 -0700)]
Fix build break with latest VS preview (#33996)
runtime\src\coreclr\src\gc\gc.cpp(4343,1): warning C5208: unnamed class used in typedef name cannot declare members other than non-static data members, member enumerations, or member classes
Anton Vasiliev [Tue, 24 Mar 2020 12:48:04 +0000 (15:48 +0300)]
Fix incorrect comment in Queue.Dequeue (#34006)
The comment in front of System.Collections.Queue.Dequeue() changed to
match actual routine behavior.
Jan Kotas [Tue, 24 Mar 2020 12:47:28 +0000 (05:47 -0700)]
Minor doc updates (#34003)
Stephen Toub [Tue, 24 Mar 2020 12:46:56 +0000 (08:46 -0400)]
Remove a few boxing/string allocations in XmlJsonWriter (#33991)
Stephen Toub [Tue, 24 Mar 2020 12:45:08 +0000 (08:45 -0400)]
Suppress analyzer warning about ValueTask usage (#33994)
monojenkins [Tue, 24 Mar 2020 11:59:18 +0000 (07:59 -0400)]
[interp] Replace ldloca + ldfld/stfld pairs with ldloc/stloc (#33952)
If loaded/stored field is the only field of the valuetype. This is meant to mainly optimize IntPtr accesses, which contains a single void* field and is heavily used in Unsafe intrinsics.
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
Alexander Köplinger [Tue, 24 Mar 2020 10:44:34 +0000 (11:44 +0100)]
Rename TARGET_DARWIN to TARGET_OSX (#33959)
https://github.com/dotnet/runtime/pull/33716 set TARGET_DARWIN for iOS too but most of the logic is really OSX-specific.
Unset TARGET_DARWIN for iOS and rename the rest of the occurrences to TARGET_OSX.
dotnet-maestro[bot] [Tue, 24 Mar 2020 09:12:04 +0000 (10:12 +0100)]
[master] Update dependencies from dotnet/arcade mono/linker (#33852)
* Update dependencies from https://github.com/dotnet/arcade build
20200320.1
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20170.1
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20170.1
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20170.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20170.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20170.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20170.1
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20170.1
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20170.1
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20170.1
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20170.1
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20170.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20170.1
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20170.1
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20170.1
* Update dependencies from https://github.com/dotnet/arcade build
20200320.4
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20170.4
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20170.4
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20170.4
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20170.4
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20170.4
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20170.4
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20170.4
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20170.4
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20170.4
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20170.4
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20170.4
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20170.4
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20170.4
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20170.4
* Update dependencies from https://github.com/mono/linker build
20200320.1
- ILLink.Tasks - 0.1.6-prerelease.20170.1
* Update dependencies from https://github.com/dotnet/arcade build
20200321.1
- Microsoft.DotNet.XUnitExtensions - 5.0.0-beta.20171.1
- Microsoft.DotNet.VersionTools.Tasks - 5.0.0-beta.20171.1
- Microsoft.DotNet.ApiCompat - 5.0.0-beta.20171.1
- Microsoft.DotNet.Arcade.Sdk - 5.0.0-beta.20171.1
- Microsoft.DotNet.Build.Tasks.Feed - 5.0.0-beta.20171.1
- Microsoft.DotNet.Build.Tasks.Packaging - 5.0.0-beta.20171.1
- Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk - 5.0.0-beta.20171.1
- Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk - 5.0.0-beta.20171.1
- Microsoft.DotNet.CodeAnalysis - 5.0.0-beta.20171.1
- Microsoft.DotNet.GenAPI - 5.0.0-beta.20171.1
- Microsoft.DotNet.GenFacades - 5.0.0-beta.20171.1
- Microsoft.DotNet.Helix.Sdk - 5.0.0-beta.20171.1
- Microsoft.DotNet.RemoteExecutor - 5.0.0-beta.20171.1
- Microsoft.DotNet.XUnitConsoleRunner - 2.5.1-beta.20171.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Johan Lorensson [Tue, 24 Mar 2020 07:24:12 +0000 (08:24 +0100)]
Remove Mono runtime vcruntime140.dll release build dependency. (#33853)
CoreCLR static link vcruntime140.dll, but dynamic link rest of
C-runtime using ucrt.lib in release build. Commit align Mono runtime to
follow same pattern, removing dependency on vcruntime140.dll.
Johan Lorensson [Tue, 24 Mar 2020 07:22:46 +0000 (08:22 +0100)]
Implement icall used by RuntimeHelpers.EnsureSufficientExecutionStack on netcore Mono. (#33857)
Current implementation always returned true for Windows/Linux/Android.
There are however use of this API in Task library to make sure recursive
tasks won't hit stackoverflow. There are several tests in System.Threading.Tasks
that currently hit this, at least on Windows, causing test failures.
Fix use stack limits already setup in register_thread and used by GC when
doing conservative stack scan. If the limits have not been setup or is not
supported on platform, we will use old defaults, always assume there is
enough stack space available. Heuristics around size of minimum execution
stack needed are picked from corresponding CoreCLR implementation.
Jan Kotas [Tue, 24 Mar 2020 07:00:45 +0000 (00:00 -0700)]
Fix nullability annotations for ProfileOptimization.StartProfile (#33945)
Fixes #33426
Robert Henry [Tue, 24 Mar 2020 04:42:23 +0000 (21:42 -0700)]
Update README.md (#33999)
Add missing back-ticks to quote a path name.
Robert Henry [Tue, 24 Mar 2020 04:40:13 +0000 (21:40 -0700)]
Update README.md (#33995)
Add missing articles ("the") to README.md
monojenkins [Tue, 24 Mar 2020 04:28:06 +0000 (00:28 -0400)]
Move unbox tramp method address table to data segment, MONO_ARCH_CODE_EXEC_ONLY. (#33969)
unbox tramp method addresses are emitted as a table of calls and read at runtime by get_call_table_entry. This is problematic on platforms that doesn't allow data to be read from instruction stream.
Fix follow same pattern as method address table emitted as function pointers into table in data segment when using MONO_ARCH_CODE_EXEC_ONLY.
Co-authored-by: lateralusX <lateralusX@users.noreply.github.com>
Aleksey Kliger (λgeek) [Tue, 24 Mar 2020 03:13:58 +0000 (23:13 -0400)]
[mono] retry mono_threads_pthread_kill if result == EAGAIN on Linux (#33966)
* [mono] retry mono_threads_pthread_kill if result == EAGAIN on Linux
Try to address https://github.com/dotnet/runtime/issues/32377
(signal queue overflow) by sleeping and retrying a few times.
Egor Chesakov [Tue, 24 Mar 2020 02:39:36 +0000 (19:39 -0700)]
[Arm64] Implement more hardware intrinsics as proposed in #24794 (#33889)
- Implements the following intrinsics as proposed in #24794:
* AbsoluteDifferenceAdd
* MultiplyExtended, MultiplyExtendedScalar
* PolynomialMultiply
* ReciprocalEstimate, ReciprocalEstimateScalar
* ReciprocalExponentScalar
* ReciprocalSquareRootEstimate, ReciprocalSquareRootEstimateScalar
* ReciprocalSquareRootStep, ReciprocalSquareRootStepScalar
* ReciprocalStep, ReciprocalStepScalar
- Implements frecpe, frecps, frecpx, frsqrte, frsqrts, urecpe, ursqrte instructions
- Fixes implementation for fcmeq, fcmge, fcmgt, fcmle, fcmlt *(zero immediate)* instructions
- Adds missing flag BaseTypeFromFirstArg for AbsoluteDifference intrinsics
Aleksey Kliger [Tue, 24 Mar 2020 01:26:24 +0000 (21:26 -0400)]
[jit] Move mono_install_load_aot_data_hook to mono-private-unstable.h
We do not guarantee that this API will be stable
Aleksey Kliger [Tue, 24 Mar 2020 01:21:35 +0000 (21:21 -0400)]
[utils] init mono_logger in all public API functions
Embedders don't need to call mono_trace_init before calling
mono_trace_set_log_handler, mono_trace_set_print_handler or mono_trace_set_printerr_handler
Aleksey Kliger [Tue, 24 Mar 2020 01:18:35 +0000 (21:18 -0400)]
Revert "[utils] Move mono_trace_init to a public header"
This reverts commit
a0cc08768e97c7b630ccbf54e48020b06436f874.
Aleksey Kliger [Wed, 18 Mar 2020 21:08:20 +0000 (17:08 -0400)]
Update ios sample
Aleksey Kliger [Wed, 18 Mar 2020 20:41:25 +0000 (16:41 -0400)]
[utils] Move mono_trace_init to a public header
It was already marked as MONO_API, but it was not in a public header.
It is used by embedders such as Xamarin.iOS
Aleksey Kliger [Wed, 18 Mar 2020 20:38:52 +0000 (16:38 -0400)]
[gc] Make mono_gc_init_finalizer_thread a public API
It was already used by Xamarin.iOS but wasn't in a public header and required
compiling with --disable-visibility-hidden in order to dlsym the symbol.
If --with-lazy-gc-thread-creation is used, embedders must call this function to
create the finalizer therad. Otherwise the function does nothing and the
runtime will create the finalizer thread automatically.
Aleksey Kliger [Wed, 18 Mar 2020 20:30:33 +0000 (16:30 -0400)]
[mini] Move mono_install_load_aot_data_hook to a public header
It's already a MONO_API and it is used, for example, by Xamarin.iOS, but it
wasn't in a public header.
Mark it external only. There are no uses of it inside the runtiem
Aleksey Kliger (λgeek) [Mon, 23 Mar 2020 23:54:30 +0000 (19:54 -0400)]
[mono] Add headers for unstable APIs (#33869)
* [mono] Add headers for unstable APIs
We have functions that are de-facto part of the Mono embedding API that are
used by Xamarin.iOS or Xamarin.Android that are not in a state where we want to
commit to supporting them forever in their current form.
Nonetheless, we would like to make sure that the symbols for these functions
are visible even if we otherwise compile the runtime with
`-fvisisibility=hidden`, and we would like to discourage declaring the
functions in the embedder's own headers.
The functions that go into the
`mono/{utils,metadata,jit}/mono-private-unstable.h` headers will all be marked
with `MONO_API MONO_RT_EXTERNAL_ONLY` but we will not guarantee that the
functions will be there from one release to the next or that they will not
change their signatures or their behaviors.
* [msvc] Add the three mono-private-unstable.h files
Jan Kotas [Mon, 23 Mar 2020 22:53:35 +0000 (15:53 -0700)]
More efficient interop for BITMAPINFOHEADER (#33967)
Kirill Frolov [Mon, 23 Mar 2020 21:41:05 +0000 (00:41 +0300)]
Fixed build with GDBJIT enabled and PREJIT disabled (#33958)
This commit fixes build for case, when FEATURE_GDBJIT
is enabled, but FEATURE_PREJIT is disabled.
This solves issue #33956.
monojenkins [Mon, 23 Mar 2020 19:16:45 +0000 (15:16 -0400)]
[jit] Perform inlining earlier during call processing to avoid loading vtable/rgctx args which are not needed. (#33951)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
monojenkins [Mon, 23 Mar 2020 11:38:36 +0000 (07:38 -0400)]
[debug_interp] Do not use uninitialized local. (#33910)
Co-authored-by: jaykrell <jaykrell@users.noreply.github.com>
Ryan Lucia [Mon, 23 Mar 2020 06:10:45 +0000 (02:10 -0400)]
[loader] Fix mistake in netcore_load_reference comment (#33941)
The code here was right, the comment wrong. Also updated to mention that we now check APP_PATHS.
Yoh Deadfall [Mon, 23 Mar 2020 02:37:30 +0000 (05:37 +0300)]
Optimized built-in factory lookup (#2248)
* Optimized built-in factory lookup
* Inlined array construction of factories
* Optimized init of default converter lookup
* Removed comments
* Returned comments back
Francesco Saltori [Mon, 23 Mar 2020 01:06:39 +0000 (02:06 +0100)]
Add service name to TimeoutException message (#33927)
Jeremy Barton [Sun, 22 Mar 2020 18:51:47 +0000 (11:51 -0700)]
Increase number of attempts before failure in ECDSA-DER (#33933)
Of the four test keys, 3 have a 75% chance of being smaller than max on each call.
(1 - 0.75) ^ 10 = 9.5e-7, so failure happens slightly more rarely than 1 in a million.
The fourth test key only has a 43.75% chance (1 - (.75 * .75)) of being smaller,
and (1 - .4375) ^ 10 = 3.1e-3, so slightly more likely than 3 per thousand.
Raising the iteration count to 36 brings the fourth key odds of failure to about 1 in a billion (1.01e-9).
36 iterations makes the other 3 fail at 1e-22; but 1e-9 is attained at 15 iterations.
Kevin Jones [Sun, 22 Mar 2020 18:10:45 +0000 (14:10 -0400)]
Create one-shot PEM reader and writer
The reader and writer use the restricted form of PEM from IETF RFC 7468.
The reader uses the `laxtextualmsg` form, with a restricted subset of allowed whitespace (no vertical tab or form feed).
The writer writes according to the `stricttextualmsg` form.
Next Turn [Sun, 22 Mar 2020 15:43:58 +0000 (23:43 +0800)]
Add clrcompression static library (#33922)
Francesco Saltori [Sun, 22 Mar 2020 15:32:49 +0000 (16:32 +0100)]
Remove unused strings in System.ServiceProcess (#33929)
Tomáš Rylek [Sun, 22 Mar 2020 09:20:45 +0000 (10:20 +0100)]
Create test wrappers in run phase, not build phase aka make Crossgen2 runs green (#33898)
We need to compile the test wrappers in the test run phase as the
build phase is potentially common to multiple test runs and doesn't
generally know about execution details like the use of Crossgen
/ Crossgen2. Because of this Simon's change to baseline
Crossgen2-specific issues doesn't work.
Thanks
Tomas
monojenkins [Sun, 22 Mar 2020 01:18:18 +0000 (21:18 -0400)]
[llvm] Unify the emission of GOT access. NFC. (#33714)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Maryam Ariyan [Sun, 22 Mar 2020 00:20:32 +0000 (17:20 -0700)]
Enable Microsoft.Extensions.DependencyInjection (#33816)
* Enables DI and Options
Stephen Toub [Sat, 21 Mar 2020 22:01:49 +0000 (18:01 -0400)]
Annotate System.Net.Mail for nullable reference types (#33826)
Viktor Hofer [Sat, 21 Mar 2020 18:59:46 +0000 (19:59 +0100)]
Remove duplicates and fix namespaces in S.T.RegularExpressions (#33917)
Bruce Forstall [Sat, 21 Mar 2020 17:41:21 +0000 (10:41 -0700)]
Enable Windows arm64 JIT stress pipeline testing (#33906)
Windows arm32 is still disabled until https://github.com/dotnet/runtime/issues/1097
is fully resolved.
Stephen Toub [Sat, 21 Mar 2020 15:03:25 +0000 (11:03 -0400)]
Fix LangVersion for C# projects (#33868)
Egor Bogatov [Sat, 21 Mar 2020 14:01:13 +0000 (17:01 +0300)]
[mono] Implement System.Console for iOS (#33827)
* Add iOS version of System.Console
Nathan Ricci [Sat, 21 Mar 2020 13:30:39 +0000 (09:30 -0400)]
Naricc/add coreclr check (#33810)
Initial break up of tests by runtime; we now have catagories of tests that fail on mono/coreclr/both.
Stephen Toub [Sat, 21 Mar 2020 12:17:57 +0000 (08:17 -0400)]
Fix cancellation-related deadlock in BoundedChannel (#33883)
If:
- a BoundedChannel is opted-in to synchronous continuations via someone setting AllowSynchronousContinuations on its options when constructed, and
- if a read operation is performed when there's no data available and with a cancelable cancellation token, and
- if cancellation is requested concurrently with a write being performed that will satisfy that read...
then there's the potential for a deadlock. While holding a lock, the writer needs to unregister the cancellation for the reader's operation prior to trying to complete it, and needs to know that all cancellation-related work has quiesced before it proceeds to try to complete that reader. If the cancellation is currently in progress then, it waits for the cancellation callback to complete. However, if a synchronous continuation was used, then it's possible the user's synchronous continuation might call back into the bounded channel and perform an operation that might require taking that same lock. Deadlock.
The fix is to simply not try to use synchronous continuations with bounded channel when a cancelable token is employed.
Stephen Toub [Sat, 21 Mar 2020 12:15:46 +0000 (08:15 -0400)]
Remove more unnecessary LINQ usage (#33892)
Santiago Fernandez Madero [Sat, 21 Mar 2020 07:32:41 +0000 (00:32 -0700)]
Add System.Globalization.Native support for Windows (#33704)
* Add System.Globalization.Native support for Windows
* PR Feedback
* Fix build and address more feedback
* More PR Feedback
* Fix OSX build and update lib name in dllimport
* Remove un-necessary include and update issue link
Vivek Mishra [Sat, 21 Mar 2020 06:32:58 +0000 (23:32 -0700)]
Merge pull request #33882 from dotnet/50yaml
5.0 yamls and edits for 3.1.200
Adeel Mujahid [Sat, 21 Mar 2020 02:45:42 +0000 (04:45 +0200)]
Unify some cmake function definitions (#33716)
* Unify some cmake function definitions
* Address CR feedback
* Make installers /Zc:strictStrings compatible
* Make installer /Gz compatible
* Remove skip-strip internal implementation
* Use CLR_CMAKE_TARGET_DARWIN
* Establish iOS to Darwin relationship
* Simplify iOS conditions
Tomáš Rylek [Sat, 21 Mar 2020 02:44:47 +0000 (03:44 +0100)]
Fix missing lock in CoreRTNameMangler (#33903)
David Wrighton [Sat, 21 Mar 2020 02:43:26 +0000 (19:43 -0700)]
Revert "Unify instruction set definition (#33730)" (#33901)
This reverts commit
f80a5147ef7662c3238275568c9dad7655a9684f.
Bruce Forstall [Sat, 21 Mar 2020 00:55:37 +0000 (17:55 -0700)]
Only run format job in master branch (#33896)
* Only run format job in master branch
Don't run it in servicing branches, since it depends
on an unversioned `jitutils` repo.
* Run format job on PR builds as well
* Fix Target check to match reality, not documentation
Tarek Mahmoud Sayed [Sat, 21 Mar 2020 00:49:24 +0000 (17:49 -0700)]
Update RegionInfo data and Fix RegionInfo.CurrentRegion on Windows (#33834)
* Update RegionInfo data and Fix RegionInfo.CurrentRegion on Windows
* Address the feedback
* feedback
* More Feedback addressing
Layomi Akinrinade [Fri, 20 Mar 2020 22:59:24 +0000 (15:59 -0700)]
Add spec: deserializing objects with parameterized ctors (#33095)
* Add spec: deserializing objects with parameterized ctors
* State updated parameter-JSON matching proposal
* Address review feedback and add more notes about matching behavior
* Update spec with thoughts following spec review
* Fix typo
Viktor Hofer [Fri, 20 Mar 2020 22:51:29 +0000 (23:51 +0100)]
Delete repo tools manifest in CI to fix CI errors (#33871)
An updated SDK with the net5.0 tfm change seems to break dotnet repo
tool restore, presumably because multiple compatible tfms are found.
Working around this by deleting the repo tools manifest file until the
issue is fixed.
Mike McLaughlin [Fri, 20 Mar 2020 22:18:54 +0000 (15:18 -0700)]
Fix DAC minidump generation (#33833)
CompressDebugInfo::EnumMemoryRegions did not add the correct debug info
memory when FEATURE_ON_STACK_REPLACEMENT is enabled. This caused the
diagnostics SOS tests to failure on Windows.
Maryam Ariyan [Fri, 20 Mar 2020 21:36:56 +0000 (14:36 -0700)]
+ ref/src/tests/pkg (#33844)
Microsoft.Extensions.Configuration.FileExtensions
Microsoft.Extensions.Configuration.Ini
vivmishra [Fri, 20 Mar 2020 19:41:06 +0000 (12:41 -0700)]
5.0 yamls and edits for 3.1.200
Sergey Andreenko [Fri, 20 Mar 2020 19:40:16 +0000 (12:40 -0700)]
Forbid block morph in CSE. (#33845)
* Don't call `fgMorphCopyBlock` during CSE.
It could do tranformations that replace trees, some of them could be CSE defs or uses, it would lead to asserts when we try to find them.
* Dump additional information about struct localVariables.
Layomi Akinrinade [Fri, 20 Mar 2020 18:29:21 +0000 (11:29 -0700)]
Add [JsonConstructor] and support for deserializing with parameterized ctors (#33444)
* Add [JsonConstructor] and support for deserializing with parameterized ctors
* Add some more tests and clean up
* Move property and parameter caches from converter to JsonClassInfo
* Address review feedback
* Address review feedback and reduce regression for existing benchmarks
* Address review feedback and add more tests
* Clean up arg state on ReadStack
Mike McLaughlin [Fri, 20 Mar 2020 18:21:28 +0000 (11:21 -0700)]
Remove SOS_README.md from every app's OutDir (#33878)
Issue #https://github.com/dotnet/runtime/issues/33648
Günther Foidl [Fri, 20 Mar 2020 15:31:20 +0000 (16:31 +0100)]
Use HW-intrinsics in BitConverter for double <-> long / float <-> int (#33476)
* Use hw-intrinsics in BitConverter for double <-> long and float <-> int to emit movd instead of using the stack
* Added comment for workaround
Cf. https://github.com/dotnet/runtime/pull/33476#issuecomment-
600937760
monojenkins [Fri, 20 Mar 2020 15:09:05 +0000 (11:09 -0400)]
[interp] Remove MINT_TYPE_P (#33850)
MINT_TYPE_P is equivalent to the integer versions. By removing it we reduce the number of interpreter types and instructions, making it also easier to apply optimizations on instructions targeting these types.
Co-authored-by: BrzVlad <BrzVlad@users.noreply.github.com>
monojenkins [Fri, 20 Mar 2020 14:58:30 +0000 (10:58 -0400)]
[coop] Make MONO_ENTER_GC_UNSAFE fatal if no_safepoints is set (#32666)
Previously it would print a warning, only, because otherwise we would get a
second assert in the same place while the crash machinery would run from the
current thread from the abort in `mono_fatal_with_history`
The solution is to turn off the "no safepoints" bit since we know we're
definitely going to assert here.
Also record the current state in the checked mode state transition history to
make it a bit easier to diagnose where the problem surfaced.
Also fixed up a pair of other debugging/tracing messages so the message strings
accurately reflect the state.
Co-authored-by: lambdageek <lambdageek@users.noreply.github.com>
Andrey Kurdyumov [Fri, 20 Mar 2020 14:55:59 +0000 (20:55 +0600)]
Fix running tests (#33719)
without that code I have stack trace on Python 3.7.1
when run tests\runtest.cmd /coreclr Top200
```
Traceback (most recent call last):
File "runtest.py", line 2450, in <module>
sys.exit(main(args))
File "runtest.py", line 2423, in main
lambda path: do_setup(host_os,
File "runtest.py", line 550, in create_and_use_test_env
ret_code = func(None)
File "runtest.py", line 2433, in <lambda>
test_filter_path))
File "runtest.py", line 2356, in do_setup
build_test_wrappers(host_os, arch, build_type, coreclr_repo_location, test_location, None, test_filter_path)
File "runtest.py", line 1871, in build_test_wrappers
delete_existing_wrappers(to_unicode(test_location))
File "runtest.py", line 1822, in to_unicode
return str(s, "utf-8")
TypeError: decoding str is not supported
```
* Simplify string conversion and update Python
* Fix path to Python3 executable
It was discovered during testing CoreRT in
https://github.com/dotnet/corert/pull/8021
Adam Sitnik [Fri, 20 Mar 2020 14:55:04 +0000 (15:55 +0100)]
Revert "allocate SocketAsyncEngine less frequenty to reduce the number of epoll_wait threads (#2346)" (#33855)
This reverts commit
34dbb20d83719e15bc1bd3976c6638bbee901a0b.
Stephen Toub [Fri, 20 Mar 2020 14:08:17 +0000 (10:08 -0400)]
Change Environment.OSVersion to use RtlGetVersion (#33651)
Stephen Toub [Fri, 20 Mar 2020 13:58:40 +0000 (09:58 -0400)]
Annotate System.Runtime.WindowsRuntime for nullable reference types (#33692)
Tomas Weinfurt [Fri, 20 Mar 2020 13:31:49 +0000 (06:31 -0700)]
rework locking in SslStream to support TLS1.3 (#32925)
* initial locking
* feedback from review
* update _handshakeWaiter
* feedback from review
* feedback from review
* feedback from review
monojenkins [Fri, 20 Mar 2020 12:21:41 +0000 (08:21 -0400)]
Updating the Copyright line display when running 'mono --version' (#32910)
Removes the copyright year.
```
$ mono --version
Mono JIT compiler version 6.6.0.166 (2019-08/
d9001b5ae70 Wed Feb 12 19:20:16 EST 2020)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS:
SIGSEGV: altstack
Notification: kqueue
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(610)
Suspend: hybrid
GC: sgen (concurrent by default)
```
Co-authored-by: ivancitin <ivancitin@users.noreply.github.com>
monojenkins [Fri, 20 Mar 2020 12:21:27 +0000 (08:21 -0400)]
[debugger] Fix NOT_IMPLEMENTED while debugging. (#33702)
- Changed the behavior on debugger-agent, if we can't parse the new behavior is to return invalid_argument and not assert and stop debugging
- Changed the mono_domain_set_fast before return from assembly_commands.
- Add error message when return INVALID_ARGUMENT
Fixes mono/mono#19146
Co-authored-by: thaystg <thaystg@users.noreply.github.com>
monojenkins [Fri, 20 Mar 2020 12:08:15 +0000 (08:08 -0400)]
Remove dead code from bug-10127.cs. (#31976)
Co-authored-by: jaykrell <jaykrell@users.noreply.github.com>
monojenkins [Fri, 20 Mar 2020 12:01:18 +0000 (08:01 -0400)]
[FreeBSD] Fix for libinotify support and compile (#33607)
Resolves mono/mono#18528 in for both detection and compiling. This should backport cleanly to next release.
Tested on 12.1-RELEASE with libinotify; configure detects features correctly, compiles successfully, resolves some observed issues during run.
```
#define HAVE_SYS_INOTIFY_H 1
#define HAVE_LIBINOTIFY 1
#define HAVE_INOTIFY_INIT 1
#define HAVE_INOTIFY_ADD_WATCH 1
#define HAVE_INOTIFY_RM_WATCH 1
#define HAVE_INOTIFY 1
```
Co-authored-by: rootwyrm <rootwyrm@users.noreply.github.com>
Jan Vorlicek [Fri, 20 Mar 2020 08:43:51 +0000 (09:43 +0100)]
Fix R2RDump generic signature parsing (#33825)
The signature parsing wasn't handling module overrides correctly. For
generic type parameters, the current module needs to be reset to the
outer module.
Jeremy Koritzinsky [Fri, 20 Mar 2020 05:37:06 +0000 (22:37 -0700)]
Don't pass the managed array object down when clearing a native array field. (#33830)
* Don't pass the managed array object down when clearing a native array field.
* Add test.