platform/upstream/dotnet/runtime.git
3 years ago[Wasm] Reduce max length on browser for ToArrayShouldWorkWithSpecialLengthLazyEnumera...
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>
3 years ago[mono] Thread DllImportSearchPath flags down to LoadLibraryEx (#41229)
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.

3 years agomore managed pointer rooting (#40934)
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.

3 years agoFix perf regression in IntPtr operators on 32-bit platforms (#41198)
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

3 years agoremove unused local (#41226)
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>
3 years ago[mono] Add more detailed logs for the PInvoke resolution process (#41228)
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

3 years agoFix wrong copy prop after `ASG(promoted LCL_VAR with 1 field, call)`. (#41197)
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.

3 years agoFix Array.Sort in the presence of nulls (#41234)
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

3 years agoRemove unused local (#40967)
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

3 years ago[master] Update dependencies from dotnet/runtime-assets dotnet/llvm-project dotnet...
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>
3 years agoUse nint instead of IntPtr in generic SpanHelpers (#41199)
Jan Kotas [Sun, 23 Aug 2020 16:01:51 +0000 (09:01 -0700)]
Use nint instead of IntPtr in generic SpanHelpers (#41199)

3 years agoFix linux_musl runs (#41224)
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

3 years agoRevert "Improve Windows error handling in Diagnostics IPC (#41008)" (#41220)
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.

3 years agoMove Editor Attribute to S.CM.Primitives and apply to types that had it in netfx...
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

3 years agoAvoid having two copies of System.Private.CoreLib.ni.pdb in the same NuGet package...
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)

3 years agoAdd regression test for GitHub issue 13394 (#41210)
Tomáš Rylek [Sat, 22 Aug 2020 20:24:05 +0000 (22:24 +0200)]
Add regression test for GitHub issue 13394 (#41210)

3 years agoAdd DO-NOT-SIGN comment for files that should not be signed (#41185)
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)

3 years ago[wasm][debugger] Fix expression evaluation when it is a reference (#41135)
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.

3 years ago[mono] Don't leak coop handles, fix type in managed ALC struct (#41159)
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

3 years agoRemove issues.targets exclusion for fixed issue 34316 (#41208)
Tomáš Rylek [Sat, 22 Aug 2020 14:16:44 +0000 (16:16 +0200)]
Remove issues.targets exclusion for fixed issue 34316 (#41208)

3 years ago[Browser] Bump ICU (#41166)
Egor Bogatov [Sat, 22 Aug 2020 11:49:06 +0000 (14:49 +0300)]
[Browser] Bump ICU (#41166)

3 years ago[mono] Disable XML file loading entirely on netcore (#41158)
Ryan Lucia [Sat, 22 Aug 2020 11:09:16 +0000 (07:09 -0400)]
[mono] Disable XML file loading entirely on netcore (#41158)

3 years agoAdd g_ptr_array_find to eglib (#41157)
Ryan Lucia [Sat, 22 Aug 2020 11:08:58 +0000 (07:08 -0400)]
Add g_ptr_array_find to eglib (#41157)

3 years agoEnsure non-shipping symbol packages get indexed (#41142)
Juan Hoyos [Sat, 22 Aug 2020 09:52:34 +0000 (02:52 -0700)]
Ensure non-shipping symbol packages get indexed (#41142)

3 years ago[runtime] Make the code which handles pinvoke lookup retries netcore only. (#41201)
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>
3 years agoRemove memset in EventPipeBuffer allocation (#41194)
Sung Yoon Whang [Sat, 22 Aug 2020 08:49:17 +0000 (01:49 -0700)]
Remove memset in EventPipeBuffer allocation (#41194)

3 years ago[runtime] Ongoing work on mono cmake build (#41055)
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.

3 years agoRollback noopt change (llvm-backend) (#41186)
Egor Bogatov [Sat, 22 Aug 2020 02:31:14 +0000 (05:31 +0300)]
Rollback noopt change (llvm-backend) (#41186)

3 years agoSwitch over managed test component build to run on Linux x64 (#41169)
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)

3 years agoCast cache Add should handle odd entry versions as inconsistent/taken. (#41109)
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

3 years agoUpdate Mono runtime NativeLibrary test exclusions (#41181)
Ryan Lucia [Sat, 22 Aug 2020 00:29:21 +0000 (20:29 -0400)]
Update Mono runtime NativeLibrary test exclusions (#41181)

3 years agoFix category exclusion (#41192)
Drew Scoggins [Sat, 22 Aug 2020 00:01:38 +0000 (17:01 -0700)]
Fix category exclusion (#41192)

3 years agoFix pythonpath and internal parameter (#41190)
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

3 years agoImprove condition for generating test execution scripts (#41151)
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

3 years ago[coop] Add handles for some SRE scenarios (#40925)
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

3 years agoAdd blazor job in runtime (#40863)
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

3 years agoReturn host's file path when using Environment.GetCommandLineArgs()[0] in single...
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

3 years agoHandle windows shutdown event (#41101)
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

3 years agoAdd a method GetRequiredSection on Configuration (#40976)
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>
3 years agoImprove Windows error handling in Diagnostics IPC (#41008)
John Salem [Fri, 21 Aug 2020 18:03:58 +0000 (11:03 -0700)]
Improve Windows error handling in Diagnostics IPC (#41008)

3 years agoAdd missing exception checkpoint (#41098)
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

3 years agoAllow Windows dbgshim to support Linux targets (#41116)
Steve MacLean [Fri, 21 Aug 2020 17:02:20 +0000 (13:02 -0400)]
Allow Windows dbgshim to support Linux targets (#41116)

3 years agoRe-enable ImplementedInterfaces tests on Mono (#41136)
Ryan Lucia [Fri, 21 Aug 2020 16:57:07 +0000 (12:57 -0400)]
Re-enable ImplementedInterfaces tests on Mono (#41136)

3 years agodon't run "NoMono" benchmarks for Mono runtime: (#41148)
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

3 years agoUpdate to 6.0.0 for mono and reset timeouts (#41132)
Drew Scoggins [Fri, 21 Aug 2020 16:02:45 +0000 (09:02 -0700)]
Update to 6.0.0 for mono and reset timeouts (#41132)

3 years ago[wasm] Mark System.ComponentModel APIs as unsupported on Browser (#41094)
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>
3 years agoFix memory ordering issue in StressHeap
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.

3 years agoAnnotate DbDataReader.GetSchemaTable as nullable (#41082)
Shay Rojansky [Fri, 21 Aug 2020 09:38:54 +0000 (12:38 +0300)]
Annotate DbDataReader.GetSchemaTable as nullable (#41082)

Reverts decision made in #509

3 years agoAdd dependencies for BrowserDebugHost into Microsoft.NETCore.BrowserDebugHost.Transpo...
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.

3 years agoModify the test case Runtime_40444.cs (#40951)
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

3 years agoFix an over-constrained use of a byte reg (#41004)
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

3 years agoUpdate Mono building docs with wasm-specific advice (#41122)
Ryan Lucia [Thu, 20 Aug 2020 23:45:49 +0000 (19:45 -0400)]
Update Mono building docs with wasm-specific advice (#41122)

3 years agoUpdate dotnet_support.js (#41058)
Mackinnon Buck [Thu, 20 Aug 2020 23:42:19 +0000 (16:42 -0700)]
Update dotnet_support.js (#41058)

3 years agoFix propagation of target parameters in helixpublishwitharcade (#40959)
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

3 years ago[Browser] Update ICU (#40981)
Egor Bogatov [Thu, 20 Aug 2020 19:00:46 +0000 (22:00 +0300)]
[Browser] Update ICU (#40981)

3 years ago[wasm] Skip EnsureThrowWhenCopyToNonSharedFile on Browser (#41048)
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>
3 years agoFix OS version check and testhost copying in stress tests (#40980)
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.

3 years agoDetect read-only Oid at runtime.
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.

3 years agoAddress warnings for possibly null array elements (#41046)
Charles Stoner [Thu, 20 Aug 2020 17:11:00 +0000 (10:11 -0700)]
Address warnings for possibly null array elements (#41046)

3 years agoRemove Makefile from gitignore (#41075)
wooooooood [Thu, 20 Aug 2020 16:41:30 +0000 (01:41 +0900)]
Remove Makefile from gitignore (#41075)

3 years agoFix assembly name due to rename of assembly. (#41037)
Kenneth Pouncey [Thu, 20 Aug 2020 13:56:26 +0000 (15:56 +0200)]
Fix assembly name due to rename of assembly. (#41037)

3 years ago[wasm] Skip Assert.InRange in Copy.cs for Browser (#41000)
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>
3 years ago[mono] Add MethodImplOptions.NoOptimization support (#40990)
Egor Bogatov [Thu, 20 Aug 2020 11:10:46 +0000 (14:10 +0300)]
[mono] Add MethodImplOptions.NoOptimization support (#40990)

3 years agoChange nullability of public IXmlNamespaceResolver parameters where appropriate ...
David Cantú [Thu, 20 Aug 2020 09:56:50 +0000 (02:56 -0700)]
Change nullability of public IXmlNamespaceResolver parameters where appropriate (#41079)

3 years agoMark some System.Net.* APIs as unsupported on Browser WASM (#40924)
Maxim Lipnin [Thu, 20 Aug 2020 09:23:21 +0000 (12:23 +0300)]
Mark some System.Net.* APIs as unsupported on Browser WASM (#40924)

3 years agoAdd nullability annotations to System.Private.Xml.Linq project (#40744)
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

3 years agoCoreRT support for ARM64&Unix (#41023)
RalfKornmannEnvision [Thu, 20 Aug 2020 08:06:34 +0000 (10:06 +0200)]
CoreRT support for ARM64&Unix (#41023)

* Update codegenarm64.cpp

* ARM64 CFI unwind Data

3 years agoFix NativeBinDir for individual projects when BuildTargetFramework is not set (#41074)
Santiago Fernandez Madero [Thu, 20 Aug 2020 07:55:38 +0000 (00:55 -0700)]
Fix NativeBinDir for individual projects when BuildTargetFramework is not set (#41074)

3 years agoFix Mono LLVMJIT official build to produce the right package (#41049)
Santiago Fernandez Madero [Thu, 20 Aug 2020 06:00:40 +0000 (23:00 -0700)]
Fix Mono LLVMJIT official build to produce the right package (#41049)

3 years agoEnable nullability on System.Xml.XPath (#41060)
David Cantú [Thu, 20 Aug 2020 05:41:41 +0000 (22:41 -0700)]
Enable nullability on System.Xml.XPath (#41060)

* Enable nullability on System.Xml.XPath

* Switch XPathException ctor's message parameter to string?

3 years agoremove dead code (#41064)
Anirudh Agnihotry [Thu, 20 Aug 2020 03:06:05 +0000 (20:06 -0700)]
remove dead code (#41064)

3 years ago[Pipelines] Noop Writes when Reader completed (#40905)
Brennan [Thu, 20 Aug 2020 02:42:27 +0000 (19:42 -0700)]
[Pipelines] Noop Writes when Reader completed (#40905)

3 years agoCleaning up unused TargetsBrowser conditions (#41062)
Anirudh Agnihotry [Thu, 20 Aug 2020 02:35:23 +0000 (19:35 -0700)]
Cleaning up unused TargetsBrowser conditions (#41062)

* minor cleanup

* remove unused string

3 years agoDelete redundant or no longer necessary build properties (#41051)
Jan Kotas [Thu, 20 Aug 2020 00:35:21 +0000 (17:35 -0700)]
Delete redundant or no longer necessary build properties (#41051)

3 years agoFix trailing whitespaces (#40891)
Youssef Victor [Thu, 20 Aug 2020 00:29:01 +0000 (02:29 +0200)]
Fix trailing whitespaces (#40891)

* Trim trailing whitespaces

* Match raw with rendered

* Delete extra asterisks and |

* Update ELT Hooks - tail calls.md

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
3 years agoupdate product version to 6.0.0 (#40950)
Anirudh Agnihotry [Thu, 20 Aug 2020 00:23:04 +0000 (17:23 -0700)]
update product version to 6.0.0 (#40950)

* update to net6

* adding comment

3 years agoDisable System.IO.Tests.FileStream_SafeFileHandle.ThrowWhenHandlePositionIsChanged_as...
Maxim Lipnin [Wed, 19 Aug 2020 22:49:56 +0000 (01:49 +0300)]
Disable System.IO.Tests.FileStream_SafeFileHandle.ThrowWhenHandlePositionIsChanged_async test on Browser wasm (#40920)

3 years agoFix Memory Leak in System.DirectoryServices.Protocols caused by not freeing native...
Jose Perez Rodriguez [Wed, 19 Aug 2020 22:36:17 +0000 (15:36 -0700)]
Fix Memory Leak in System.DirectoryServices.Protocols caused by not freeing native memory (#41053)

3 years agoRemove semicolon from WASM config (#41017)
Drew Scoggins [Wed, 19 Aug 2020 21:20:12 +0000 (14:20 -0700)]
Remove semicolon from WASM config (#41017)

3 years agoAdd Designer attributes to types that had it in full framework (part 2) (#40966)
Santiago Fernandez Madero [Wed, 19 Aug 2020 19:08:39 +0000 (12:08 -0700)]
Add Designer attributes to types that had it in full framework (part 2) (#40966)

* Move DesignerSerializerAttribute to S.CM.Primitives and add to StringDictionary

* Add TolboxItemAttribute to types that had it in Desktop

* Remove TypeDescriptionProviderAttribute from DefaultGenApiDocIds

* PR Feedback, fix build

3 years agoConfiguration Json provider: adds empty objects to configuration (#40829)
Alessio Franceschelli [Wed, 19 Aug 2020 16:51:12 +0000 (17:51 +0100)]
Configuration Json provider: adds empty objects to configuration (#40829)

3 years agoDisable default non-portable build for armel (#41031)
Gleb Balykov [Wed, 19 Aug 2020 15:18:48 +0000 (18:18 +0300)]
Disable default non-portable build for armel (#41031)

3 years agoAdd GitHub Action for backporting PRs to branches (#40955)
Alexander Köplinger [Tue, 18 Aug 2020 22:44:50 +0000 (00:44 +0200)]
Add GitHub Action for backporting PRs to branches (#40955)

This adds an action that can be triggered with a special comment on a PR: `/backport to <some branch>`.
The action then creates a new PR to the target branch with the commits from the source PR applied.

3 years agoFix bad quoting (#41002)
Drew Scoggins [Tue, 18 Aug 2020 22:41:18 +0000 (15:41 -0700)]
Fix bad quoting (#41002)

3 years agoFix packaging for the browser (#40814)
Anirudh Agnihotry [Tue, 18 Aug 2020 20:36:55 +0000 (13:36 -0700)]
Fix packaging for the browser (#40814)

* Fix packaging for the browser

* fix wasm leg

* remove unused resource

3 years agoAdd parsing of zero port for unknown Uri scheme (#40986)
Natalia Kondratyeva [Tue, 18 Aug 2020 18:48:56 +0000 (21:48 +0300)]
Add parsing of zero port for unknown Uri scheme (#40986)

Fixes #37865

3 years ago[aot] Fix the lookup of jit info for WASM. On wasm, methods have no size, so only...
monojenkins [Tue, 18 Aug 2020 18:24:07 +0000 (14:24 -0400)]
[aot] Fix the lookup of jit info for WASM. On wasm, methods have no size, so only the method address can be looked up, jinfo->code_size is set to 1. (#40969)

Fixes https://github.com/mono/mono/issues/20256.

Co-authored-by: vargaz <vargaz@users.noreply.github.com>
3 years agoDisable System.Xml.Tests.SameInstanceXslTransformWriter.Variations under JitStress...
Egor Chesakov [Tue, 18 Aug 2020 17:58:41 +0000 (10:58 -0700)]
Disable System.Xml.Tests.SameInstanceXslTransformWriter.Variations under JitStress (#40964)

3 years agoFix index adjustments for Get/Set/Address called on 1 dim arrays. (#35008)
Johan Lorensson [Tue, 18 Aug 2020 16:48:50 +0000 (18:48 +0200)]
Fix index adjustments for Get/Set/Address called on 1 dim arrays. (#35008)

Enable tests failing due to missing array ctor and lbound index checks.

Fix interpreter Get/Set/Address using lbound.

Add missing OP_FCONV_TO_I on Arm64, causing test errors.

Fix interpreter arrray index and lower bound when using negative values.

Add branch checking array->bounds for NULL.

3 years agoIncrease timeout for yaml as well (#40987)
Drew Scoggins [Tue, 18 Aug 2020 15:58:47 +0000 (08:58 -0700)]
Increase timeout for yaml as well (#40987)

3 years agoFix duplicate --runtime-path in generated helix command (#40975)
Alexander Köplinger [Tue, 18 Aug 2020 15:32:56 +0000 (17:32 +0200)]
Fix duplicate --runtime-path in generated helix command (#40975)

While looking at some helix debug logs I noticed we pass the `--runtime-path` option twice:

```
Executed on dci-mac-build-083.local
+ ./RunTests.sh --runtime-path /tmp/helix/working/A68F0925/p --runtime-path /tmp/helix/working/A68F0925/p
```

Looks like this was an oversight from https://github.com/dotnet/runtime/pull/35606, it's harmless but I thought I'd clean it up :)

3 years agoFix Runtime_40444 test exclusion in issues.targets (#40973)
Tomáš Rylek [Tue, 18 Aug 2020 11:57:21 +0000 (13:57 +0200)]
Fix Runtime_40444 test exclusion in issues.targets (#40973)

After I noticed that the test Runtime_40444 is still failing in PR
runs after I disabled it in issues.targets, I found out that
I had missed the extra folder level in the exclusion spec.

Thanks

Tomas

3 years agoFix EventActivityIdControl test on MonoVM. (#39178)
Johan Lorensson [Tue, 18 Aug 2020 11:00:27 +0000 (13:00 +0200)]
Fix EventActivityIdControl test on MonoVM. (#39178)

Make EventSource call static version of EventActivityIdControl in
EventPipeEventProvider instead of direct calling low level
EventPipeInternal (now only called from EventPipe* sources). Doing
it that way will also keep EventPipeEventProvider.EventActivityIdControl
in S.P.C meaning that tests like eventactivityidcontrol won't risk
of using methods that has been trimmed away by linker.

Added missing case into Mono's EventPipeInternal::EventActivityIdControl
implementations.

Enabled eventactivityidcontrol test on Mono runtime. Adjusted test to
use static EventPipeEventProvider.EventActivityIdControl version.

3 years ago[wasm][debugger] Support deep member accesses for EvaluteOnCallFrame (#40836)
Ankit Jain [Tue, 18 Aug 2020 02:13:35 +0000 (22:13 -0400)]
[wasm][debugger]  Support deep member accesses for EvaluteOnCallFrame (#40836)

* [wasm][debugger] Support deep member accesses for EvaluteOnCallFrame

Eg. `obj.Property.X`, or `obj.Y + obj.Z.p`

Each of the member access expressions (like `a.b.c`) must be of only
primitive types. Though if the expression is a single member access (and
nothing else, like `"a.b.c"`), then that can be a non-primitive type.

This works by sending the expression to the browser, where it gets
resolved by `library_mono.js`. And that takes an easy route for doing
this, essentially just fetching the list of locals/properties, and using
that.

There are better ways to do this, that will be explored later.

* [wasm][debugger][tests] Remove some debug spew

* [wasm][debugger] fix formatting with dotnet-format

3 years agoUse Roslyn apis to generate Platform Not Supported Assemblies (#40296)
Anirudh Agnihotry [Tue, 18 Aug 2020 00:01:27 +0000 (17:01 -0700)]
Use Roslyn apis to generate Platform Not Supported Assemblies (#40296)

* fixes on the runtime side

* address feedback

* update arcade version

* merge conflicts

* update the version

3 years agoOrdinal Ignore Case Optimization (#40910)
Tarek Mahmoud Sayed [Mon, 17 Aug 2020 23:53:47 +0000 (16:53 -0700)]
Ordinal Ignore Case Optimization (#40910)

3 years agoDeduplicate Helix environment setup in send-to-helix-step.yml (#40909)
Tomáš Rylek [Mon, 17 Aug 2020 23:39:41 +0000 (01:39 +0200)]
Deduplicate Helix environment setup in send-to-helix-step.yml (#40909)

3 years ago[mono] Loader improvements: bundle optimization and logging (#40819)
Ryan Lucia [Mon, 17 Aug 2020 22:53:53 +0000 (18:53 -0400)]
[mono] Loader improvements: bundle optimization and logging (#40819)

* Delay bundle loading until after checking the ALC cache

This avoids having to create and destroy MonoImage objects over and over when looking for already-loaded assemblies, which should cut down on overall load time a bit.

* Improve loader algorithm logging

3 years agoretire TLS1.0/1.1 ciphers from default list (#40746)
Tomas Weinfurt [Mon, 17 Aug 2020 22:31:59 +0000 (15:31 -0700)]
retire TLS1.0/1.1 ciphers from default list (#40746)

* retire TLS1.0/1.1 ciphers from default list

* fix build with 1.0

* feedback from review

* add compat bio_st

* don't enforce cipher default on openssl 1.0

* fix ServerAsyncAuthenticate_MismatchProtocols_Fails

* call ERR_clear_error after protocol det:w!ection

* feedback from review

* add missing Using

3 years agoMake RegexParseException and RegexParseError public, rename enum fields (#40902)
Abel Braaksma [Mon, 17 Aug 2020 22:25:22 +0000 (00:25 +0200)]
Make RegexParseException and RegexParseError public, rename enum fields (#40902)

* RegexParseException, RegexParseError public, rename enum fields

* Add Unknown field to RegexParseError

* Add definitions to ref file

* Satisfy NET48 tests

* Some nits to resolve review comments

* Add default message and Unknown message

* Added doc comments

* Fix nit in auto-layout change of csproj file

* Simplify message for RegexParseException ctor overload

* Remove PlatformDetection.IsNetFramework in RegexParserTests.cs

* Rename resource names to match the enum names

* Use partial class and methods to separate netfx and core

* Add offset tests

* Apply suggestions from code review

Nits

* Add remaining test offsets. Verify all offsets.

* Nit and TFM

* Update src/libraries/System.Text.RegularExpressions/tests/RegexParserTests.netcoreapp.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Text.RegularExpressions/tests/RegexParserTests.netfx.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Update src/libraries/System.Text.RegularExpressions/tests/RegexParserTests.netfx.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Code review: properly test for deserialized type of exn

* Code review: fix doc comments

* Code review: fix doc comments

* Code review: offset gt zero

* Code review: add some tests, remove redundant whiteline

* Code review: add doc comment as suggested

* Code review: fix doc comments

* ref edits with tool

* Code review: some nits

* Remove using

* Rename unknown

* Incorrect edit in AssertExtensions

* Cherry-pick #d4090296

* Fix naming, ref file, resource strings

Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Prashanth Govindarajan <prgovi@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>