devsko [Tue, 25 Aug 2020 23:39:57 +0000 (01:39 +0200)]
Support polymorphic value-type converters and add validation on values returned by custom converters (#40914)
* IL emit Box/Unbox in member access
* Test case for object converter
* Test case for class with primitive members and object converter
* Address feedback
* Fixed issues with JsonConverter<object>and nullable value-types
* Address feedback
* Fix test for .NETStandard version
* Fix #41146
* Accidentally commited the local test hack
* Throw JsonException when a deserialized value cannot be assigned to the property/field
* Fix merge
* Fix merge again
* Undo Fix #41146
* Consolidate nullable annotations
* Addressed feedback
* Addressed feedback
Andy Gocke [Tue, 25 Aug 2020 22:51:06 +0000 (15:51 -0700)]
Throw from CodeBase if assembly is in the bundle (#40974)
Also adds test for Module.FullyQualifiedName
Jakob Botsch Nielsen [Tue, 25 Aug 2020 22:34:19 +0000 (00:34 +0200)]
Add sleep in hijacking test (#41340)
Calling GC.Collect in a tight loop is unnecessary for the test and
causing timeouts in CI.
Fixes #40916
Tarek Mahmoud Sayed [Tue, 25 Aug 2020 22:26:41 +0000 (15:26 -0700)]
Fix \u00A7 char Unicode category (#41343)
Ryan Lucia [Tue, 25 Aug 2020 21:55:00 +0000 (17:55 -0400)]
[mono] Pass -Wc++-compat on all platforms, -Werror on OSX, fix errors (#41233)
This PR:
* Enables `-Wc++-compat` on all platforms: we support building the runtime as C++, so this helps catch errors before they're found in CI and will help keep the netcore build C++-compatible
* Sets `-Werror` on netcore CI for OSX
It also fixes various warnings currently present in the build.
`-Werror` should probably be extended to cover all CI platforms eventually. Adding a new platform is as simple as adding to the line in mono.proj whitelisting platforms and fixing the warnings.
Not sure if there's a better way to handle the cpuidex function, but if we're using that from mini it should definitely be in a header somewhere.
Layomi Akinrinade [Tue, 25 Aug 2020 20:22:21 +0000 (13:22 -0700)]
Add tests mapping invalid JSON to objects with parameterized ctors (#41121)
* Move invalid JSON tests to dedicated file
* Add tests mapping invalid JSON to objects with parameterized ctors
Santiago Fernandez Madero [Tue, 25 Aug 2020 20:04:25 +0000 (13:04 -0700)]
Fix signing in official build with 3rd party libraries (#41346)
* Fix signing in official build with 3rd party libraries
* Update eng/Signing.props
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
monojenkins [Tue, 25 Aug 2020 18:17:25 +0000 (14:17 -0400)]
[runtime] Catch attempts to create enum types with an underlying type that is itself an incomplete enum type. (#41165)
* Catch attempts to create enum types with an underlying type that is itself an incomplete enum type.
Previously, only non-enum types containing fields with incomplete enum
types were forbidden.
* Permit static constant fields with incomplete types if the incomplete type is the type currently being defined
Co-authored-by: Alexis Christoforides <alexis@thenull.net>
Co-authored-by: imhameed <imhameed@users.noreply.github.com>
Krzysztof Wicher [Tue, 25 Aug 2020 17:35:31 +0000 (19:35 +0200)]
Fix NRE introduced in FileSystemWatcher during nullability annotations (#41315)
* Fix NRE introduced during nullability annotations
* Apply Jeff's suggestions from code review
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Cory Nelson [Tue, 25 Aug 2020 17:00:47 +0000 (10:00 -0700)]
HTTP/3 interop fixes (#41298)
Support DNS-based quic connections for SNI.
Support multiple ALPN values.
Update H3 ALPN from "h3" to "h3-29".
Charles Stoner [Tue, 25 Aug 2020 16:45:25 +0000 (09:45 -0700)]
Prevent invoking property 'init' method (#41293)
Jan Kotas [Tue, 25 Aug 2020 14:17:41 +0000 (07:17 -0700)]
Fix tailcall regression with compiled F# (#41206)
* Fix tailcall regression with compiled F#
This change skips instantiating stubs for direct tailcalls and instead passes the inst argument directly to the target method.
Fixes #40864
* Add regression test
Co-authored-by: Jakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>
Alexander Köplinger [Tue, 25 Aug 2020 13:53:28 +0000 (15:53 +0200)]
Exclude Mono.Cecil assemblies from signing (#41325)
We're just shipping them in the Microsoft.NETCore.BrowserDebugHost.Transport package.
Mitchell Hwang [Tue, 25 Aug 2020 13:40:13 +0000 (09:40 -0400)]
Mark System.Diagnostics.FileVersionInfo as unsupported on Browser (#41271)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
dotnet-maestro[bot] [Tue, 25 Aug 2020 11:23:50 +0000 (11:23 +0000)]
[master] Update dependencies from dotnet/xharness mono/linker (#41257)
[master] Update dependencies from dotnet/xharness mono/linker
- Updates:
- Microsoft.DotNet.XHarness.CLI: from 1.0.0-prerelease.20420.1 to 1.0.0-prerelease.20424.1
- Microsoft.DotNet.XHarness.TestRunners.Xunit: from 1.0.0-prerelease.20420.1 to 1.0.0-prerelease.20424.1
- Updates:
- Microsoft.NET.ILLink.Tasks: from 6.0.0-alpha.1.20422.1 to 6.0.0-alpha.1.20424.3
Jan Jahoda [Tue, 25 Aug 2020 09:13:41 +0000 (11:13 +0200)]
Missed cases not discovered during first phase (#40382)
Co-authored-by: Jan Jahoda <jajahoda@.microsoft.com>
Johan Lorensson [Tue, 25 Aug 2020 06:42:48 +0000 (08:42 +0200)]
Port EventPipe CoreCLR changes to Mono. (#41152)
* [MonoVM] Enable startup events over EventPipe.
Mono port of CoreCLR PR: https://github.com/dotnet/runtime/pull/36720.
* [MonoVM] Add the ability for profilers to listen to EventPipe events.
Mono port of CoreCLR PR: https://github.com/dotnet/runtime/pull/37002.
* [MonoVM] Add ProcessInfo command to Diagnostics Server.
Mono port of CoreCLR PR: https://github.com/dotnet/runtime/pull/38967.
* [MonoVM] Unregister callback when setting a provider for deferred delete.
Mono port of CoreCLR PR: https://github.com/dotnet/runtime/pull/40191.
* [MonoVM] Generational aware analysis based on environment variable.
Mono port of CoreCLR PR: https://github.com/dotnet/runtime/pull/40332.
NOTE, the ability to pause a session was not ported since it
currently have no use in Mono and looks like a temporary
solution in CoreCLR.
* [MonoVM] Rebrand Diagnostics Server to DiagnosticPort.
Mono port of CoreCLR PR: https://github.com/dotnet/runtime/pull/40499.
John Salem [Tue, 25 Aug 2020 02:32:35 +0000 (19:32 -0700)]
Modified #41008 without GetOverlappedResultEx (#41236)
* Revert "Revert "Improve Windows error handling in Diagnostics IPC (#41008)" (#41220)"
This reverts commit
15839c0294b51d8bb9b7f689669da86ebe64546d.
* don't use win8+ API
Olivia Chen [Tue, 25 Aug 2020 01:32:43 +0000 (18:32 -0700)]
Enable Crossgen2 and Blazor Perf Tests on Linux (#41270)
* copy changes from blazor PR
* add crossgen2 job on linux
* fix helixprecommands issue
* fix internal param
* will revert: add back PR trigger
* fix category exclusion
* reset PR trigger
Dongbo Wang [Mon, 24 Aug 2020 23:33:04 +0000 (16:33 -0700)]
Correct a few mistakes in the ComInterop code (#40234)
monojenkins [Mon, 24 Aug 2020 23:06:26 +0000 (19:06 -0400)]
Avoid following invalid pointers in mono_w32process_get_modules on Darwin. (#41115)
`_dyld_get_image_name` and `_dyld_get_image_header` can return pointers
to data that will be freed or unmapped by concurrent calls to `dlclose`.
Avoid this by using `_dyld_register_func_for_add_image` and
`_dyld_register_func_for_remove_image` to install callbacks that
maintain a runtime-internal set of loaded dynamic libraries.
Some notes:
- dyld doesn't provide a public "app store friendly" API (like
`dl_iterate_phdr`) to traverse a snapshot of all loaded dynamic
libraries in a process. There are two alternative private APIs that do
this: one uses `_dyld_process_info_create` and friends and is present in
macOS 10.12 and above, and the other depends on
`_dyld_get_all_image_infos`, which is documented by Apple (... in a WWDC
video) to "go away" at some point in dyld3.
- `dladdr` linearly scans the dyld loaded image array (and each image's
segment set) for a matching address, so `image_added` will get slower as
more dynamic libraries are loaded in the process. But dyld3's
implementation of dlopen already scales linearly in time with the number
of loaded libraries. The use of `dladdr` can be avoided by using
`_dyld_register_for_image_loads` or
`_dyld_register_for_bulk_image_loads`, but those are both private APIs.
- The callbacks registered with `_dyld_register_func_for_add_image` and
`_dyld_register_func_for_remove_image` can never be unregistered, so
this is yet another thing that makes it impossible to safely unload an
embedded mono.
- `MonoW32ProcessModule::inode` only seems to be used to avoid dupicates
in other implementations of w32process; sorting the returned module list
in `mono_w32process_get_modules` wouldn't be necessary if the
`mono_dyld_image_info`s were also kept in an intrusive circular doubly
linked list.
- It looks like `mono_w32process_get_modules` in `w32process-unix-bsd.c`
has a similar race condition.
Also see: https://github.com/mono/mono/issues/20107
Co-authored-by: imhameed <imhameed@users.noreply.github.com>
Eugene Rozenfeld [Mon, 24 Aug 2020 22:06:06 +0000 (15:06 -0700)]
Improve tailcallstress testing (#41059)
1. Dispatch all tail calls under TailCallStress via helpers. That
increases our coverage since valid non-tail-prefixed calls are
dispatched as fast calls in normal non-stress mode.
2. Don't attempt to tail call from methods that have a localloc
unless there is an explicit tail prefix. Note that we already disallowed
fast tail calls from such methods so this change only affects
tailcallstress mode.
3. Fix a bug in TestInvokeDOPAndCancel. As the test was written
this assert was firing under tailcallstress:
https://github.com/dotnet/runtime/blob/
480c49b2419ab4a0b34bfd86754abc2f17079c77/src/libraries/System.Threading.Tasks.Parallel/tests/ParallelForTests.cs#L1074
When this call to `cts.Cancel`:
https://github.com/dotnet/runtime/blob/
480c49b2419ab4a0b34bfd86754abc2f17079c77/src/libraries/System.Threading.Tasks.Parallel/tests/ParallelForTests.cs#L1065
is dispatched via helpers, it takes much longer than when it's
dispatched via a fast tail call (we have to jit a couple of IL stubs).
Because of that, it's possible that all other actions complete on the
other thread before cancellation is completed.
David Mason [Mon, 24 Aug 2020 21:53:07 +0000 (14:53 -0700)]
Fix GetAppdomainStaticAddress for non-collectible assemblies (#41076)
Huo Yaoyuan [Mon, 24 Aug 2020 21:49:34 +0000 (05:49 +0800)]
Fix half equality method (#41259)
* Align Half.Equals implementation with Double.Equals.
* Add tests for new Half.Equals behaviour.
Alexander Köplinger [Mon, 24 Aug 2020 21:25:35 +0000 (23:25 +0200)]
Correctly enumerate files in Microsoft.NETCore.BrowserDebugHost.Transport.pkgproj (#41290)
On CI when the repo is built from a clean checkout in one go we were evaluating the wildcard in the ItemGroup
before the files were actually built which meant they weren't put into the nuget package.
We need to list each file explicitly to fix that.
Tomas Weinfurt [Mon, 24 Aug 2020 21:07:59 +0000 (14:07 -0700)]
fix GetAsync_SupportedSSLVersion_Succeeds test (#41056)
Tomas Weinfurt [Mon, 24 Aug 2020 20:52:18 +0000 (13:52 -0700)]
map macOS compat 10.16 version to 11.0 (#41176)
* map macOS compat 10.16 version to 11.0
* feedback from review
Vlad Brezae [Mon, 24 Aug 2020 20:03:25 +0000 (23:03 +0300)]
[coop] Add debug option to disable stack scan (#40985)
When this is enabled, the GC doesn't scan stack or registers. This mode is meant to disable scanning of native frames. This implementation only makes sense in full interpreter mode, where the interp stack is scanned separately from the thread stack. Longer term we could use this mode to scan only the managed stack, also in jit mode.
The point of this mode is to be able to stress test the GC in a wasm like environment, where stack can't be scanned. We can more easily reproduce and investigate GC crashes in this configuration, that would also happen on wasm.
Thays Grazia [Mon, 24 Aug 2020 20:00:27 +0000 (17:00 -0300)]
Fix wasm sample after that was broken after this PR: https://github.com/dotnet/runtime/pull/40478 (#41277)
Jan Kotas [Mon, 24 Aug 2020 18:27:21 +0000 (11:27 -0700)]
Delete dead code and obsolete comments (#41211)
Tarek Mahmoud Sayed [Mon, 24 Aug 2020 17:45:19 +0000 (10:45 -0700)]
Fix Char.GetUnicodeCategory to returns correct results (#41200)
* Fix Char.GetUnicodeCategory to returns correct results
Jo Shields [Mon, 24 Aug 2020 16:24:50 +0000 (12:24 -0400)]
Re-enable testing on OSX 10.15 (#40524)
* Re-enable testing on OSX 10.15
* ActiveIssue for failing font issue
Olivia Chen [Mon, 24 Aug 2020 16:12:54 +0000 (09:12 -0700)]
update helixprecommands (#41205)
Wei Zheng [Mon, 24 Aug 2020 15:25:17 +0000 (23:25 +0800)]
Fix MethodInfo Emit for generic interfaces (#40587)
Steve Pfister [Mon, 24 Aug 2020 15:21:29 +0000 (11:21 -0400)]
[Wasm] Reduce max length on browser for ToArrayShouldWorkWithSpecialLengthLazyEnumerables Linq test (#41241)
Addresses the occasional timeouts in System.Linq tests. The last 3-4 iterations of ToArrayShouldWorkWithSpecialLengthLazyEnumerables take
between 20 - 56 seconds each and likely trigger longer GC runs.
Fixes https://github.com/dotnet/runtime/issues/41114
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Ryan Lucia [Mon, 24 Aug 2020 14:40:44 +0000 (10:40 -0400)]
[mono] Thread DllImportSearchPath flags down to LoadLibraryEx (#41229)
This mostly completes support for the attribute. Our algorithm differs a bit from CoreCLR right now, so we don't support the legacy behavior flag since it makes less since in the context of our algorithm, but this should be good enough for most cases.
Katelyn Gadd [Mon, 24 Aug 2020 09:45:53 +0000 (02:45 -0700)]
more managed pointer rooting (#40934)
Update more bindings and library code to store managed pointers in roots so that objects can't be collected or moved.
Fixes some bugs in the wasm root APIs.
Jan Kotas [Mon, 24 Aug 2020 08:51:48 +0000 (01:51 -0700)]
Fix perf regression in IntPtr operators on 32-bit platforms (#41198)
Switching to C# built-in uint/nuint types caused these operators to use long/ulong IntPtr/UIntPtr constructors instead of int/uint IntPtr constructors that it were used before.
The fix is to avoid going through the IntPtr/UIntPtr constructors and just depend on the built-in uint/nuint implicit conversions.
Fixes #41167
Seonyoung Park [Mon, 24 Aug 2020 05:22:43 +0000 (14:22 +0900)]
remove unused local (#41226)
* remove unused local
issue dotnet#30457
remove unused local variable fullPath at line 415
* Update src/libraries/System.Security.Cryptography.X509Certificates/src/System/Security/Cryptography/X509Certificates/X509Certificate2.cs
Co-authored-by: Kevin Gosse <krix33@gmail.com>
Co-authored-by: Kevin Gosse <krix33@gmail.com>
Ryan Lucia [Mon, 24 Aug 2020 04:24:53 +0000 (00:24 -0400)]
[mono] Add more detailed logs for the PInvoke resolution process (#41228)
Similar logging was added to the managed loading algorithm when it proved extremely useful for debugging a Blazor crash, so the equivalent is probably useful for the unmanaged library algorithm as well
Sergey Andreenko [Mon, 24 Aug 2020 02:29:50 +0000 (19:29 -0700)]
Fix wrong copy prop after `ASG(promoted LCL_VAR with 1 field, call)`. (#41197)
* Add Andy's repro test.
* Andy's fix.
* fix other places
* Improve dump.
Petr Onderka [Sun, 23 Aug 2020 22:39:02 +0000 (00:39 +0200)]
Fix Array.Sort in the presence of nulls (#41234)
* Add failing test case
* Fix Array.Sort in the presence of nulls
Seonyoung Park [Sun, 23 Aug 2020 17:51:01 +0000 (02:51 +0900)]
Remove unused local (#40967)
issue dotnet#30457
remove unused local variable dwErrorCode at line 248
dotnet-maestro[bot] [Sun, 23 Aug 2020 16:07:37 +0000 (09:07 -0700)]
[master] Update dependencies from dotnet/runtime-assets dotnet/llvm-project dotnet/icu mono/linker dotnet/arcade Microsoft/vstest dotnet/xharness (#41025)
* Update dependencies from https://github.com/dotnet/arcade build
20200817.6
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.ApiCompat
From Version 5.0.0-beta.20407.3 -> To Version 5.0.0-beta.20417.6
* Update dependencies from https://github.com/mono/linker build
20200818.3
Microsoft.NET.ILLink.Tasks
From Version 5.0.0-preview.3.20413.1 -> To Version 5.0.0-preview.3.20418.3
* Update dependencies from https://github.com/dotnet/llvm-project build
20200818.1
runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk
From Version 9.0.1-alpha.1.20410.1 -> To Version 9.0.1-alpha.1.20418.1
* Update dependencies from https://github.com/dotnet/xharness build
20200819.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.20411.1 -> To Version 1.0.0-prerelease.20419.1
* Update dependencies from https://github.com/dotnet/icu build
20200818.2
Microsoft.NETCore.Runtime.ICU.Transport
From Version 5.0.0-preview.8.20410.1 -> To Version 5.0.0-preview.8.20418.2
* Update dependencies from https://github.com/dotnet/xharness build
20200819.2
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.20411.1 -> To Version 1.0.0-prerelease.20419.2
* Update dependencies from https://github.com/dotnet/runtime-assets build
20200820.1
System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
From Version 5.0.0-beta.20377.1 -> To Version 5.0.0-beta.20420.1
* Update dependencies from https://github.com/mono/linker build
20200820.2
Microsoft.NET.ILLink.Tasks
From Version 5.0.0-preview.3.20413.1 -> To Version 6.0.0-alpha.1.20420.2
* Update dependencies from https://github.com/dotnet/arcade build
20200819.21
Microsoft.DotNet.GenFacades , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat
From Version 5.0.0-beta.20417.5 -> To Version 5.0.0-beta.20419.21
* Update dependencies from https://github.com/microsoft/vstest build
20200821-01
Microsoft.NET.Test.Sdk
From Version 16.8.0-preview-
20200730-03 -> To Version 16.8.0-preview-
20200821-01
* Update dependencies from https://github.com/dotnet/xharness build
20200820.1
Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
From Version 1.0.0-prerelease.20411.1 -> To Version 1.0.0-prerelease.20420.1
* Pin compilers version
* Add dotnet6 feed to NuGet.config
* Update dependencies from https://github.com/mono/linker build
20200822.1
Microsoft.NET.ILLink.Tasks
From Version 5.0.0-preview.3.20413.1 -> To Version 6.0.0-alpha.1.20422.1
* Update dependencies from https://github.com/dotnet/arcade build
20200819.21
Microsoft.DotNet.GenFacades , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.SharedFramework.Sdk , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat
From Version 5.0.0-beta.20417.5 -> To Version 5.0.0-beta.20419.21
* Update dependencies from https://github.com/microsoft/vstest build
20200821-04
Microsoft.NET.Test.Sdk
From Version 16.8.0-preview-
20200730-03 -> To Version 16.8.0-release-
20200821-04
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Jan Kotas [Sun, 23 Aug 2020 16:01:51 +0000 (09:01 -0700)]
Use nint instead of IntPtr in generic SpanHelpers (#41199)
Tomáš Rylek [Sun, 23 Aug 2020 12:53:00 +0000 (14:53 +0200)]
Fix linux_musl runs (#41224)
This bug was caused by slight semantic change I inadvertently
introduced in my PR
https://github.com/dotnet/runtime/pull/40959
According to today logic in the relevant scripts, TargetOS
shouldn't include the OS subgroup spec. I have modified
send-to-helix-step to pass it in a separate property parameter
(TargetOSSubgroup) so that it can be used for construction
of the HelixRuntimeRid.
Thanks
Tomas
Jan Kotas [Sun, 23 Aug 2020 01:04:22 +0000 (18:04 -0700)]
Revert "Improve Windows error handling in Diagnostics IPC (#41008)" (#41220)
This reverts commit
5cabbabe3a3bdeaaf8f0b9dc34cf401ee88e86ff.
Santiago Fernandez Madero [Sun, 23 Aug 2020 00:23:57 +0000 (17:23 -0700)]
Move Editor Attribute to S.CM.Primitives and apply to types that had it in netfx (#41145)
* Move EditorAttribute to System.ComponentModel.Primitives
* Add EditorAttribute to types that had it in netfx and fix some DesignerSerializableAttributes
* PR Feedback
* PR Feedback
Anton Lapounov [Sun, 23 Aug 2020 00:14:58 +0000 (17:14 -0700)]
Avoid having two copies of System.Private.CoreLib.ni.pdb in the same NuGet package directory (#41057)
Tomáš Rylek [Sat, 22 Aug 2020 20:24:05 +0000 (22:24 +0200)]
Add regression test for GitHub issue 13394 (#41210)
Nikola Milosavljevic [Sat, 22 Aug 2020 20:18:56 +0000 (13:18 -0700)]
Add DO-NOT-SIGN comment for files that should not be signed (#41185)
Ankit Jain [Sat, 22 Aug 2020 18:34:59 +0000 (14:34 -0400)]
[wasm][debugger] Fix expression evaluation when it is a reference (#41135)
* [wasm][debugger] Fix expression evaluation when it is a reference
.. preceded by spaces. Eg: `" foo.dateTime", or `" foo.count"`
* Explanation of the fix:
- these particular expressions end up in the code path where we get a
SimpleMemberAccessExpression, and only one member access (like `a.b.c`)
was found.
- that code path had
`return memberAccessValues[0]?["value"]?.Value<JObject>();`
- which is incorrect, and we need to return `memberAccessValues[0]`,
which is the value itself.
Ryan Lucia [Sat, 22 Aug 2020 18:27:49 +0000 (14:27 -0400)]
[mono] Don't leak coop handles, fix type in managed ALC struct (#41159)
* Don't leak coop handle
* Fix type in MonoManagedAssemblyLoadContext
Tomáš Rylek [Sat, 22 Aug 2020 14:16:44 +0000 (16:16 +0200)]
Remove issues.targets exclusion for fixed issue 34316 (#41208)
Egor Bogatov [Sat, 22 Aug 2020 11:49:06 +0000 (14:49 +0300)]
[Browser] Bump ICU (#41166)
Ryan Lucia [Sat, 22 Aug 2020 11:09:16 +0000 (07:09 -0400)]
[mono] Disable XML file loading entirely on netcore (#41158)
Ryan Lucia [Sat, 22 Aug 2020 11:08:58 +0000 (07:08 -0400)]
Add g_ptr_array_find to eglib (#41157)
Juan Hoyos [Sat, 22 Aug 2020 09:52:34 +0000 (02:52 -0700)]
Ensure non-shipping symbol packages get indexed (#41142)
monojenkins [Sat, 22 Aug 2020 09:19:50 +0000 (05:19 -0400)]
[runtime] Make the code which handles pinvoke lookup retries netcore only. (#41201)
Co-authored-by: vargaz <vargaz@users.noreply.github.com>
Sung Yoon Whang [Sat, 22 Aug 2020 08:49:17 +0000 (01:49 -0700)]
Remove memset in EventPipeBuffer allocation (#41194)
Zoltan Varga [Sat, 22 Aug 2020 05:30:29 +0000 (01:30 -0400)]
[runtime] Ongoing work on mono cmake build (#41055)
* [runtime] Ongoing work on cmake build.
* Install libraries
* Add more configure options
* Add wasm support
* Fix the build.
* Remove unused defines, reformat.
* Install headers.
Egor Bogatov [Sat, 22 Aug 2020 02:31:14 +0000 (05:31 +0300)]
Rollback noopt change (llvm-backend) (#41186)
Tomáš Rylek [Sat, 22 Aug 2020 01:07:37 +0000 (03:07 +0200)]
Switch over managed test component build to run on Linux x64 (#41169)
Vladimir Sadov [Sat, 22 Aug 2020 00:46:55 +0000 (17:46 -0700)]
Cast cache Add should handle odd entry versions as inconsistent/taken. (#41109)
* Cast cache Add should handle odd entry versions as inconsistent/taken
* PR feedback
Ryan Lucia [Sat, 22 Aug 2020 00:29:21 +0000 (20:29 -0400)]
Update Mono runtime NativeLibrary test exclusions (#41181)
Drew Scoggins [Sat, 22 Aug 2020 00:01:38 +0000 (17:01 -0700)]
Fix category exclusion (#41192)
Olivia Chen [Fri, 21 Aug 2020 23:57:40 +0000 (16:57 -0700)]
Fix pythonpath and internal parameter (#41190)
* update helixprecommands order
* update internal param
Tomáš Rylek [Fri, 21 Aug 2020 23:35:13 +0000 (01:35 +0200)]
Improve condition for generating test execution scripts (#41151)
I have received heads-up from two sources - @naricc's work on Mono webassembly
testing and @gbalykov's recent PR
#40979
that there's something weird going on in the execution script creation logic.
I have investigated the exact purpose of the condition referring to
_CopyNativeProjectBinaries. I believe the intent of the condition
was to suppress the creation of execution scripts during managed test build
once we switched over to building managed test components only once.
The problem is that the common build of managed test components reused by
runs on all OS'es and architectures uses the allTargets specification
to build all test projects including those that only work on some platforms. This is
one of the reasons why we cannot emit the execution scripts at managed test
component build time - we would emit them even for tests that later on in the
pipeline turn out to be disabled for a particular platform or build configuration.
The other reason is practical - today the CLRTest.*.targets scripts only generate
one version of the script (cmd vs. sh) - but that would be easy to fix.
Based on these findings I propose modifying the condition to check the 'allTargets'
flag instead. In local builds (where we typically build managed test components
for just a single target platform using the src/coreclr/build-test script) the option
allTargets is not set and so the execution script can be easily created as part of
the managed build. In the runtime pipeline case, the execution scripts end up
getting emitted during the copynativeonly step before sending
the tests to Helix as by this time the targeting platform and configuration for the
run is completely resolved.
Thanks
Tomas
Vlad Brezae [Fri, 21 Aug 2020 22:38:53 +0000 (01:38 +0300)]
[coop] Add handles for some SRE scenarios (#40925)
* [coop] Pin fields of structure
Ideally ReflectionMethodBuilder should contain coop handles fields. That approach is less practical since it requires a lot of code change.
* [coop] Pin object stored on stack and passed over calls
Olivia Chen [Fri, 21 Aug 2020 21:27:00 +0000 (14:27 -0700)]
Add blazor job in runtime (#40863)
* add blazor job in runtime
* nit fixes
* turn on PR runs for testing;PR fix
* update wasm configurations arg
* unpack wasm to correct location
* disable PR trigger
Mateo Torres-Ruiz [Fri, 21 Aug 2020 20:40:18 +0000 (13:40 -0700)]
Return host's file path when using Environment.GetCommandLineArgs()[0] in single-file apps (#41019)
* Return host's path when using GetCommandLineArgs from within a single-file app
Sven Boemer [Fri, 21 Aug 2020 20:39:15 +0000 (13:39 -0700)]
Handle windows shutdown event (#41101)
* Handle windows logoff and shutdown events
By doing a clean EEShutdown, including calling ProcessExit handlers.
This allows ProcessExit to respond to 'docker stop', which sends
CTRLSHUTDOWN_EVENT to windows containers.
Fixes https://github.com/dotnet/runtime/issues/36089
* Don't handle logoff event
Cédric Michel [Fri, 21 Aug 2020 18:24:01 +0000 (20:24 +0200)]
Add a method GetRequiredSection on Configuration (#40976)
* Add a method GetRequiredSection
* Adapt to use GetRequiredSection as Extension method to avoid External Implmenter breaking change
* clean csproj remove local path
* clean not used using
* remove empty line
* remove unused designer of resources file
* add test on sub section (GetRequiredSection)
* Update src/libraries/Microsoft.Extensions.Configuration.Abstractions/src/ConfigurationExtensions.cs
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
* add unit test case if confiuration root is null
* Use command to auto generate ref
Co-authored-by: cmichel <cmichel@interparking.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
John Salem [Fri, 21 Aug 2020 18:03:58 +0000 (11:03 -0700)]
Improve Windows error handling in Diagnostics IPC (#41008)
Fan Yang [Fri, 21 Aug 2020 17:33:59 +0000 (13:33 -0400)]
Add missing exception checkpoint (#41098)
* Add missing exception checkpoint
* Enable failed test
Steve MacLean [Fri, 21 Aug 2020 17:02:20 +0000 (13:02 -0400)]
Allow Windows dbgshim to support Linux targets (#41116)
Ryan Lucia [Fri, 21 Aug 2020 16:57:07 +0000 (12:57 -0400)]
Re-enable ImplementedInterfaces tests on Mono (#41136)
Adam Sitnik [Fri, 21 Aug 2020 16:52:23 +0000 (18:52 +0200)]
don't run "NoMono" benchmarks for Mono runtime: (#41148)
* Mono does not implement Utf8String ctor yet
* we want to run Utf8String benchmarks for CoreCLR
Drew Scoggins [Fri, 21 Aug 2020 16:02:45 +0000 (09:02 -0700)]
Update to 6.0.0 for mono and reset timeouts (#41132)
Mitchell Hwang [Fri, 21 Aug 2020 13:20:40 +0000 (09:20 -0400)]
[wasm] Mark System.ComponentModel APIs as unsupported on Browser (#41094)
* [wasm] System.ComponentModel enable platform attributes
* [wasm] Mark ExtendedProtectionPolicyTypeConverter.ConvertTo as unsupported
* [wasm] Mark System.ComponentModel.TypeDescriptor.CreateInstance as unsupported
* [wasm] Mark System.ComponentModel.TypeDescriptionProvider.CreateInstance as unsupported
* [wasm] Mark System.ComponentModel.LicenseManager.CreateWithContext as unsupported
* [wasm] Mark System.ComponentModel.MaskedTextProvider.Clone as unsupported
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Peter Sollich [Fri, 21 Aug 2020 09:56:22 +0000 (11:56 +0200)]
Fix memory ordering issue in StressHeap
StressHeap contains a hack where we chop off the end of a string allocated for that purpose and make a new free object out of the chopped of piece. We also reduce the size of the string, so the GC sees the free object when walking the heap - the idea is to force compaction.
On processors with weak memory ordering semantics, we need a memory barrier to make sure the write to the new free object is seen before the write to the string length, otherwise the heap won't be walkable, leading to an AV in background_sweep.
It looks like this will fix most of the ARM64 stress issues we've seen (notably the AV in gc_heap::background_sweep), we'll see what remains.
Shay Rojansky [Fri, 21 Aug 2020 09:38:54 +0000 (12:38 +0300)]
Annotate DbDataReader.GetSchemaTable as nullable (#41082)
Reverts decision made in #509
Alexander Köplinger [Fri, 21 Aug 2020 08:45:54 +0000 (10:45 +0200)]
Add dependencies for BrowserDebugHost into Microsoft.NETCore.BrowserDebugHost.Transport nupkg (#41111)
Before we were only packaging the host and proxy assemblies, but we need their dependencies as well.
Moved the `CopyLocalLockFileAssemblies=true` to BrowserDebugHost.csproj to make sure we get all dependencies there.
Brian Sullivan [Fri, 21 Aug 2020 02:31:02 +0000 (19:31 -0700)]
Modify the test case Runtime_40444.cs (#40951)
* Modify the test case Runtime_40444.cs
1) Increase the maximum loop count for failure to 1000 million
2) Added additional computation inside of loop
3) Add addition message when the loop executes to the limit and the test case fails
Updated test case and insured that it fails on JITS without the fix
Test now checks it the other thread set t2_finished
* Re-enable the Runtime_40444 test
* Fix typos
Carol Eidt [Fri, 21 Aug 2020 01:37:09 +0000 (18:37 -0700)]
Fix an over-constrained use of a byte reg (#41004)
* Fix an over-constrained use of a byte reg
Fix #40963
* PR Feedback
Ryan Lucia [Thu, 20 Aug 2020 23:45:49 +0000 (19:45 -0400)]
Update Mono building docs with wasm-specific advice (#41122)
Mackinnon Buck [Thu, 20 Aug 2020 23:42:19 +0000 (16:42 -0700)]
Update dotnet_support.js (#41058)
Tomáš Rylek [Thu, 20 Aug 2020 20:54:22 +0000 (22:54 +0200)]
Fix propagation of target parameters in helixpublishwitharcade (#40959)
Nathan discovered this inconsistency in his work on standing up
web assembly CI testing; the top three target parameters don't
match the equivalent 'env' properties in send-to-helix-step.yml.
To achieve consistency I have removed the target properties
from the 'env' set and instead I added logic to pass these
properties explicitly to msbuild via command line options.
Thanks
Tomas
Egor Bogatov [Thu, 20 Aug 2020 19:00:46 +0000 (22:00 +0300)]
[Browser] Update ICU (#40981)
Mitchell Hwang [Thu, 20 Aug 2020 18:52:45 +0000 (14:52 -0400)]
[wasm] Skip EnsureThrowWhenCopyToNonSharedFile on Browser (#41048)
* [wasm] Skip EnsureThrowWhenCopyToNonSharedFile on Browser
* Provide context for skipping Copy.cs test on Browser
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Alexander Nikolaev [Thu, 20 Aug 2020 18:04:45 +0000 (20:04 +0200)]
Fix OS version check and testhost copying in stress tests (#40980)
SslStress also fails due to OperatingSystem.IsWindows() call which is not available on the public SDK yet.
Kevin Jones [Thu, 20 Aug 2020 17:39:10 +0000 (13:39 -0400)]
Detect read-only Oid at runtime.
The compile-time approach doesn't work because Pkcs is shipped as a standalone package, so if the new asset runs on .NET Core 3.1 or 2.1 it would assume immutable Oids when they were still mutable.
Charles Stoner [Thu, 20 Aug 2020 17:11:00 +0000 (10:11 -0700)]
Address warnings for possibly null array elements (#41046)
wooooooood [Thu, 20 Aug 2020 16:41:30 +0000 (01:41 +0900)]
Remove Makefile from gitignore (#41075)
Kenneth Pouncey [Thu, 20 Aug 2020 13:56:26 +0000 (15:56 +0200)]
Fix assembly name due to rename of assembly. (#41037)
Mitchell Hwang [Thu, 20 Aug 2020 12:40:12 +0000 (08:40 -0400)]
[wasm] Skip Assert.InRange in Copy.cs for Browser (#41000)
* Revert "[Wasm] Enable CopyWithData FileSystem test (#40663)"
This reverts commit
1821567ab60e156101f2a5bdcd5dab6d96dc3c71.
* Provide context for skipping Assert in Copy.cs
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Egor Bogatov [Thu, 20 Aug 2020 11:10:46 +0000 (14:10 +0300)]
[mono] Add MethodImplOptions.NoOptimization support (#40990)
David Cantú [Thu, 20 Aug 2020 09:56:50 +0000 (02:56 -0700)]
Change nullability of public IXmlNamespaceResolver parameters where appropriate (#41079)
Maxim Lipnin [Thu, 20 Aug 2020 09:23:21 +0000 (12:23 +0300)]
Mark some System.Net.* APIs as unsupported on Browser WASM (#40924)
David Cantú [Thu, 20 Aug 2020 08:56:14 +0000 (01:56 -0700)]
Add nullability annotations to System.Private.Xml.Linq project (#40744)
* Add nullability annotations to Xml.Linq project
* Fix misplaced assertion
* Address feedback
* Add missing NotNullIfNotNull attributes to operators