platform/upstream/dotnet/runtime.git
2 years agoWorkload promotion (#73798)
Jacques Eloff [Fri, 12 Aug 2022 06:22:31 +0000 (23:22 -0700)]
Workload promotion (#73798)

* Fix duplicate artifacts for workloads
* Consolidate publishing for VS

2 years agoRemove 1024 character limit on ODBC connection strings (#73155)
Shay Rojansky [Fri, 12 Aug 2022 01:32:32 +0000 (04:32 +0300)]
Remove 1024 character limit on ODBC connection strings (#73155)

Fixes #63630

(cherry picked from commit 8eb5dea6763da89fb9a4fdd4df0942f195716b59)

2 years ago[release/6.0] Fix #70391 (#73654)
Bruce Forstall [Thu, 11 Aug 2022 20:45:37 +0000 (13:45 -0700)]
[release/6.0] Fix #70391 (#73654)

Fix issue with multiple LEA addresses used for Vector code. Value
Numbering treated multiple LEA identically, ignoring offset and
scale. Fix by creating a new, unique Value Number for all LEA, by
marking LEA nodes as "illegal" as a VNFunc.

Fixed in .NET 7 with #69992. This is a conservative, smaller
fix for .NET 6.

No SPMI asm diffs.

Verified with this repro (fail before, pass afterwards) from #64375:
```
using System;
using System.Numerics;
using System.Runtime.CompilerServices;

internal class Program
{
    [MethodImpl(MethodImplOptions.AggressiveOptimization)]
    public static void Main()
    {
        Matrix4x4 id = Matrix4x4.Identity;

        Action a = () => { var _ = id; };

        Console.WriteLine(
            Vector3.Cross(
                new Vector3(id.M11, id.M12, id.M13),
                new Vector3(id.M21, id.M22, id.M23)).Z);
    }
}
```
(pass means prints `1`)

Fixes #70391

2 years ago[release/6.0] Backport edge case fixes to XxHash32/XxHash64 (#73203)
github-actions[bot] [Thu, 11 Aug 2022 20:44:04 +0000 (13:44 -0700)]
[release/6.0] Backport edge case fixes to XxHash32/XxHash64 (#73203)

* Fix incremental XxHash32/XxHash64 (#69185)

* Fix xxHash64 handling of large (> 4GB) inputs (#73093)

* Bump package servicing version

Co-authored-by: froce <fwesen2@gmail.com>
Co-authored-by: Levi Broderick <GrabYourPitchforks@users.noreply.github.com>
Co-authored-by: Levi Broderick <levib@microsoft.com>
2 years agofixed distroRid having the last version digit for alpine (#62942) (#70903)
Omair Majid [Thu, 11 Aug 2022 20:33:36 +0000 (16:33 -0400)]
fixed distroRid having the last version digit for alpine (#62942) (#70903)

Co-authored-by: Antoine Martin <dev@ayakael.net>
2 years ago[release/6.0] JIT: Avoid removing multi-use boxes (#73014)
github-actions[bot] [Thu, 11 Aug 2022 20:28:08 +0000 (13:28 -0700)]
[release/6.0] JIT: Avoid removing multi-use boxes (#73014)

* JIT: Avoid removing multi-use boxes

There was an assumption that the local operand to a GT_BOX node is
single-use which was being violated when GDV clones these as arguments.
We now allow multi-uses of these locals by setting a flag when cloning
and then handle it in gtTryRemoveBoxUpstreamEffects.

There is also GTF_VAR_CLONED that would be set on the local itself, but
given that transformations can affect the operand local node arbitrarily
I went with another of these type of flags on GT_BOX instead.

Fix #72775

* Add a test

* Test nit

Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
2 years agoBackport 58806 (#73010)
Thays Grazia [Thu, 11 Aug 2022 20:26:43 +0000 (17:26 -0300)]
Backport 58806 (#73010)

2 years agoCreateSymbolicLink PInvoke retval must be marshalled as U1 (#69150) (#73004)
David Cantú [Thu, 11 Aug 2022 20:24:54 +0000 (15:24 -0500)]
CreateSymbolicLink PInvoke retval must be marshalled as U1 (#69150) (#73004)

* CreateSymbolicLink PInvoke retval must be marshalled as U1

* Fix redundant invocations of Environment.OSVersion.Version

2 years agoInclude EventLog.Messages in WindowsDesktop pack (#72809)
Viktor Hofer [Thu, 11 Aug 2022 20:17:46 +0000 (22:17 +0200)]
Include EventLog.Messages in WindowsDesktop pack (#72809)

Backport of https://github.com/dotnet/runtime/pull/72280

The System.Diagnostics.EventLog.Messages assembly is missing from the WindowsDesktop transport package. Adding it to the package and also making sure that it gets the right assembly version in servicing by adding it to the NetCoreAppLibrary.props file.

I verified that the assembly is now part of the package.

2 years ago[release/6.0] Support zero-byte reads on raw response streams in SocketsHttpHandler...
Miha Zupan [Thu, 11 Aug 2022 20:10:25 +0000 (22:10 +0200)]
[release/6.0] Support zero-byte reads on raw response streams in SocketsHttpHandler (#72804)

* Allow zero byte reads on raw HTTP/1.1 response streams

* Add test

2 years ago[release/6.0] [mono][jit] Fix an infinite loop in the abcrem pass. (#72504)
github-actions[bot] [Thu, 11 Aug 2022 20:00:55 +0000 (13:00 -0700)]
[release/6.0] [mono][jit] Fix an infinite loop in the abcrem pass. (#72504)

* [mono][jit] Fix an infinite loop in the abcrem pass.

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

* Add a test.

* Fix pri1 test build

* Fix the test.

* Update src/tests/JIT/Regression/JitBlue/Runtime_71592/test71592.csproj

Co-authored-by: Aleksey Kliger (λgeek) <aleksey@lambdageek.org>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <aleksey@lambdageek.org>
2 years agoAzure ML Watson bucketing for Linux coredumps is broken because the ELF unwind isn...
Mike McLaughlin [Thu, 11 Aug 2022 19:55:48 +0000 (12:55 -0700)]
Azure ML Watson bucketing for Linux coredumps is broken because the ELF unwind isn't fully present. Everything evens up in one big bucket. (#72417)

Properly calculate the ELF unwind info section size

Uses the same method that windbg does to calculate the eh_frame section size by partial decoding the FDE/CIE's enough to figure out the total size. We can't use the .eh_frame section because ELF module sections are not in-memory.

Change the ReadMemoryAdapter passed to the new PAL_GetUnwindInfoSize function to read memory directly and not add it to the memory region list

Local testing. More TBD.

Low risk. Affects only createdump.

2 years ago[release/6.0] [Android] Port getifaddrs implementation from Xamarin.Android (#72097)
github-actions[bot] [Thu, 11 Aug 2022 19:48:52 +0000 (12:48 -0700)]
[release/6.0] [Android] Port getifaddrs implementation from Xamarin.Android (#72097)

* Port getifaddrs implementation from monodroid

* Fix usage of TARGET_ANDROID

* Disable debug logs by default

* Fix checking for debug

* Fix build error related to __VA_ARGS__

* Fix automatic backport

Co-authored-by: Simon Rozsival <simon@rozsival.com>
2 years agoRe-create profile data on profile-use-only mode (#71754)
ws77.cho [Thu, 11 Aug 2022 17:53:57 +0000 (02:53 +0900)]
Re-create profile data on profile-use-only mode (#71754)

Activate multicorejit recorder to re-create the profile data
when the multicorejit player cannot be executed due to BADIMAGEFORMAT error on profile-use-only mode

2 years ago[mono] Ensure exception_message points to a string (#72002)
github-actions[bot] [Thu, 11 Aug 2022 17:52:06 +0000 (10:52 -0700)]
[mono] Ensure exception_message points to a string (#72002)

Co-authored-by: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
2 years ago[release/6.0] Work around for UriFormatException caused by \\?\ prefix in the path...
github-actions[bot] [Thu, 11 Aug 2022 17:49:33 +0000 (10:49 -0700)]
[release/6.0] Work around for UriFormatException caused by \\?\ prefix in the path (#71452)

* Work around for UriFormatException caused by \?\ prefix in the path

* Apply feedback

* Move try catch

* Fix ConfigurationManager when BaseDirectory starts with \\?" (#58627)

* Add servicing version to the project

Co-authored-by: Buyaa Namnan <bunamnan@microsoft.com>
Co-authored-by: Krzysztof Wicher <kwicher@microsoft.com>
2 years agoConsole.Unix: fix missing terminal configuration on SIGINT/SIGQUIT/SIGCONT. (#64985)
github-actions[bot] [Thu, 11 Aug 2022 17:45:50 +0000 (10:45 -0700)]
Console.Unix: fix missing terminal configuration on SIGINT/SIGQUIT/SIGCONT. (#64985)

The introduction of the managed API for signal handling (PosixSignal)
inadvertently caused terminal configuration to no longer be performed
when no managed handlers are registered.

This adds back the unconditional registration for SIGINT/SIGQUIT/SIGCONT.

The missing registrations can cause the terminal to stop echoing when an
application terminates on Ctrl-C.

Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
2 years agoMerge pull request #73640 from vseanreesermsft/internal-merge-6.0-2022-08-09-1111
Carlos Sanchez [Tue, 9 Aug 2022 22:23:03 +0000 (15:23 -0700)]
Merge pull request #73640 from vseanreesermsft/internal-merge-6.0-2022-08-09-1111

Merging internal commits for release/6.0

2 years agoMerge commit '55fb7ef977e7d120dc12f0960edcff0739d7ee0e' into internal-merge-6.0-2022...
Sean Reeser [Tue, 9 Aug 2022 18:11:43 +0000 (11:11 -0700)]
Merge commit '55fb7ef977e7d120dc12f0960edcff0739d7ee0e' into internal-merge-6.0-2022-08-09-1111

2 years agoFix aka.ms links in build promotion for VSDROP (#73483)
Jacques Eloff [Mon, 8 Aug 2022 15:42:49 +0000 (08:42 -0700)]
Fix aka.ms links in build promotion for VSDROP (#73483)

2 years ago[release/6.0][mono] add 400 band workloads (#72379)
Larry Ewing [Fri, 5 Aug 2022 12:27:08 +0000 (07:27 -0500)]
[release/6.0][mono] add 400 band workloads (#72379)

This is to work around the broken sdk workload band install logic that has since been fixed.

Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years agoUpdate Arcade + Workloads (#72947)
Jacques Eloff [Fri, 5 Aug 2022 01:02:17 +0000 (18:02 -0700)]
Update Arcade + Workloads (#72947)

Update Arcade and the workloads project to leverage the new build tasks.

This also fixes the publishing issues we previously saw in the blob artifacts because of duplicate files. Instead, we'll create unique zip files per SDK featurebands for the workloads that will be used for creating the VSDROPs in dotnet-stage.

2 years agoUpdate branding to 6.0.9 (#73270)
vseanreesermsft [Wed, 3 Aug 2022 08:01:27 +0000 (01:01 -0700)]
Update branding to 6.0.9 (#73270)

2 years agoUpdate windows.10.amd64.server20h2 to windows.amd64.server2022 (#72868)
Matt Galbraith [Wed, 27 Jul 2022 20:58:35 +0000 (13:58 -0700)]
Update windows.10.amd64.server20h2 to windows.amd64.server2022 (#72868)

* Update windows.10.amd64.server20h2 to windows.amd64.server2022, as 20H2 is end-of-life this month

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Jul 2022 16:56:12 +0000 (16:56 +0000)]
Merge in 'release/6.0' changes

2 years agoFix building with clang 14 (#69990)
Omair Majid [Wed, 13 Jul 2022 16:40:52 +0000 (11:40 -0500)]
Fix building with clang 14 (#69990)

Under clang 14, building runtime on Linux with a simple ./build.sh
fails with hundreds of errors that all look like this:

    runtime/src/libraries/Native/Unix/System.Native/pal_networking.c(2610,9):
    error GD58BE485: mixing declarations and code is incompatible with
    standards before C99 [-Wdeclaration-after-statement]
    [runtime/src/libraries/Native/build-native.proj]

This issue is not present in the main branch. It appears to have been
fixed by https://github.com/dotnet/runtime/pull/66410/ which turned off
that warning.

Tested with:

    $ clang --version
    clang version 14.0.0 (Fedora 14.0.0-1.fc36)
    Target: x86_64-redhat-linux-gnu
    Thread model: posix
    InstalledDir: /usr/bin

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 13 Jul 2022 01:06:28 +0000 (01:06 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fixing the handling of Positive NaN in Math.Min for float/double (...
Tanner Gooding [Wed, 13 Jul 2022 00:53:11 +0000 (17:53 -0700)]
[release/6.0] Fixing the handling of Positive NaN in Math.Min for float/double (#70865)

* Fixing the handling of Positive NaN in Math.Min for float/double (#70795)

* Adding tests validating Positive NaN for Max, MaxMagnitude, Min, and MinMagnitude

* Fixing the handling of Positive NaN in Math.Min for float/double

* Fixing the Max/Min code comments to use greater and lesser

* Adding a code comment clarifying the sign toggling behavior

* Apply suggestions from code review

Co-authored-by: Jonathan Giannuzzi <jgiannuzzi@users.noreply.github.com>
* Apply suggestions from code review

Co-authored-by: Jonathan Giannuzzi <jgiannuzzi@users.noreply.github.com>
2 years agoFix RSA OAEP decryption in Android with non-power-of-two key lengths (#71696)
Kevin Jones [Wed, 13 Jul 2022 00:52:56 +0000 (20:52 -0400)]
Fix RSA OAEP decryption in Android with non-power-of-two key lengths (#71696)

2 years agocreatedump improvements for better VS4Mac Watson bucketing (#71863)
Mike McLaughlin [Wed, 13 Jul 2022 00:52:26 +0000 (17:52 -0700)]
createdump improvements for better VS4Mac Watson bucketing (#71863)

* Createdump changes for VS4Mac

Add target process terminated/alive message.

Smaller MacOS dumps. Don't add share_mode == SM_EMPTY regions.

Add crashreport success status message for VS4Mac.

Launch createdump from SIGTERM handler directly to reduce the time it takes to get the crash report/dump for VS4Mac.

* Add more instrumentation to diagnose SIGTERM problem

* Remove useless thread state logging

2 years agoForbid XML external entity resolution in crypto APIs
Jeremy Barton [Tue, 12 Jul 2022 21:44:03 +0000 (21:44 +0000)]
Forbid XML external entity resolution in crypto APIs

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 12 Jul 2022 19:44:06 +0000 (19:44 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge pull request #72040 from wtgodbe/internal-merge-6.0-2022-07-12-1057
Carlos Sanchez [Tue, 12 Jul 2022 19:28:11 +0000 (12:28 -0700)]
Merge pull request #72040 from wtgodbe/internal-merge-6.0-2022-07-12-1057

Merging internal commits for release/6.0

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 12 Jul 2022 18:06:59 +0000 (18:06 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] [iOS][Android] Fix crash in Exception.CaptureDispatchState (#71171)
github-actions[bot] [Tue, 12 Jul 2022 17:59:31 +0000 (12:59 -0500)]
[release/6.0] [iOS][Android] Fix crash in Exception.CaptureDispatchState (#71171)

* [iOS][Android] Fix crash in Exception.CaptureDispatchState

There is a crash in `Exception.CaptureDispatchState` when called from one thread at the same time another calls into `Exception.RestoreDispatchState`. The
reason for the crash is due to the way we do not update `foreignExceptionFrames` in a thread-safe way.  `foreignExceptionFrames` is used in both methods and can crash when the size changes before the array is copied.

The fix is to lock when reading from and writing to `foreignExceptionFrames`.

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

* Lock all of CaptureDispatchState

* Marek's feedback

* Remove unnecessary field

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years agoMerge commit '0ec02c8c96e2eda06dc5b5edfdbdba0f36415082' into internal-merge-6.0-2022...
Will Godbe [Tue, 12 Jul 2022 17:57:41 +0000 (10:57 -0700)]
Merge commit '0ec02c8c96e2eda06dc5b5edfdbdba0f36415082' into internal-merge-6.0-2022-07-12-1057

2 years ago[mono] Avoid calling mono_metadata_type_hash () on the container class in mono_generi...
github-actions[bot] [Tue, 12 Jul 2022 17:55:23 +0000 (12:55 -0500)]
[mono] Avoid calling mono_metadata_type_hash () on the container class in mono_generic_class_hash (). (#71764)

If a class inherits from a generic instance instantiated with itself, then its possible
for mono_generic_class_hash () to be called while the container class is not fully
initialized yet, i.e. byval_arg.type is 0. This would cause the generic class to change
its hash.

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

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
2 years agoBackport 71436 (#71731)
Thays Grazia [Tue, 12 Jul 2022 17:55:10 +0000 (14:55 -0300)]
Backport 71436 (#71731)

2 years agoformat correctly chuncked response with Content-Length header (#69016) (#70744)
Miha Zupan [Tue, 12 Jul 2022 17:52:18 +0000 (10:52 -0700)]
format correctly chuncked response with Content-Length header (#69016) (#70744)

Co-authored-by: Badre BSAILA <54767641+pedrobsaila@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 7 Jul 2022 18:42:33 +0000 (18:42 +0000)]
Merge in 'release/6.0' changes

2 years agoRemove GeneratePackageOnBuild missed on branding PR (#71743)
Carlos Sanchez [Thu, 7 Jul 2022 18:26:33 +0000 (11:26 -0700)]
Remove GeneratePackageOnBuild missed on branding PR (#71743)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 6 Jul 2022 14:44:32 +0000 (14:44 +0000)]
Merge in 'release/6.0' changes

2 years agoUpdate branding to 6.0.8 (#71668)
Matt Mitchell [Wed, 6 Jul 2022 14:30:11 +0000 (07:30 -0700)]
Update branding to 6.0.8 (#71668)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 22 Jun 2022 10:04:31 +0000 (10:04 +0000)]
Merge in 'release/6.0' changes

2 years agoRevert Arcade update & Workload Manifest change (#71110)
William Godbe [Wed, 22 Jun 2022 09:50:04 +0000 (02:50 -0700)]
Revert Arcade update & Workload Manifest change (#71110)

* Revert "[release/6.0] Update dependencies from dotnet/arcade dotnet/llvm-project (#68871)"

This reverts commit 3e0c89b69f70690579d2f1c0a04577a674ef1cf6.

* Revert "Update workloads with Arcade improvements (#71046)"

This reverts commit cd19e8bf35d18cef6f30d896313cbeb1be2a06dd.

* Update global.json

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 21 Jun 2022 18:11:12 +0000 (18:11 +0000)]
Merge in 'release/6.0' changes

2 years agoUpdate workloads with Arcade improvements (#71046)
Jacques Eloff [Tue, 21 Jun 2022 17:56:18 +0000 (10:56 -0700)]
Update workloads with Arcade improvements (#71046)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 20 Jun 2022 16:07:23 +0000 (16:07 +0000)]
Merge in 'release/6.0' changes

2 years ago[tests] Extend partial disablement of SkippingHiddenFiles (#65280) (#70763)
Dan Moseley [Mon, 20 Jun 2022 15:52:06 +0000 (09:52 -0600)]
[tests] Extend partial disablement of SkippingHiddenFiles (#65280) (#70763)

Co-authored-by: Mitchell Hwang <16830051+mdh1418@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 17 Jun 2022 01:26:50 +0000 (01:26 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Update dependencies from dotnet/arcade dotnet/llvm-project (#68871)
dotnet-maestro[bot] [Fri, 17 Jun 2022 01:11:42 +0000 (18:11 -0700)]
[release/6.0] Update dependencies from dotnet/arcade dotnet/llvm-project (#68871)

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

Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , 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.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
 From Version 2.5.1-beta.22161.1 -> To Version 2.5.1-beta.22254.3

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

Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.CodeAnalysis , 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.XUnitExtensions , Microsoft.DotNet.GenAPI , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.GenFacades , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.Helix.Sdk
 From Version 2.5.1-beta.22161.1 -> To Version 2.5.1-beta.22261.7

* Update dependencies from https://github.com/dotnet/llvm-project build 20220513.3

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.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 11.1.0-alpha.1.21416.1 -> To Version 11.1.0-alpha.1.22263.3

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

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

* Use VS preview pools for Windows build jobs, and remove Windows version number from queue name

* Revert "Use VS preview pools for Windows build jobs, and remove Windows version number from queue name"

This reverts commit 5478426a751b299afd19f81e15abf033f699d76c.

* Update dependencies from https://github.com/dotnet/llvm-project build 20220616.1

runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 11.1.0-alpha.1.21416.1 -> To Version 11.1.0-alpha.1.22316.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: carlossanlop <1175054+carlossanlop@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 15 Jun 2022 02:58:58 +0000 (02:58 +0000)]
Merge in 'release/6.0' changes

2 years agoFix Assembly.LoadFrom resolver (#70537)
github-actions[bot] [Wed, 15 Jun 2022 02:45:48 +0000 (20:45 -0600)]
Fix Assembly.LoadFrom resolver (#70537)

Path.GetFullPath fails on empty path. Check for empty requestor path earlier.

Fixes #67802

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 14 Jun 2022 18:29:22 +0000 (18:29 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge pull request #70741 from vseanreesermsft/internal-merge-6.0-2022-06-14-1031
Matt Mitchell [Tue, 14 Jun 2022 18:06:49 +0000 (11:06 -0700)]
Merge pull request #70741 from vseanreesermsft/internal-merge-6.0-2022-06-14-1031

Merging internal commits for release/6.0

2 years agoMerge commit '7cca709db2944a09b4db6ca7b20c457ff260fb5a' into internal-merge-6.0-2022...
Sean Reeser [Tue, 14 Jun 2022 17:31:57 +0000 (10:31 -0700)]
Merge commit '7cca709db2944a09b4db6ca7b20c457ff260fb5a' into internal-merge-6.0-2022-06-14-1031

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 14 Jun 2022 04:38:51 +0000 (04:38 +0000)]
Merge in 'release/6.0' changes

2 years agoAdd Fedora 37 RID (#65392)
Omair Majid [Tue, 14 Jun 2022 04:18:36 +0000 (00:18 -0400)]
Add Fedora 37 RID (#65392)

Fedora 37 has now started development, and the distribution now
identifies itself as Fedora 37 instead of Fedora 36:
https://fedorapeople.org/groups/schedule/f-37/f-37-key-tasks.html

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 14 Jun 2022 03:06:36 +0000 (03:06 +0000)]
Merge in 'release/6.0' changes

2 years agoFix async handle leak when sync RandomAccess read/write on async handle fails (#69956...
Stephen Toub [Tue, 14 Jun 2022 02:51:11 +0000 (22:51 -0400)]
Fix async handle leak when sync RandomAccess read/write on async handle fails (#69956) (#70591)

* Fix async handle leak when sync RandomAccess read/write on async handle fails

* Use UnsafeAllocateNativeOverlapped in GetNativeOverlappedForAsyncHandle

This isn't invoking user code and it's entirely for synchronous operations; there's no reason it needs to capture ExecutionContext.

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 13 Jun 2022 18:27:08 +0000 (18:27 +0000)]
Merge in 'release/6.0' changes

2 years agoDo not add x86 host to PATH on 64-bit machines (#70299)
github-actions[bot] [Mon, 13 Jun 2022 18:11:09 +0000 (11:11 -0700)]
Do not add x86 host to PATH on 64-bit machines (#70299)

Co-authored-by: Nikola Milosavljevic <nikolam@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 11 Jun 2022 02:49:07 +0000 (02:49 +0000)]
Merge in 'release/6.0' changes

2 years ago[6.0] Modify thread pool thread counting to be a bit more defensive (#70479)
Koundinya Veluri [Sat, 11 Jun 2022 02:33:24 +0000 (19:33 -0700)]
[6.0] Modify thread pool thread counting to be a bit more defensive (#70479)

* [6.0] Modify thread pool thread counting to be a bit more defensive

- Port of https://github.com/dotnet/runtime/pull/70478 to 6.0
- An unexpected underflow in one or more thread counts can lead to a large number of threads to be created continually
- Prevented underflows in changes to thread counts, such that following an unexpected underflow, subsequent paired increments and decrements would avoid repeating the underflow
- Verified by creating an unexpected underflow in the debugger

* Address feedback

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 10 Jun 2022 23:35:19 +0000 (23:35 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0][iOS] Grab the default timezone using native API (#70288)
Steve Pfister [Fri, 10 Jun 2022 23:20:59 +0000 (19:20 -0400)]
[release/6.0][iOS] Grab the default timezone using native API (#70288)

Backport of https://github.com/dotnet/runtime/pull/70149

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 10 Jun 2022 21:27:38 +0000 (21:27 +0000)]
Merge in 'release/6.0' changes

2 years agoSwitch the ClientPre Helix queues to Client (#70570)
Manish Godse [Fri, 10 Jun 2022 21:11:49 +0000 (14:11 -0700)]
Switch the ClientPre Helix queues to Client (#70570)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 9 Jun 2022 23:20:58 +0000 (23:20 +0000)]
Merge in 'release/6.0' changes

2 years agoJIT: Abandon loop search if we are about to walk off end of the bbNext chain (#69525)
github-actions[bot] [Thu, 9 Jun 2022 23:15:50 +0000 (16:15 -0700)]
JIT: Abandon loop search if we are about to walk off end of the bbNext chain (#69525)

In #69323 the 6.0.4 jit caused an AV because it walked off the end of the
bbNext chain during `optFindNaturalLoops`.

Analysis of a customer-provided dump showed that `MakeCompactAndFindExits`
might fail to find an expected loop block and so walk the entire bbNext chain
and then fall off the end. Details from the dump suggested that this happened
because a prior call to `MakeCompactAndFindExits` had moved most but not all of
a loop's blocks later in bbNext order, leaving that loop's bottom block earlier
in the bbNext chain then it's top. This ordering was unexpected.

I cannot repro this failure. The customer was using PGO and it's likely that
earlier PGO-driven block reordering contributed to this problem by interleaving
the blocks from two loops. We can recover the root method PGO schema from the
dump, but applying this is insufficient to cause the problem. This method does
quite a bit of inlining so it's likely that some inlinee PGO data must also be
a contributing factor.

At any rate, we can guard against this case easily enough, and simply abandon
recognition of any loop where we fail to find an expected loop block during
the bbNext chain walk.

Co-authored-by: Andy Ayers <andya@microsoft.com>
2 years ago[Release/6.0] JIT: fix interaction of GDV and boxing (#60355) (#69630)
Andy Ayers [Thu, 9 Jun 2022 23:14:09 +0000 (16:14 -0700)]
[Release/6.0] JIT: fix interaction of GDV and boxing (#60355) (#69630)

* JIT: fix interaction of GDV and boxing (#60355)

In #56126 we disabled GDV if the object being boxed came from a call with a
hidden return buffer pointer.

Fix this and enable GDV for these cases by inserting the box allocation statements
before the call.

* add test case

2 years agoFix address adjustment in bundle unmap for macos universal binaries (#69689)
github-actions[bot] [Thu, 9 Jun 2022 23:12:36 +0000 (16:12 -0700)]
Fix address adjustment in bundle unmap for macos universal binaries (#69689)

Co-authored-by: vsadov <8218165+VSadov@users.noreply.github.com>
2 years agoFix singlefile on OSX ARM64 (#68845) (#69930)
Vladimir Sadov [Thu, 9 Jun 2022 23:11:03 +0000 (16:11 -0700)]
Fix singlefile on OSX ARM64 (#68845) (#69930)

* Same alignment in the bundle on OSX as on Linux

* Extra VA gap between section in casse we run from sf bundle

* Rename prevSectionEnd -> prevSectionEndAligned and make it aligned.

* Suppress assert for now on OSX

2 years ago[release/6.0] Host error message updates (#70059)
Elinor Fung [Thu, 9 Jun 2022 23:09:22 +0000 (16:09 -0700)]
[release/6.0] Host error message updates (#70059)

* Update error messages for framework and SDK resolution failure

Partial backport of #67022

* Update error message for runtime not found

Backport of #67564

2 years agoOpenSslX509ChainProcessor: ignore NotSignatureValid on last element. (#70343)
Tom Deseyn [Thu, 9 Jun 2022 23:06:02 +0000 (01:06 +0200)]
OpenSslX509ChainProcessor: ignore NotSignatureValid on last element. (#70343)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 8 Jun 2022 20:51:14 +0000 (20:51 +0000)]
Merge in 'release/6.0' changes

2 years agoUpdate branding to 6.0.7 (#70372)
vseanreesermsft [Wed, 8 Jun 2022 20:35:41 +0000 (13:35 -0700)]
Update branding to 6.0.7 (#70372)

* Update branding to 6.0.7

* Remove GeneratePackageOnBuild from all projects which added it in 6.0.6

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 17 May 2022 16:50:32 +0000 (16:50 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] add RID for Alpine 3.16 (#68925)
github-actions[bot] [Tue, 17 May 2022 16:33:54 +0000 (09:33 -0700)]
[release/6.0] add RID for Alpine 3.16 (#68925)

* add RID for Alpine 3.16

* fix packaging

Co-authored-by: wfurt <tweinfurt@yahoo.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 22:22:20 +0000 (22:22 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Add windows runtime packs as a workload (#69393)
Steve Pfister [Mon, 16 May 2022 22:11:47 +0000 (18:11 -0400)]
[release/6.0] Add windows runtime packs as a workload (#69393)

Backport of https://github.com/dotnet/runtime/pull/68981

At certain points in time internally, the sdk will rev its version and insert into VS. It's at this point the sdk version will be ahead of the runtime version as we have not published anything into nuget. In MAUI and WinUI scenarios, this creates a bit of a pickle as the sdk will try to download a new version of the windows runtime pack, but it will not be available.

To get around this limitation, we are introducing a workload that will be inserted into VS where you can optionally install Windows runtime packs.

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years ago[release/6.0] Restore FP pairs when unwinding in ARM64 (#69359)
Juan Hoyos [Mon, 16 May 2022 22:09:18 +0000 (15:09 -0700)]
[release/6.0] Restore FP pairs when unwinding in ARM64 (#69359)

* Add regression test
* Restore FP pairs when unwinding in ARM64
* Disable windows arm64 version of the test

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 19:46:44 +0000 (19:46 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Docker fixes for the enterprise linux testing pipeline (#68913)
Alexander Köplinger [Mon, 16 May 2022 19:35:56 +0000 (21:35 +0200)]
[release/6.0] Docker fixes for the enterprise linux testing pipeline (#68913)

* attempt to fix up EnterpriseTests (#65981)

* attemp to fix up EnterpriseTests

* fix text

* increase timoeout on build step

* fix temeout

* add jobs

* update job

* fix formating

* fix name

* update server check

* restore original resolver before tests

* fix path

* experiment

(cherry picked from commit 9174037cc6b58de847c9c88b7dcceef2b4fda440)

* upgrade docker to get clang9 to prevent coreclr crashes (#68311)

(cherry picked from commit edb9c498889b85ba2be015afca2f2cc73c30355c)

* Use Docker images from mcr.microsoft.com in EnterpriseTests (#68875)

We started getting warnings in the build about using images from docker directly, see https://docs.opensource.microsoft.com/tools/nuget_security_analysis/container_registry_analysis/

The image from dotnet-buildtools-prereqs-docker can be used instead.

(cherry picked from commit bafae1b8e6f1c6ce9798acf013b015a60def3381)

Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
2 years ago[release/6.0] Detect the default locale name during startup on Apple platforms (...
github-actions[bot] [Mon, 16 May 2022 19:32:52 +0000 (12:32 -0700)]
[release/6.0] Detect the default locale name during startup on Apple platforms (#68934)

* Detect the default locale name during startup on Apple platforms

This change adds a function to lookup the current NSLocale and extract the language + country code to load into ICU by default.  Previously, we would defer to uloc_getDefault in ICU, which would return a value we would ignore (en_US_POSIX) and result in falling back to invariant mode.

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

* Link in foundation and address feedback

* Link in foundation in coreclr

* Check LANG env variable first

* Defer to icu first, since it's looking for LANG and certain values.

* #ifdef not #if

* PR feedback

* Remove redundant string replace

* pal_locale.m needs to be in a different location than upstream

* cmake tweak to make sure foundation gets linked in

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 18:33:41 +0000 (18:33 +0000)]
Merge in 'release/6.0' changes

2 years agoFix memory leak at AssemblyLoadContext unload (#69334)
github-actions[bot] [Mon, 16 May 2022 18:19:04 +0000 (11:19 -0700)]
Fix memory leak at AssemblyLoadContext unload (#69334)

I have found there was a small memory leak when unloading
AssemblyLoadContext. A customer had a quite extreme testing case that
ran millions of iterations of creating an AssemblyLoadContext, loading
some assemblies into it and then unloading it. After 80 million
iterations on their machine with 8GB memory, the testing app was getting
out of memory.

Using PerfView, I was able to locate the source of the leak. It was a
missing destruction of the Module::m_pJitInlinerTrackingMap.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 16 May 2022 18:07:43 +0000 (18:07 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Prevent debugger deadlock with code versioning logic (#68367)
Juan Hoyos [Mon, 16 May 2022 17:51:43 +0000 (10:51 -0700)]
[release/6.0] Prevent debugger deadlock with code versioning logic (#68367)

* Release lock to prevent deadlock with code versioning logic when tracing a stub

* Update debugger.cpp

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 14 May 2022 04:05:15 +0000 (04:05 +0000)]
Merge in 'release/6.0' changes

2 years agoMinimal version of #67150 (#68876)
John Salem [Sat, 14 May 2022 03:52:35 +0000 (20:52 -0700)]
Minimal version of #67150 (#68876)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 14 May 2022 00:51:06 +0000 (00:51 +0000)]
Merge in 'release/6.0' changes

2 years agoJIT: fix scalability issue in redundant branch optimizer (#68972)
github-actions[bot] [Sat, 14 May 2022 00:36:21 +0000 (17:36 -0700)]
JIT: fix scalability issue in redundant branch optimizer (#68972)

In methods with long skinny dominator trees and lots of redundant branches
the jit can spend too much time trying to optimize the branches.

Place a limit on the number of redundant branches with matching VNs that
the jit will consider for a given branch.

Fixes #66067.

Co-authored-by: Andy Ayers <andya@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 13 May 2022 07:15:29 +0000 (07:15 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Deadlock mitigation for debugging (#69121)
David Mason [Fri, 13 May 2022 07:01:13 +0000 (00:01 -0700)]
[release/6.0] Deadlock mitigation for debugging (#69121)

* WIP

* add logging

Update ceemain.cpp

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 10 May 2022 22:41:52 +0000 (22:41 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge pull request #69151 from vseanreesermsft/internal-merge-6.0-2022-05-10-1208
Carlos Sanchez [Tue, 10 May 2022 22:27:55 +0000 (15:27 -0700)]
Merge pull request #69151 from vseanreesermsft/internal-merge-6.0-2022-05-10-1208

Merging internal commits for release/6.0

2 years agoMerge commit '70ae3df4a6f3c92fb6b315afc405edd10ff38579' into internal-merge-6.0-2022...
Sean Reeser [Tue, 10 May 2022 19:09:10 +0000 (12:09 -0700)]
Merge commit '70ae3df4a6f3c92fb6b315afc405edd10ff38579' into internal-merge-6.0-2022-05-10-1208

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 5 May 2022 22:08:25 +0000 (22:08 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] [mono] Preserve FirstChanceExceptionEventArgs ctor (#68265)
github-actions[bot] [Thu, 5 May 2022 21:57:05 +0000 (14:57 -0700)]
[release/6.0] [mono] Preserve FirstChanceExceptionEventArgs ctor (#68265)

* [mono] Preserve FirstChanceExceptionEventArgs ctor

The runtime is creating the exception so we need to preserve it.
See https://github.com/xamarin/xamarin-android/issues/6626

* PR feedback: use DynamicDependencyAttribute instead

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>