platform/upstream/dotnet/runtime.git
2 years agoMerge tag 'v6.0.0-rc.2.21480.5' into juhoyosa/merge-rc2-rel
Juan Sebastian Hoyos Ayala [Wed, 13 Oct 2021 19:01:48 +0000 (12:01 -0700)]
Merge tag 'v6.0.0-rc.2.21480.5' into juhoyosa/merge-rc2-rel

2 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20211012.4 (#60337)
dotnet-maestro[bot] [Wed, 13 Oct 2021 17:33:22 +0000 (10:33 -0700)]
Update dependencies from https://github.com/dotnet/arcade build 20211012.4 (#60337)

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21511.3 -> To Version 6.0.0-beta.21512.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoMake upgrade install new host first, then uninstall old (#60317)
github-actions[bot] [Wed, 13 Oct 2021 13:56:09 +0000 (06:56 -0700)]
Make upgrade install new host first, then uninstall old (#60317)

This should preserve the ordering of PATH, since the old MSI will never
remove its entry.

Co-authored-by: Eric StJohn <ericstj@microsoft.com>
2 years agoFinish59071 update ci argsh for r6.0 (#60100)
Parker Bibus [Wed, 13 Oct 2021 07:14:27 +0000 (02:14 -0500)]
Finish59071 update ci argsh for r6.0 (#60100)

* Updated channel passed to ci_setup in the performance-setup.sh file.

(cherry picked from commit e4416cb4cf6bee2234cf2536bf911045108d42c9)

* Removed spaces from assignments so they are seen as actual variabls, and tested locally.

(cherry picked from commit bf4d5a235d088515157173ddc0fe07a31abe2ad5)

2 years ago[release/6.0] Update dependencies from dotnet/runtime-assets dotnet/arcade dotnet...
dotnet-maestro[bot] [Wed, 13 Oct 2021 05:47:05 +0000 (22:47 -0700)]
[release/6.0] Update dependencies from dotnet/runtime-assets dotnet/arcade dotnet/emsdk (#60217)

* Update dependencies from https://github.com/dotnet/arcade build 20211008.2

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21507.1 -> To Version 6.0.0-beta.21508.2

* Update dependencies from https://github.com/dotnet/runtime-assets build 20211011.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 6.0.0-beta.21504.1 -> To Version 6.0.0-beta.21511.1

* Update dependencies from https://github.com/dotnet/arcade build 20211011.3

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21507.1 -> To Version 6.0.0-beta.21511.3

* Update dependencies from https://github.com/dotnet/emsdk build 20211012.1

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rtm.21505.3 -> To Version 6.0.0-rtm.21512.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[release/6.0] Eliminate pre-built assets during source-build (#60315)
Eric Erhardt [Wed, 13 Oct 2021 05:46:03 +0000 (00:46 -0500)]
[release/6.0] Eliminate pre-built assets during source-build (#60315)

* Remove RefOnly dependency versions

This allows for source-build to replace these versions with source-built versions.

* Eliminate usages of pre-built packages during source-build

* Don't build MSBuild tasks for netfx during source-build
* Don't build Microsoft.Windows.Compatibility during source-build
* Don't build test projects during source-build
* Don't restore Microsoft.DiaSymReader.Native
* Don't build source generators that target older Roslyn versions
* Don't build ILStripTask since it uses a Mono.Cecil "sources" NuGet package that isn't part of source-build

* PR feedback

Fix test build

2 years ago[release/6.0] Add osx-arm64.runtime.native.System.IO.Ports (#60084)
Sean Mollet [Wed, 13 Oct 2021 05:38:10 +0000 (00:38 -0500)]
[release/6.0] Add osx-arm64.runtime.native.System.IO.Ports (#60084)

* Add runtime.osx-arm64.runtime.native.System.IO.Ports proj file for packaging.
Tested on actual osx-arm64 hardware, resulting package works correctly.

* Update src/libraries/System.IO.Ports/pkg/runtime.osx-arm64.runtime.native.System.IO.Ports.proj

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2 years agoUpdate Package Validation dependency and update Suppression files (#60306)
Jose Perez Rodriguez [Wed, 13 Oct 2021 03:56:10 +0000 (20:56 -0700)]
Update Package Validation dependency and update Suppression files (#60306)

2 years ago[release/6.0] Prevent runtime prop metadata retrieval when [JsonIgnore] is used ...
github-actions[bot] [Tue, 12 Oct 2021 19:00:36 +0000 (12:00 -0700)]
[release/6.0] Prevent runtime prop metadata retrieval when [JsonIgnore] is used (#60299)

* Prevent runtime prop metadata retrieval when [JsonIgnore] is used

* Address feedback

* Re-add ctor param default handling tests

* Remove new concurrent dictionary for generic method holders

Co-authored-by: Layomi Akinrinade <laakinri@microsoft.com>
2 years ago[release/6.0] Fallback to read/write if pread/pwrite fails (#60280)
github-actions[bot] [Tue, 12 Oct 2021 19:00:08 +0000 (12:00 -0700)]
[release/6.0] Fallback to read/write if pread/pwrite fails (#60280)

* Fallback to read/write if pread/pwrite fails

* * Cache whether a handle supports random access * Keep avoiding pread/pwrite for unseekable files * Fallback to read/write only for known error ENXIO

* Test more device paths and add tests for WriteAll*

* Fix CI: skip test when device can't be opened

* * Do not use SkipTestException * Exclude EBADF from assertion

* use NullableBool in _supportsRandomAccess

* Add tests for mkfifo and socketpair

* Rename test file

* Address feedback in src

* Address suggestions

* Address suggestions

* Update src/libraries/System.IO.FileSystem/tests/FileStream/DevicesPipesAndSockets.cs

Use Lazy for thread-safety

Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
* Use IEnumerable<string> in Lazy and fix usages

Co-authored-by: David Cantu <jozkee@macbook.lan>
Co-authored-by: Jozkee <dacantu@microsoft.com>
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
2 years agoFixed exception type for ConnectionShutdownInitiatedByTransport (#60244)
github-actions[bot] [Tue, 12 Oct 2021 17:35:39 +0000 (11:35 -0600)]
Fixed exception type for ConnectionShutdownInitiatedByTransport (#60244)

Co-authored-by: ManickaP <mapichov@microsoft.com>
2 years agoFix issue in decommit_ephemeral_segment_pages (segment case). (#60170)
github-actions[bot] [Mon, 11 Oct 2021 21:05:08 +0000 (14:05 -0700)]
Fix issue in decommit_ephemeral_segment_pages (segment case). (#60170)

We assume that we can use half the free list space in gen 0 for new allocation. If that is too optimistic, we may allocate into decommitted memory and crash in the allocator. That is because there is a race condition between the allocating thread and the decommitting thread - we decided to avoid that by making sure we would never decommit memory that we may allocate in gen 0.

There are two reasons why assuming we can use half the free list space for new allocations may be too optimistic:
 - if we allocate large objects in gen 0, we may not have free spaces of the necessary size available.
- when background GC goes into background_ephemeral_sweep, it deletes and rebuilds the free list for gen 0. A thread trying to allocate during that time may see a completely empty free list.

Co-authored-by: Peter Sollich <petersol@microsoft.com>
2 years agoFix GetGenerationWithRange when we have a gen 2 object in the ephemeral segment ...
Andrew Au [Mon, 11 Oct 2021 06:53:06 +0000 (23:53 -0700)]
Fix GetGenerationWithRange when we have a gen 2 object in the ephemeral segment (#60189) (#60207)

2 years ago[release/6.0] Regression Fix - Update HostFactoryResolver, set the app name via an...
github-actions[bot] [Sat, 9 Oct 2021 00:20:15 +0000 (17:20 -0700)]
[release/6.0] Regression Fix - Update HostFactoryResolver, set the app name via an argument (#60132)

2 years ago[release/6.0] SafeFileHandle.Unix: don't DeleteOnClose when lock is not successful...
Tom Deseyn [Fri, 8 Oct 2021 22:59:07 +0000 (00:59 +0200)]
[release/6.0] SafeFileHandle.Unix: don't DeleteOnClose when lock is not successful. (#60112)

* SafeFileHandle.Unix: don't DeleteOnClose when lock is not succesful.

In https://github.com/dotnet/runtime/pull/55153 DeleteOnClose handling
moved from FileStream to SafeFileHandle.

This unintentionally caused DeleteOnClose to be applied even when
FileShare locking fails. As on Windows, DeleteOnClose should not take
effect when sharing prevents the file from being opened.

This also swaps the order of unlink and LOCK_UN in Dispose as it was
prior to https://github.com/dotnet/runtime/pull/55153.
Either order should be fine.

* test: add ConditionalFact IsFileLockingEnabled

2 years ago[release/6.0] Produce symbols archives (#59843)
github-actions[bot] [Fri, 8 Oct 2021 19:13:13 +0000 (12:13 -0700)]
[release/6.0] Produce symbols archives (#59843)

* Produce symbols archives.

Contributes to #49026

* Backport official build fix from #60096 to keep this PR from breaking the official build.

Co-authored-by: Jeremy Koritzinsky <jekoritz@microsoft.com>
Co-authored-by: Jeremy Koritzinsky <jkoritzinsky@gmail.com>
2 years agoMerge pull request #59810 from dotnet-maestro-bot/merge/release/6.0-rc2-to-release/6.0
Anirudh Agnihotry [Fri, 8 Oct 2021 19:12:51 +0000 (12:12 -0700)]
Merge pull request #59810 from dotnet-maestro-bot/merge/release/6.0-rc2-to-release/6.0

[automated] Merge branch 'release/6.0-rc2' => 'release/6.0'

2 years ago[release/6.0] Update dependencies from dotnet/emsdk dotnet/icu dotnet/runtime-assets...
dotnet-maestro[bot] [Fri, 8 Oct 2021 19:11:55 +0000 (12:11 -0700)]
[release/6.0] Update dependencies from dotnet/emsdk dotnet/icu dotnet/runtime-assets dotnet/arcade (#59895)

* Update dependencies from https://github.com/dotnet/arcade build 20210929.4

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21477.9 -> To Version 6.0.0-beta.21479.4

* Update dependencies from https://github.com/dotnet/runtime-assets build 20211004.1

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 6.0.0-beta.21479.2 -> To Version 6.0.0-beta.21504.1

* Update dependencies from https://github.com/dotnet/emsdk build 20211005.2

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21474.1 -> To Version 6.0.0-rtm.21505.2

* Update dependencies from https://github.com/dotnet/emsdk build 20211005.3

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21474.1 -> To Version 6.0.0-rtm.21505.3

* Update dependencies from https://github.com/dotnet/arcade build 20211005.8

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21477.9 -> To Version 6.0.0-beta.21505.8

* Update dependencies from https://github.com/dotnet/arcade build 20211006.2

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21477.9 -> To Version 6.0.0-beta.21506.2

* Update dependencies from https://github.com/dotnet/arcade build 20211007.1

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21477.9 -> To Version 6.0.0-beta.21507.1

* Update dependencies from https://github.com/dotnet/icu build 20211007.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rtm.21474.1 -> To Version 6.0.0-rtm.21507.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[release/6.0] Check BackgroundService.ExecuteTask for null (#60177)
github-actions[bot] [Fri, 8 Oct 2021 19:09:07 +0000 (12:09 -0700)]
[release/6.0] Check BackgroundService.ExecuteTask for null (#60177)

* Check BackgroundService.ExecuteTask for null

In some scenarios, derived classes might not have called base.StartAsync, and ExecuteTask will still be null. Ensure we don't fail in those cases.

Fix #60131

* PR feedback

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2 years ago[release/6.0] Override `corehost_resolve_component_dependencies` and `corehost_set_er...
github-actions[bot] [Fri, 8 Oct 2021 19:08:24 +0000 (12:08 -0700)]
[release/6.0] Override `corehost_resolve_component_dependencies` and `corehost_set_error_writer` PInvokes in singlefile scenario. (#60111)

* Override `corehost_resolve_component_dependencies` and `corehost_set_error_writer` PInvokes in singlefile scenario.

* fix for GCC

* Fixes the test failures when hostpolicy is used at runtime.

Co-authored-by: vsadov <8218165+VSadov@users.noreply.github.com>
Co-authored-by: vitek-karas <vitek.karas@microsoft.com>
2 years agoFix issue with incorrect handling of optimized method layouts - The sort order of...
github-actions[bot] [Fri, 8 Oct 2021 16:52:27 +0000 (09:52 -0700)]
Fix issue with incorrect handling of optimized method layouts - The sort order of the RuntimeFunctions table (among others) was not properly handled when an optimized method layout was applied - While this bug applied to non-composite builds, it was easily reproduced with a composite build - Fix lack of test infrastructure around non-standard method layouts. - Add new random method sorting order - Use new random sorting order in crossgen2 test passes (#60109)

Fixes #59089

Co-authored-by: David Wrighton <davidwr@microsoft.com>
2 years agoChange profilers to use thread local evacuation counters (#59741) (#60116)
David Mason [Fri, 8 Oct 2021 16:52:01 +0000 (09:52 -0700)]
Change profilers to use thread local evacuation counters (#59741) (#60116)

* Change profilers to use thread local evacuation counters

Change to prefix increment

* get rid of lambdas

* Fix jit inlining, fix R2R too

* Remove VolatilePtr<> from helpers

* Get rid of additionalData argument

2 years ago[release/6.0] Fix TimeZones Test failure (#60150)
github-actions[bot] [Fri, 8 Oct 2021 02:48:28 +0000 (19:48 -0700)]
[release/6.0] Fix TimeZones Test failure (#60150)

2 years ago[mono] Fix libcoreclr.so build incompatibilities on Linux (#60077)
github-actions[bot] [Thu, 7 Oct 2021 17:32:19 +0000 (13:32 -0400)]
[mono] Fix libcoreclr.so build incompatibilities on Linux (#60077)

Backport of #59988

* Link with -z relro -z now to enable full RELRO mode
  Fixes https://github.com/dotnet/runtime/issues/59904

* Generate and link in version.c to provide version string
  Fixes https://github.com/dotnet/source-build/issues/2484

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
2 years agoEnable host.pkg subset in source-build (#60069)
Michael Simons [Thu, 7 Oct 2021 17:17:27 +0000 (12:17 -0500)]
Enable host.pkg subset in source-build (#60069)

2 years ago[release/6.0] Show error dialog in single-file app when runtime is missing (#60045)
Andy Gocke [Thu, 7 Oct 2021 05:33:51 +0000 (22:33 -0700)]
[release/6.0] Show error dialog in single-file app when runtime is missing (#60045)

* Show dialog when running .NET 6 GUI single-file on 5.0 hostfxr (#59929)

Show dialog when running .NET 6 GUI single-file on 5.0 hostfxr

(cherry picked from commit 2f76c088d6ca9d734e9a481aebb5c382085f5ae2)

* Fixes based on feedback for the original #59929 (#59967)

Co-authored-by: Elinor Fung <elfung@microsoft.com>
(cherry picked from commit 3d171f9a6e78770f66cb861de007ec91c407a803)

Co-authored-by: Vitek Karas <vitek.karas@microsoft.com>
2 years ago[release/6.0] Fix incorrect tracking of sign bit in BigInteger (#59951)
github-actions[bot] [Wed, 6 Oct 2021 23:45:07 +0000 (17:45 -0600)]
[release/6.0] Fix incorrect tracking of sign bit in BigInteger (#59951)

* Fix incorrect tracking of sign bit

* Perform the 1 check earlier

* Add comment on checking special pattern

* Simplify fix

* Update the test to target 32 bit right shift as the logic has been restricted to that

* Remove stray newline

Co-authored-by: Wei Zheng <13881045+wzchua@users.noreply.github.com>
2 years agoFix byte array handling in STJ sourcegen (#60004)
github-actions[bot] [Wed, 6 Oct 2021 23:44:21 +0000 (17:44 -0600)]
Fix byte array handling in STJ sourcegen (#60004)

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2 years ago[release/6.0][wasm] Fix codeql checks (#59839)
Larry Ewing [Wed, 6 Oct 2021 22:29:55 +0000 (17:29 -0500)]
[release/6.0][wasm] Fix codeql checks (#59839)

Fixes #59147 for release/6.0 a console method is called
with both a concatenated format string and multiple arguments.

2 years ago[mono][jit] Fix a JIT assert. (#59869)
github-actions[bot] [Wed, 6 Oct 2021 22:29:28 +0000 (18:29 -0400)]
[mono][jit] Fix a JIT assert. (#59869)

Backport of #59861

Fixes https://github.com/dotnet/runtime/issues/57560.

2 years ago[release/6.0] Build improvements based on feedback (#59671)
Ankit Jain [Wed, 6 Oct 2021 22:21:58 +0000 (22:21 +0000)]
[release/6.0] Build improvements based on feedback (#59671)

Backport of #59391

- Fix to handle pinvokes with function pointers, which resolves issue found testing new customer scenario with sqlite

- Fixes version of System.Reflection.MetadataLoadContext bundled with WasmBuilderApp task, to use the same as other tasks

- Fix for an incremental build issue where the compiled native .o files would
incorrectly get deleted after linking. And that would cause them to be
recompiled, unnecessarily increasing the build time.

- Change the default optimization flag used when building for Debug config
from -Oz to -O1 to improve development loop experience.

2 years agoUpdate signed wix version to 1.0.0-v3.14.0.5722 (#60008)
Larry Ewing [Wed, 6 Oct 2021 03:29:24 +0000 (22:29 -0500)]
Update signed wix version to 1.0.0-v3.14.0.5722 (#60008)

2 years agoAvoid resetting gen0 bricks for background_sweep (#59106) (#59960)
Andrew Au [Tue, 5 Oct 2021 17:34:44 +0000 (10:34 -0700)]
Avoid resetting gen0 bricks for background_sweep (#59106) (#59960)

2 years agoFix unmatched transition callback in JIT_ReversePInvokeExitTrackTransitions (#59939)
github-actions[bot] [Mon, 4 Oct 2021 18:33:40 +0000 (11:33 -0700)]
Fix unmatched transition callback in JIT_ReversePInvokeExitTrackTransitions (#59939)

Fixes #59917

Co-authored-by: Ilia K <ki.stfu@gmail.com>
2 years agoFix code heap reservation size (#59918)
github-actions[bot] [Mon, 4 Oct 2021 18:32:29 +0000 (11:32 -0700)]
Fix code heap reservation size (#59918)

When I've moved the heap metadata out of the actual code heaps some time
ago, I've forgotten to account for the personality routine slot
allocated at the beginning of the heaps. This was exposed by an assert when
executing under the JIT stress mode 2.

This change fixes it by adding accounting for those.

Close #59794

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years agoEnable doc generation for source-build (#59937)
Michael Simons [Mon, 4 Oct 2021 17:42:08 +0000 (12:42 -0500)]
Enable doc generation for source-build (#59937)

2 years ago[release/6.0] Do not flush serializer buffers before first IAsyncEnumerable element...
github-actions[bot] [Mon, 4 Oct 2021 17:41:34 +0000 (10:41 -0700)]
[release/6.0] Do not flush serializer buffers before first IAsyncEnumerable element is fetched (#59865)

* Do not flush serializer buffers before first IAsyncEnumerable element is fetched

* add debug assertion

* address feedback

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2 years agoUpdate workload localization file directory structure (#59827)
Sarah Oslund [Mon, 4 Oct 2021 16:00:27 +0000 (09:00 -0700)]
Update workload localization file directory structure (#59827)

Fixing a bug in #59379, part of dotnet/sdk#20497

Workload/SDK logic only copies content in the data directory, so moving the localize directory into the proper location to be picked up and laid down on disk.

2 years agoFix Unix ARM64 RtlRestoreContext implementation (#59849)
github-actions[bot] [Mon, 4 Oct 2021 14:29:53 +0000 (07:29 -0700)]
Fix Unix ARM64 RtlRestoreContext implementation (#59849)

The RtlRestoreContext sets SP before reading out PC from the
context. That can lead to a corruption of the PC in the context
if an async signal is delivered to the thread  or the thread is
interrupted by any other mean after the SP is set and before
the value of PC is extracted from the context.

This change fixes it by setting the SP after both PC and SP values
are read from the context data structure.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20210927.9 (#59859)
dotnet-maestro[bot] [Fri, 1 Oct 2021 19:50:55 +0000 (12:50 -0700)]
Update dependencies from https://github.com/dotnet/arcade build 20210927.9 (#59859)

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21473.5 -> To Version 6.0.0-beta.21477.9

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[release/6.0] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime-assets...
dotnet-maestro[bot] [Fri, 1 Oct 2021 15:58:07 +0000 (08:58 -0700)]
[release/6.0] Update dependencies from dotnet/icu dotnet/arcade dotnet/runtime-assets (#59226)

* Update dependencies from https://github.com/dotnet/icu build 20210916.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.2.21428.1 -> To Version 6.0.0-rtm.21466.1

* Update dependencies from https://github.com/dotnet/icu build 20210924.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.2.21428.1 -> To Version 6.0.0-rtm.21474.1

* Update dependencies from https://github.com/dotnet/runtime-assets build 20210929.2

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 6.0.0-beta.21460.2 -> To Version 6.0.0-beta.21479.2

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[release/6.0] Fix NRT warnings in source generated code (#59817)
github-actions[bot] [Fri, 1 Oct 2021 15:52:34 +0000 (08:52 -0700)]
[release/6.0] Fix NRT warnings in source generated code (#59817)

* Fix NRT warnings in source generated code

* address feedback

* address style

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2 years agoUpdate WCF dependencies on the compat pack (#59764) (#59820)
Santiago Fernandez Madero [Fri, 1 Oct 2021 02:38:19 +0000 (19:38 -0700)]
Update WCF dependencies on the compat pack (#59764) (#59820)

2 years agoDefine SystemReflectionMetadataStaticVersion for source-build (#59782)
Michael Simons [Thu, 30 Sep 2021 21:31:31 +0000 (16:31 -0500)]
Define SystemReflectionMetadataStaticVersion for source-build (#59782)

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Thu, 30 Sep 2021 14:30:20 +0000 (14:30 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agofix reuse buffer (#59775)
Thays Grazia [Thu, 30 Sep 2021 14:26:40 +0000 (11:26 -0300)]
fix reuse buffer (#59775)

2 years ago[release/6.0] Treat 'abstract' properties the same as 'virtual' for src-gen (#59771)
github-actions[bot] [Thu, 30 Sep 2021 00:50:10 +0000 (18:50 -0600)]
[release/6.0] Treat 'abstract' properties the same as 'virtual' for src-gen (#59771)

* Treat 'abstract' properties the same as 'virtual' for src-gen

* Change virtual detection; move test to common

Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
2 years agoSrc gen: use GetBestTypeByMetadataName instead of GetTypeByMetadataName (#59092)...
Steve Harter [Thu, 30 Sep 2021 00:49:48 +0000 (19:49 -0500)]
Src gen: use GetBestTypeByMetadataName instead of GetTypeByMetadataName (#59092) (#59774)

2 years ago[release/6.0] Revert bind single elements to array in configuration binder (#59733)
github-actions[bot] [Wed, 29 Sep 2021 19:22:24 +0000 (12:22 -0700)]
[release/6.0] Revert bind single elements to array in configuration binder (#59733)

* Revert "Apply feedback from PR #57204 (#57872)"

This reverts commit e4a455f26a91932f5de398f0082be83cb9678c36.

* Revert "Allow ConfigBinder to bind arrays to Singular elements (#57204)"

This reverts commit 7f595ce3f4b79f21a14c43cd87041db90dcd6ad7.

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
2 years ago[release/6.0] Fix Time Zone when running with Globalization Invariant Mode (#59727)
github-actions[bot] [Wed, 29 Sep 2021 04:53:56 +0000 (21:53 -0700)]
[release/6.0] Fix Time Zone when running with Globalization Invariant Mode (#59727)

2 years agoMerge pull request #59387 from dotnet-maestro-bot/merge/release/6.0-rc2-to-release/6.0
Marek Safar [Tue, 28 Sep 2021 08:37:41 +0000 (10:37 +0200)]
Merge pull request #59387 from dotnet-maestro-bot/merge/release/6.0-rc2-to-release/6.0

2 years agoAdd InstallLocation component to host (#59654)
github-actions[bot] [Mon, 27 Sep 2021 20:25:10 +0000 (13:25 -0700)]
Add InstallLocation component to host (#59654)

Co-authored-by: Eric StJohn <ericstj@microsoft.com>
2 years agoChange channel passed to ci_setup to track runtime branch (#59071)
Drew Scoggins [Mon, 27 Sep 2021 16:57:12 +0000 (09:57 -0700)]
Change channel passed to ci_setup to track runtime branch (#59071)

* Change channel passed to ci_setup to track runtime branch

With this change we move to specifing the channel that is passed to ci_setup,
instead of it always being main. The allows us to have the runtime branch
help decide the correct version of the sdk that we should pull down with
dotnet-install. This means that going forward, we will need to have channels
that match the names of all branches that we plan to run from the runtime
side. If we do not, the sdk installation step will fail during ci_setup.

* Change logic to not break private runs

The previous change here broke private runs as it required the channel map
to have an entry matching the name of the runtime branch you were testing.
This fix now defaults the channel to main for private runs.

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 23:49:55 +0000 (23:49 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoMerge pull request #59568 from steveharter/JsonDocumentArrayPool
Dan Moseley [Fri, 24 Sep 2021 23:46:38 +0000 (17:46 -0600)]
Merge pull request #59568 from steveharter/JsonDocumentArrayPool

[release/6.0-rc2] Fix ArrayPool leak with JsonDocument

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 22:07:09 +0000 (22:07 +0000)]
Merge in 'release/6.0-rc2' changes

2 years ago[release/6.0-rc2] Fix behavior ObjectCollection for single item contains (#59557)
github-actions[bot] [Fri, 24 Sep 2021 22:03:27 +0000 (15:03 -0700)]
[release/6.0-rc2] Fix behavior ObjectCollection for single item contains (#59557)

* Fix behavior ObjectCollection for single item contains

* Address PR feedback

Co-authored-by: Juan Sebastian Hoyos Ayala <juhoyosa@microsoft.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 22:00:12 +0000 (22:00 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 21:56:16 +0000 (21:56 +0000)]
Merge in 'release/6.0-rc2' changes

2 years ago[release/6.0-rc2] [wasm][debugger] Reusing buffer to avoid allocate every debugger...
github-actions[bot] [Fri, 24 Sep 2021 21:55:37 +0000 (14:55 -0700)]
[release/6.0-rc2] [wasm][debugger] Reusing buffer to avoid allocate every debugger message (#59523)

* Reusing buffer to avoid allocate every debugger message.

* Fixing what was suggested by @radical.

* cleaning code.

* Changing what was suggested by @radical

Co-authored-by: Thays <thaystg@gmail.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 21:55:29 +0000 (21:55 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoFix krb5 library SO name in the gcc api shim (#59566)
github-actions[bot] [Fri, 24 Sep 2021 21:53:24 +0000 (14:53 -0700)]
Fix krb5 library SO name in the gcc api shim (#59566)

The library name used in the shim is a name of the build time library which
is usually installed only for development purposes. We should use
libgssapi_krb5.so.2 which is the underlying runtime library.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years ago[release/6.0-rc2] XmlSerializer support for IsDynamicCodeSupported=false (#59507)
github-actions[bot] [Fri, 24 Sep 2021 21:52:55 +0000 (14:52 -0700)]
[release/6.0-rc2] XmlSerializer support for IsDynamicCodeSupported=false (#59507)

* XmlSerializer support for IsDynamicCodeSupported=false

Add more checks to XmlSerializer to check the SerializationMode. Don't try to use Reflection.Emit if the SerializationMode is ReflectionOnly.

These changes were ported from
* https://github.com/dotnet/runtimelab/pull/593
* https://github.com/dotnet/runtimelab/pull/600

Fix #59167

* Fix a bug in XmlSerializer.CanDeserialize when in ReflectionOnly mode.

* Port UAP code for CanDeserialize

* PR feedback

* Add a linker test to ensure linker option '--enable-opt sealer' works when IsDynamicCodeSupported==false.

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2 years ago[release/6.0-rc2] File preallocationSize: align Windows and Unix behavior. (#59532)
David Cantú [Fri, 24 Sep 2021 21:52:17 +0000 (14:52 -0700)]
[release/6.0-rc2] File preallocationSize: align Windows and Unix behavior. (#59532)

* Align preallocationSize behavior (#58726)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* File preallocationSize: align Windows and Unix behavior. (#59338)

* File preallocationSize: align Windows and Unix behavior.

This aligns Windows and Unix behavior of preallocationSize for the
intended use-case of specifing the size of a file that will be written.

For this use-case, the expected FileAccess is Write, and the file should be
a new one (FileMode.Create*) or a truncated file (FileMode.Truncate).
Specifing a preallocationSize for other modes, or non-writable files throws ArgumentException.

The opened file will have a length of zero, and is ready to be written to by the user.

If the requested size cannot be allocated, an IOException is thrown.

When the OS/filesystem does not support pre-allocating, preallocationSize is ignored.

* fix pal_io preprocessor checks

* pal_io more fixes

* ctor_options_as.Windows.cs: fix compilation

* Update tests

* tests: use preallocationSize from all public APIs

* pal_io: add back FreeBSD, fix OSX

* tests: check allocated is zero when preallocation is not supported.

* Only throw for not enough space errors

* Fix compilation

* Add some more tests

* Fix ExtendedPathsAreSupported test

* Apply suggestions from code review

Co-authored-by: David Cantú <dacantu@microsoft.com>
* Update System.Private.CoreLib Strings.resx

* PR feedback

* Remove GetPathToNonExistingFile

* Fix compilation

* Skip checking allocated size on mobile platforms.

Co-authored-by: David Cantú <dacantu@microsoft.com>
* Fix unused fileDescriptor

* void fd when unused

* Address feedback

Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 20:03:13 +0000 (20:03 +0000)]
Merge in 'release/6.0-rc2' changes

2 years ago[release/6.0-rc2] Update dependencies from dotnet/emsdk (#59529)
dotnet-maestro[bot] [Fri, 24 Sep 2021 19:59:21 +0000 (12:59 -0700)]
[release/6.0-rc2] Update dependencies from dotnet/emsdk (#59529)

* Update dependencies from https://github.com/dotnet/emsdk build 20210923.1

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21464.1 -> To Version 6.0.0-rc.2.21473.1

* Update dependencies from https://github.com/dotnet/emsdk build 20210924.1

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21464.1 -> To Version 6.0.0-rc.2.21474.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years agoUpdate dependencies from https://github.com/dotnet/arcade build 20210923.5 (#59575)
dotnet-maestro[bot] [Fri, 24 Sep 2021 19:58:54 +0000 (12:58 -0700)]
Update dependencies from https://github.com/dotnet/arcade build 20210923.5 (#59575)

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.TargetFramework.Sdk , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.ApiCompat , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.GenFacades , Microsoft.DotNet.GenAPI , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SharedFramework.Sdk
 From Version 6.0.0-beta.21467.3 -> To Version 6.0.0-beta.21473.5

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
2 years ago[Release/6.0] Throw error if assembly version for ref pack assemblies doesnot match...
Anirudh Agnihotry [Fri, 24 Sep 2021 17:59:13 +0000 (10:59 -0700)]
[Release/6.0] Throw error if assembly version for ref pack assemblies  doesnot match assembly version shipped in 6.0.0 (#59535)

* throw errow if assembly version in the ref pack doesnot match last released version

* Fix the condition

* Update eng/Versions.props

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 17:28:06 +0000 (17:28 +0000)]
Merge in 'release/6.0-rc2' changes

2 years ago[release/6.0-rc2] MonoAOTCompiler: detect when nothing has changed, and skip any...
Ankit Jain [Fri, 24 Sep 2021 17:24:18 +0000 (17:24 +0000)]
[release/6.0-rc2] MonoAOTCompiler: detect when nothing has changed, and skip any precompiling (#58979)

* Refactor to allow fast-path

* implement fast-path for MonoAOTCompiler when nothing has changed

* re-enable some tests that got disabled by mistake

2 years ago[release/6.0-rc2] Check if External Object Context is still active after a possible...
github-actions[bot] [Fri, 24 Sep 2021 17:23:55 +0000 (10:23 -0700)]
[release/6.0-rc2] Check if External Object Context is still active after a possible GC (#59436)

* Check if External Object Context is still active after a possible GC

* Update interoplibinterface_comwrappers.cpp

Check if `IsActive()` during consideration too.

* Issues can occur during the multiple managed allocations.

* Add validation of non-null elements in ReleaseObjects() API call. Use detach state instead of IsActive state for EOC.

* Apply suggestions from code review

Co-authored-by: Elinor Fung <elfung@microsoft.com>
* Apply suggestions from code review

Co-authored-by: Elinor Fung <elfung@microsoft.com>
* Review feedback

Co-authored-by: Aaron Robinson <arobins@microsoft.com>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
2 years agoFix ArrayPool leak with JsonDocument
Steve Harter [Fri, 24 Sep 2021 13:52:32 +0000 (08:52 -0500)]
Fix ArrayPool leak with JsonDocument

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Fri, 24 Sep 2021 02:39:35 +0000 (02:39 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoMerge pull request #59553 from dotnet/backport/pr-59552-to-release/6.0-rc2
Eric StJohn [Fri, 24 Sep 2021 02:36:26 +0000 (19:36 -0700)]
Merge pull request #59553 from dotnet/backport/pr-59552-to-release/6.0-rc2

[release/6.0-rc2] Add execute bit to postinstall script

2 years agoAdd execute bit to postinstall script
Eric StJohn [Thu, 23 Sep 2021 23:45:15 +0000 (16:45 -0700)]
Add execute bit to postinstall script

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Thu, 23 Sep 2021 18:38:48 +0000 (18:38 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoUse the dual signed wix version for workload msis (#59501)
github-actions[bot] [Thu, 23 Sep 2021 18:34:07 +0000 (11:34 -0700)]
Use the dual signed wix version for workload msis (#59501)

Co-authored-by: Larry Ewing <lewing@microsoft.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Thu, 23 Sep 2021 18:10:42 +0000 (18:10 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoMerge pull request #59506 from dotnet/backport/pr-59487-to-release/6.0-rc2
Dan Moseley [Thu, 23 Sep 2021 18:07:17 +0000 (12:07 -0600)]
Merge pull request #59506 from dotnet/backport/pr-59487-to-release/6.0-rc2

[release/6.0-rc2] Fix buffering bugs in TextFieldParser

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Thu, 23 Sep 2021 16:53:54 +0000 (16:53 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoBig-endian fixes: PDB creation by ilasm (#59484)
github-actions[bot] [Thu, 23 Sep 2021 16:45:13 +0000 (09:45 -0700)]
Big-endian fixes: PDB creation by ilasm (#59484)

* Fix byte order of debug directory fields

* Fix byte order of PDB stream data (PdbHeap::SetData)

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
2 years agoFix buffering bugs in TextFieldParser
Stephen Toub [Wed, 22 Sep 2021 14:21:31 +0000 (10:21 -0400)]
Fix buffering bugs in TextFieldParser

Three bugs being fixed here:
1. The SlideCursorToStartOfBuffer method is incorrectly assuming that the buffer is filled to its end (that m_Buffer.Length = m_CharsRead).  As a result, two things happen.  First, we copy more data than is needed to the temporary buffer; that's just unnecessary but not harmful.  But second, when it issues a read to fill the remainder of the buffer, it does so at the wrong position, both leaving zeros in the buffer that end up getting parsed as real data and losing real data from the end.
2. IncreaseBufferSize assumes m_CharsRead = m_Buffer.Length, which may not be the case.  As with (1), this can result in it reading into the wrong part of the array and leaving garbage that gets processed.
3. IncreaseBufferSize is always increasing the buffer size, even if only a small portion of the buffer is used.  This can then result in the whole operation failing when it repeatedly increases the buffer size and ends up failing due to ticking over the max buffer threshold.

(1) doesn't exist in .NET Framework 4.8 but (2) and (3) do.  (1) is easily triggered by a stream that sporadically doesn't produce all the data requested; (2) and (3) end up needing a stream that frequently produces much less than requested.  This PR fixes all three.

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Wed, 22 Sep 2021 22:22:14 +0000 (22:22 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoMerge pull request #59485 from ericstj/6.0-arch-install-location
Eric StJohn [Wed, 22 Sep 2021 22:18:29 +0000 (15:18 -0700)]
Merge pull request #59485 from ericstj/6.0-arch-install-location

[release/6.0-rc2] Split install_location to file-per-architecture

2 years agoUpdate xunit version on release branch (#59277)
Maryam Ariyan [Wed, 22 Sep 2021 21:42:52 +0000 (14:42 -0700)]
Update xunit version on release branch (#59277)

* update xunit version

 Conflicts:
eng/Versions.props

* Fix net461 issue

* Apply PR feedback

* Update src/libraries/Common/tests/TestUtilities/TestUtilities.csproj

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
* Move PackageReference

Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Wed, 22 Sep 2021 20:46:55 +0000 (20:46 +0000)]
Merge in 'release/6.0-rc2' changes

2 years ago[Release/6.0] Add uploading of intermediate package assets (#59291)
Anirudh Agnihotry [Wed, 22 Sep 2021 20:42:12 +0000 (13:42 -0700)]
[Release/6.0] Add uploading of intermediate package assets (#59291)

* add uploading of intermediate package assets

* dont push or sign sourcebuild packages in normal leg to avoid duplication

* add comments

2 years agoSet install_location arch specific (#59441)
Eric StJohn [Wed, 22 Sep 2021 17:03:25 +0000 (10:03 -0700)]
Set install_location arch specific (#59441)

Also don't write to paths when running translated (rosetta)

2 years agoSplit install_location to file-per-architecture (#59404)
Vitek Karas [Wed, 22 Sep 2021 17:04:00 +0000 (10:04 -0700)]
Split install_location to file-per-architecture (#59404)

On non-Windows we used install_location file with multiple lines which contained locations per-architecture (and the default).

This changes the host to use separate file for each architecture:
* `install_location_<arch>` for the architecture specific
* `install_location` for the "legacy" file

This is a much easier format for installers to handle (and it also simplifies the apphost code a little bit).

Adapted tests to the new behavior. Removed some tests which don't make sense anymore. Some small test cleanup to deduplicate code.

Changed the test-only env. variable to point to the directory with configuration files instead of to the configuration file itself.

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Wed, 22 Sep 2021 16:50:10 +0000 (16:50 +0000)]
Merge in 'release/6.0-rc2' changes

2 years ago[release/6.0-rc2] Fix gtCloneExpr when cloning during R2R compilation a GT_ALLOCOBJ...
github-actions[bot] [Wed, 22 Sep 2021 16:46:53 +0000 (09:46 -0700)]
[release/6.0-rc2] Fix gtCloneExpr when cloning during R2R compilation a GT_ALLOCOBJ node (#59438)

* Fix gtCloneExpr when cloning during R2R compilation a GT_ALLOCOBJ node - Without this fix cloned expressions with allocations will fail - This is most common in profile guided code around devirtualization, but I believe it can occur in other where gtCloneExpr is used - Symptom of the failure is a compilation failure during crossgen2

* Jit formatting

* 6.0 branch uses FEATURE_READYTORUN_COMPILER instead of FEATURE_READYTORUN

Co-authored-by: David Wrighton <davidwr@microsoft.com>
2 years ago[release/6.0-rc2] [wasm][debugger] Fix concurrent access to cache. (#59423)
github-actions[bot] [Wed, 22 Sep 2021 16:46:34 +0000 (09:46 -0700)]
[release/6.0-rc2] [wasm][debugger] Fix concurrent access to cache. (#59423)

* Fix concurrent access to cache.

* Fixing test case.

* Changing what was suggested by @radical.

Co-authored-by: Thays <thaystg@gmail.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Tue, 21 Sep 2021 23:57:02 +0000 (23:57 +0000)]
Merge in 'release/6.0-rc2' changes

2 years ago[interp] Disable optimization if the var index is greater than G_MAXUINT16 (#59261)
github-actions[bot] [Tue, 21 Sep 2021 23:54:16 +0000 (16:54 -0700)]
[interp] Disable optimization if the var index is greater than G_MAXUINT16 (#59261)

We store the var index in the guint16 slots of the instruction

Co-authored-by: Brezae Vlad <brezaevlad@gmail.com>
2 years agoFixing memory corruption. (#59420)
github-actions[bot] [Tue, 21 Sep 2021 23:54:10 +0000 (16:54 -0700)]
Fixing memory corruption. (#59420)

Co-authored-by: Thays <thaystg@gmail.com>
2 years ago[release/6.0-rc2] Fix issues where the module index GUID table isn't properly compute...
github-actions[bot] [Tue, 21 Sep 2021 23:53:54 +0000 (16:53 -0700)]
[release/6.0-rc2] Fix issues where the module index GUID table isn't properly computed (#59377)

* Fix issues where the module index GUID table isn't properly computed - Since there are two possible places where the module indices must be up to date, ensure that they are finalized before either Node writes its data - Ensure that module indices are precomputed when needed from inlinee data

* Apparently the InstanceEntryPointTableNode also needs to materialize its signatures when an input bubble is present as well

Co-authored-by: David Wrighton <davidwr@microsoft.com>
2 years ago[release/6.0] Generic Math Preview - Use correct NumberStyle when parsing double...
github-actions[bot] [Tue, 21 Sep 2021 23:53:47 +0000 (16:53 -0700)]
[release/6.0] Generic Math Preview - Use correct NumberStyle when parsing double and float (#59349)

* User correct NumberStyle when parsing double and float

IParseable<float> and IParseable<double> would fail when parsing
a decimal point number due to incorrect NumberStyles parameter.

E.g. IParseable<double>.TryParse would fail as opposed to
IParseable<double>.Parse because the former explicitly states to use
NumberStyles.Integer

* Adding tests covering parse for float/double/half

* Delete MSBuild_pid-37116_6904092b1c9a481da960c9e28eba2a27.failure.txt

Co-authored-by: Richard Sefr <richard.sefr@solarwinds.com>
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Tue, 21 Sep 2021 20:52:24 +0000 (20:52 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Tue, 21 Sep 2021 20:46:50 +0000 (20:46 +0000)]
Merge in 'release/6.0-rc2' changes

2 years agoMerge in 'release/6.0-rc2' changes
dotnet-bot [Tue, 21 Sep 2021 20:45:34 +0000 (20:45 +0000)]
Merge in 'release/6.0-rc2' changes