dotnet-bot [Sat, 8 Jan 2022 03:38:55 +0000 (03:38 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 03:37:28 +0000 (03:37 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Sat, 8 Jan 2022 03:35:54 +0000 (20:35 -0700)]
Include properties on records for (de)serialization in source-gen (#63454)
Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
dotnet-bot [Sat, 8 Jan 2022 03:35:30 +0000 (03:35 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Sat, 8 Jan 2022 03:35:01 +0000 (20:35 -0700)]
[release/6.0] Fix TimeSpan support in sourcegen (#62191)
* fix TimeSpan support in sourcegen
* address feedback
* Address feedback
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
github-actions[bot] [Sat, 8 Jan 2022 03:33:37 +0000 (20:33 -0700)]
Suppress warnings about [Obsolete] member usage in JSON src-gen'd code (#63501)
Co-authored-by: Layomi Akinrinade <laakinri@microsoft.com>
Layomi Akinrinade [Sat, 8 Jan 2022 03:32:08 +0000 (22:32 -0500)]
Fix bugs with generation for ctor param default values (#62798) (#63493)
* Fix bugs with generation for ctor param default values
* Address review feedback
* Address feedback
dotnet-bot [Sat, 8 Jan 2022 01:05:00 +0000 (01:05 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Sat, 8 Jan 2022 01:01:06 +0000 (17:01 -0800)]
[release/6.0] Fix System.Object serialization with custom number handling (#62193)
* Fix System.Object serialization with custom number handling
* fix typos
* Address feedback
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
dotnet-bot [Fri, 7 Jan 2022 23:38:28 +0000 (23:38 +0000)]
Merge in 'release/6.0' changes
Dan Moseley [Fri, 7 Jan 2022 23:33:19 +0000 (16:33 -0700)]
[release/6.0] Port test-only test fixes (#63507)
* Outerloop ports
* Port EFS test fix
* Partially disable test (#59760)
* fix build
dotnet-bot [Fri, 7 Jan 2022 19:05:54 +0000 (19:05 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Fri, 7 Jan 2022 19:00:15 +0000 (11:00 -0800)]
[release/6.0] Add explicit null-check for tailcalls to VSD (#62769)
* Add explicit null-check for tailcalls to VSD
There is already a comment that this is necessary, but it is only being
done for x86 tailcalls via jit helper. Do it for normal tailcalls to VSD
as well.
Fix #61486
* Revert cleanup to make potential backport easier
Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
dotnet-bot [Fri, 7 Jan 2022 18:47:59 +0000 (18:47 +0000)]
Merge in 'release/6.0' changes
Eric Erhardt [Fri, 7 Jan 2022 18:45:06 +0000 (12:45 -0600)]
[release/6.0] Ensure UserSecretsIdAttribute is added to assembly (#63423)
* [release/6.0] Ensure UserSecretsIdAttribute is added to assembly
When Microsoft.Extensions.Configuration.UserSecrets is referenced transitively, for example through Extensions.Hosting, the UserSecretsIdAttribute isn't getting added to the built assembly. This is because the logic is contained in a `build` folder which is excluded by the dependency from Extensions.Hosting.
The fix is to move the logic to `buildTransitive`, so it gets picked up by NuGet.
Note, we also need to service the Extensions.Hosting package so it references the new UserSecrets version by default.
Fix #63246
* Add a binding redirect in order to fix test failure on netfx.
dotnet-bot [Fri, 7 Jan 2022 16:43:19 +0000 (16:43 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Fri, 7 Jan 2022 16:41:43 +0000 (16:41 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Fri, 7 Jan 2022 16:39:43 +0000 (09:39 -0700)]
[release/6.0] Undo breaking change in 6.0 in environment variable configuration prefix support (#62916)
* Undo breaking change in 6.0 With environment variable configuration provider, undo support for normalizing prefix using double underscore
* Update src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/tests/EnvironmentVariablesTest.cs
* Update src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/tests/EnvironmentVariablesTest.cs
* update tests, not windows specific
* Update fix for 6.0.x servicing.
Co-authored-by: Maryam Ariyan <maryam.ariyan@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Adam Sitnik [Fri, 7 Jan 2022 16:38:04 +0000 (17:38 +0100)]
[release/6.0] Fix setting timestamp on Windows on readonly files (#62922)
* Fix setting timestamp on Windows on readonly files (#62638)
# Conflicts:
# src/libraries/System.IO.FileSystem/tests/Base/BaseGetSetTimes.cs
* make it compile
* fix build
Co-authored-by: Dan Moseley <danmose@microsoft.com>
github-actions[bot] [Fri, 7 Jan 2022 16:37:14 +0000 (09:37 -0700)]
[release/6.0] WinHttp: always read HTTP/2 streams to the end (#63346)
* tests
* enable WINHTTP_OPTION_REQUIRE_STREAM_END on request handles
* set WINHTTP_OPTION_REQUIRE_STREAM_END on the session handle
Co-authored-by: antonfirsov <antonfir@gmail.com>
dotnet-bot [Thu, 6 Jan 2022 23:59:26 +0000 (23:59 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Thu, 6 Jan 2022 23:55:37 +0000 (16:55 -0700)]
[release/6.0] Making user secrets optional by default (#62917)
* Making user secrets optional by default
* update test
* Update fix for 6.0.x servicing.
Co-authored-by: Maryam Ariyan <maryam.ariyan@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
dotnet-bot [Thu, 6 Jan 2022 20:08:27 +0000 (20:08 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Thu, 6 Jan 2022 20:04:56 +0000 (12:04 -0800)]
[release/6.0] Fix XXHash for stripe size (#61923)
* Fix XXHash for stripe size
* Add servicing properties to System.IO.Hashing
* Run package validation against 6.0.0 packages and enable it for IO Hashing.
Co-authored-by: Tornhoof <tornhoof@gmail.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
dotnet-bot [Thu, 6 Jan 2022 19:13:19 +0000 (19:13 +0000)]
Merge in 'release/6.0' changes
Jan Vorlicek [Thu, 6 Jan 2022 19:07:37 +0000 (20:07 +0100)]
[release/6.0] Change macOS activatin injection failure handling (#63393)
Backport of #59045 to release/6.0
The pthread_kill can fail with ENOTSUP on macOS when the target thread
is a dispatch queue thread. Instead of aborting the process, it is
better to fail to inject the activation and rely on return address
hijacking and other means of syncing with GC.
dotnet-bot [Thu, 6 Jan 2022 18:50:52 +0000 (18:50 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Thu, 6 Jan 2022 18:46:06 +0000 (10:46 -0800)]
Unify the FlushProcessWriteBuffers mechanism for macOS arm64 / x64 (#63301)
The macOS arm64 was using a new mechanism to implement FlushProcessWriteBuffers
because the original one based on a wired memory page doesn't work on arm64.
We have seen people hitting problems with the wired memory page allocation on
x64 in the past due to the fact that wired memory is a scarce resource and
in some cases, e.g. in presence of apps that greedily grab all of the available
wired memory pages, we were unable to initialize coreclr and execute any .NET
application.
This change switches x64 to the same mechanism as arm64 to prevent that issue
from happening and updates the minimum supported x64 macOS to 10.14. That's the
version required for the new APIs the change is using. Apple stopped supporting
10.13 a year ago anyways.
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
dotnet-bot [Thu, 6 Jan 2022 18:18:39 +0000 (18:18 +0000)]
Merge in 'release/6.0' changes
Koundinya Veluri [Thu, 6 Jan 2022 18:14:27 +0000 (10:14 -0800)]
Fix named mutexes on OSX to work between arm64 and emulated x64 processes (#62765)
- The page size is different between arm64 processes and emulated x64 processes
- The shared memory file size is set to the page size and there was a strict check on the file size, leading to an exception from the second process of a different arch that tries to share the same mutex
- Made the file size check less strict, and allowed an arch to increase but not decrease the file size such that it can be mapped at page size granularity
- Fix for https://github.com/dotnet/runtime/issues/62140 in main
Andrew Au [Thu, 6 Jan 2022 18:14:17 +0000 (10:14 -0800)]
Fix bug where we reference the entry #0 in the pinned plug queue (#60966) (#63351)
We reference entry #0 in the pinned plug queue even if there are no pinned plugs at all and thus the pinned plug queue contains left-over data from the mark phase.
The fix is to initialize saved_pinned_plug_index to a value that is invalid as a pinned plug queue index, and only use saved_pinned_plug_index as an index if is valid.
Co-authored-by: Peter Sollich <petersol@microsoft.com>
dotnet-bot [Wed, 5 Jan 2022 19:11:38 +0000 (19:11 +0000)]
Merge in 'release/6.0' changes
Santiago Fernandez Madero [Wed, 5 Jan 2022 19:08:12 +0000 (13:08 -0600)]
[release/6.0] bump sourcebuild leg timeout (#63298)
dotnet-bot [Tue, 4 Jan 2022 22:54:39 +0000 (22:54 +0000)]
Merge in 'release/6.0' changes
Jan Vorlicek [Tue, 4 Jan 2022 22:51:52 +0000 (23:51 +0100)]
[release/6.0] Fix build with Clang 13 (#63314)
* Fix clang 13 induced runtime issues (#62170)
The clang 13 optimizer started to assume that "this" pointer is always
properly aligned. That lead to elimination of some code that was actually
needed.
It also takes pointer aliasing rules more strictly in one place in jit.
That caused the optimizer to falsely assume that a callee with an argument
passed by reference is not modifying that argument and used a stale
copy of the original value at the caller site.
This change fixes both of the issues. With this fix, runtime compiled
using clang 13 seems to be fully functional.
* Fix build with clang 13 (#60328)
dotnet-bot [Mon, 3 Jan 2022 16:57:29 +0000 (16:57 +0000)]
Merge in 'release/6.0' changes
dotnet-maestro[bot] [Mon, 3 Jan 2022 16:53:52 +0000 (08:53 -0800)]
Update dependencies from https://github.com/dotnet/arcade build
20211214.2 (#63007)
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.21609.4 -> To Version 6.0.0-beta.21614.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-bot [Mon, 3 Jan 2022 16:38:27 +0000 (16:38 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Mon, 3 Jan 2022 16:32:20 +0000 (10:32 -0600)]
fix issue where HTTP2 connection could be scavenged but not disposed (#62236)
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
dotnet-bot [Mon, 3 Jan 2022 02:29:27 +0000 (02:29 +0000)]
Merge in 'release/6.0' changes
Marek Fišera [Mon, 3 Jan 2022 02:26:16 +0000 (03:26 +0100)]
[wasm][release/6.0] Reduce number of calls to setTimer (#62705)
* Port changes to the TimerQueue from https://github.com/dotnet/runtime/pull/62433.
Test is only manual. Xharness version on this branch
triggers timer queue in a way that makes the test useless.
Co-authored-by: Pavel Savara <pavelsavara@microsoft.com>
* Replace main method with plain static method for running timer tests.
* Rename index.html to simple.html to avoid collision with generated index.html for unit tests.
Co-authored-by: Pavel Savara <pavelsavara@microsoft.com>
dotnet-bot [Mon, 3 Jan 2022 02:23:31 +0000 (02:23 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Mon, 3 Jan 2022 02:23:06 +0000 (02:23 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Mon, 3 Jan 2022 02:20:00 +0000 (20:20 -0600)]
[release/6.0] Do not promote struct locals with holes (#62738)
* Make sure the combined field size matches the struct size
* Fix the condition
* Update test and include containHoles condition
Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
Jo Shields [Mon, 3 Jan 2022 02:18:14 +0000 (21:18 -0500)]
[release/6.0] Add runtime-community.yml pipeline and add s390x job (#62808)
* Add runtime-community.yml pipeline and add s390x job (#60255)
(cherry picked from commit
5f3062d81a5caa444308937539ad136b72218c29)
* Don't include s390x in coreclr outerloop runs (#60351)
This was a copy-paste mistake, see https://github.com/dotnet/runtime/pull/60255#issuecomment-
942539639
(cherry picked from commit
49cf05cdea3baa22592d08d74ce2f0e2c32786a7)
* Enable for release/*.* branch, not just main
* Fix condition for dependOnEvaluatePaths for runtime-community pipeline (#60552)
It was missed where we set a default value for that variable.
(cherry picked from commit
157a8b5f72f69e18fbd5ec1f549954e3a28f8f71)
* [mono] For cross builds targeting s390x use proper objcopy (#57566)
Co-authored-by: Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
(cherry picked from commit
616ace39bb8d9431097b433c31caca6dd934d349)
* Use live-built corehost on s390x for creating testhost (#58952)
This allows consuming the dotnet host that was just built instead of relying on a downloaded one.
We need to move the `host` subset build before the `libs` subset so that the artifacts are available before externals.csproj runs.
(cherry picked from commit
cab3a63fe3b9810b801ea6a7d9fb958d1af5e380)
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: stefan-sf-ibm <73470131+stefan-sf-ibm@users.noreply.github.com>
github-actions[bot] [Mon, 3 Jan 2022 02:16:28 +0000 (20:16 -0600)]
[release/6.0] Use Ubuntu 18.04 and dotnet-buildtools-prereq docker images for enterprise linux pipeline (#63014)
* Use Ubuntu 18.04 1ES pools and dotnet-buildtools-prereq docker images for enterprise linux pipeline
Ubuntu 16.04 is no longer available on Azure Pipelines, move to 18.04 on 1ES pool and the Docker images from dotnet-buildtools-prereq.
* Workaround https://github.com/dotnet/runtime/issues/34649
* Use servicing 1ES pool
* Fix property name for turning off PGO data
It was changed in main with https://github.com/dotnet/runtime/commit/
4682098d3a435d3f88942ee9e5c6fd426555963a
* Fix property value
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
dotnet-bot [Fri, 31 Dec 2021 04:15:17 +0000 (04:15 +0000)]
Merge in 'release/6.0' changes
David Cantú [Fri, 31 Dec 2021 04:10:51 +0000 (20:10 -0800)]
[release/6.0] Don't create multiple large files at the same time (#63032)
* Move NoInt32OverflowInTheBufferingLogic to OuterLoop and address pending feedback (#60606)
* Don't create multiple large files at the same time (#62519)
* move existing large file tests into a separate type (no code changes)
* don't run the large file tests in parallel
* use FileOptions.DeleteOnClose to ensure that each test removes it's own file
use single large file to test File.ReadAllBytes and ile.ReadAllBytesAsync for both limits
* Fix DisableParallelization build issue
* Apply suggestions from code review
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
* Update src/libraries/System.IO.FileSystem/tests/LargeFileTests.cs
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
* Notepad with uppercase (#62487)
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
dotnet-bot [Thu, 23 Dec 2021 22:45:51 +0000 (22:45 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Thu, 23 Dec 2021 22:42:38 +0000 (15:42 -0700)]
[release/6.0] Fixing a possible null reference error in WebSocket deflate. (#62716)
* Fixing a possible null reference error in websocket deflate functionality.
* Style feedback.
Co-authored-by: Ivan Zlatanov <ivan@zlatanov.net>
dotnet-bot [Fri, 17 Dec 2021 17:07:36 +0000 (17:07 +0000)]
Merge in 'release/6.0' changes
Nikola Milosavljevic [Fri, 17 Dec 2021 17:04:26 +0000 (09:04 -0800)]
RPM package needs to create host symlink (#62925)
dotnet-bot [Fri, 17 Dec 2021 01:42:55 +0000 (01:42 +0000)]
Merge in 'release/6.0' changes
Mike McLaughlin [Fri, 17 Dec 2021 01:39:42 +0000 (17:39 -0800)]
Fix createdump failure on MacOS Monterey version 12.0.1. (#62548)
dotnet-bot [Thu, 16 Dec 2021 21:02:15 +0000 (21:02 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Thu, 16 Dec 2021 20:56:06 +0000 (12:56 -0800)]
[release/6.0] Fixing regression for AuthType.Anonymous which leads to a NullReferenceException be thrown. (#62824)
* Fixing regression for AuthType.Anonymous which leads to a NullReferenceException be thrown.
* Adding a unitTest to protect against a regression
* Ensure System.DirectoryServices.Protocols package gets built.
Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
dotnet-bot [Thu, 16 Dec 2021 19:06:43 +0000 (19:06 +0000)]
Merge in 'release/6.0' changes
Santiago Fernandez Madero [Thu, 16 Dec 2021 19:00:11 +0000 (13:00 -0600)]
Fix Microsoft.VisualBasic.Core file version (#62848) (#62908)
dotnet-bot [Thu, 16 Dec 2021 17:06:09 +0000 (17:06 +0000)]
Merge in 'release/6.0' changes
Santiago Fernandez Madero [Thu, 16 Dec 2021 17:02:46 +0000 (11:02 -0600)]
Include Microsoft.NETCore.App.Ref pack as part of 6.0.2 release (#62859)
* Include Microsoft.NETCore.App.Ref pack as part of 6.0.2 release
* Update eng/Versions.props
dotnet-bot [Thu, 16 Dec 2021 16:55:54 +0000 (16:55 +0000)]
Merge in 'release/6.0' changes
dotnet-maestro[bot] [Thu, 16 Dec 2021 16:52:26 +0000 (10:52 -0600)]
Update dependencies from https://github.com/dotnet/arcade build
20211209.4 (#62799)
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.21560.2 -> To Version 6.0.0-beta.21609.4
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
dotnet-bot [Thu, 16 Dec 2021 16:52:24 +0000 (16:52 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Thu, 16 Dec 2021 16:48:22 +0000 (10:48 -0600)]
[release/6.0] Fixes #62167. WriteAsync may truncate data if called after .Advance(int) (#62348)
* Fixes #62167. WriteAsync was bugged when writing multiple segments if called after an .Advance(int)
* Add packaging changes to IO Pipelines
Co-authored-by: Kuinox <github@kuinox.io>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
dotnet-bot [Wed, 15 Dec 2021 20:11:59 +0000 (20:11 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Dec 2021 20:06:52 +0000 (14:06 -0600)]
Protecting send message to debugger if it's disables (#62210)
Co-authored-by: DESKTOP-GEPIA6N\Thays <thaystg@gmail.com>
dotnet-bot [Wed, 15 Dec 2021 19:34:01 +0000 (19:34 +0000)]
Merge in 'release/6.0' changes
Anton Firszov [Wed, 15 Dec 2021 19:30:45 +0000 (20:30 +0100)]
[release/6.0] [HTTP/3] Fixed stress (#60723)
* Update msquic
* Remove exclusion of 100-continue
github-actions[bot] [Wed, 15 Dec 2021 19:29:54 +0000 (13:29 -0600)]
<EnablePreviewFeatures> for HttpStress (#60682)
Co-authored-by: Anton Firszov <Anton.Firszov@microsoft.com>
dotnet-bot [Wed, 15 Dec 2021 19:29:20 +0000 (19:29 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Wed, 15 Dec 2021 19:23:55 +0000 (19:23 +0000)]
Merge in 'release/6.0' changes
Thays Grazia [Wed, 15 Dec 2021 19:23:38 +0000 (16:23 -0300)]
Backporting part of pr 62278 (#62543)
dotnet-bot [Wed, 15 Dec 2021 19:22:16 +0000 (19:22 +0000)]
Merge in 'release/6.0' changes
Thays Grazia [Wed, 15 Dec 2021 19:20:57 +0000 (16:20 -0300)]
Backport PR 60983 (#62283)
Eric Erhardt [Wed, 15 Dec 2021 19:19:12 +0000 (13:19 -0600)]
[release/6.0] Cache LastAccessed during MemoryCache compaction (#62286)
* Cache LastAccessed during MemoryCache compaction (#61187)
* Cache LastAccessed during MemoryCache compaction
During cache compaction, we are sorting entries based on their LastAccessed time. However, since the cache entries can still be used concurrently on other threads, the LastAccessed time may be updated in the middle of sorting the entries. This leads to exceptions in a background thread, crashing the process.
The fix is to cache the LastAccessed time outside of the entry when we are adding it to the list. This will ensure the time is stable during the compaction process.
Fix #61032
* Update fix for 6.0.x servicing.
1. Remove the dependency on ValueTuple and use a custom struct instead.
2. Add servicing package changes.
3. In the tests, move the DisableParallelization collection declaration in the test project, since it is only in "Common" in main.
dotnet-bot [Wed, 15 Dec 2021 19:13:41 +0000 (19:13 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Wed, 15 Dec 2021 19:12:49 +0000 (19:12 +0000)]
Merge in 'release/6.0' changes
Santiago Fernandez Madero [Wed, 15 Dec 2021 19:10:30 +0000 (13:10 -0600)]
Merge pull request #62403 from dotnet/backport/pr-62397-to-release/6.0
[release/6.0] Fix re-initialization of hash objects on CNG.
Santiago Fernandez Madero [Wed, 15 Dec 2021 19:09:40 +0000 (13:09 -0600)]
Merge pull request #62789 from vseanreesermsft/internal-merge-6.0-2021-12-14-0948
Merging internal commits for release/6.0
dotnet-bot [Wed, 15 Dec 2021 18:52:40 +0000 (18:52 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Wed, 15 Dec 2021 18:48:22 +0000 (18:48 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Dec 2021 18:46:47 +0000 (12:46 -0600)]
[release/6.0] Use 1ES pool instead of deprecated windows image in "Publish to Build Asset Registry" job (#62839)
* Use 1ES pool instead of deprecated windows image in "Publish to Build Asset Registry" job
* Use servicing 1ES pool
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Bruce Forstall [Wed, 15 Dec 2021 18:45:48 +0000 (10:45 -0800)]
[release/6.0] Port #58410: Fix zero initialization use of "initReg" (#62207)
If the only local is an enregistered must-init struct,
we were setting `initReg` to its register (in this case, `xmm0`).
However, `initReg` is expected to be an integer register. In the
test case, with GS cookie stress, the GS cookie code asserted
that `initReg` was an integer register, but it wasn't.
The fix is the change the condition to use the actual register
assigned to the variable (in this case, `xmm0`), not the variable
type (here, `TYP_STRUCT`).
No spmi asm diffs.
Fixes #57911
dotnet-bot [Wed, 15 Dec 2021 18:45:26 +0000 (18:45 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Dec 2021 18:45:10 +0000 (12:45 -0600)]
Fix method HttpHeadersNonValidated uses to get HeaderDescriptor (#62194)
We have two non-public methods for getting a HeaderDescriptor from a string name, one static on HeaderDescriptor and one instance on HttpHeaders. HttpHeadersNonValidated was using the former, but this then doesn't take into account custom logic used by HttpHeaders in other methods, like TryAddWithoutValidation, which means some methods on HttpHeadersNonValidated can't find the corresponding headers.
Co-authored-by: Stephen Toub <stoub@microsoft.com>
dotnet-bot [Wed, 15 Dec 2021 18:42:55 +0000 (18:42 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Dec 2021 18:41:04 +0000 (12:41 -0600)]
[release/6.0] Fix calling NLS with Cultures has alternative sort names (#62155)
* Fix calling NLS with Cultures has alternative sort names
* Exclude the test for the browser
* Update src/libraries/System.Private.CoreLib/src/System/Globalization/CultureData.Nls.cs
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Fix test typo
Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
github-actions[bot] [Wed, 15 Dec 2021 18:40:04 +0000 (12:40 -0600)]
[release/6.0] Allow runtimeconfig StartupHooks and Environment StartupHooks to both be present (#62124)
* Allow configProperties "STARTUP_HOOKS" and env "DOTNET_STARTUP_HOOKS" to both be present
* Fix duplicate_property_error property names to reflect the actual duplicate
* fixup! Allow configProperties "STARTUP_HOOKS" and env "DOTNET_STARTUP_HOOKS" to both be present
* Enforce env startup hook precedence over runtimeconfig startup hooks
Co-authored-by: Tom de Goede <tom.degoede@afas.nl>
github-actions[bot] [Wed, 15 Dec 2021 18:39:20 +0000 (12:39 -0600)]
[release/6.0] [HTTP] Scavenge fix (#62008)
* Guard pool scavenging callback from parallel execution when it takes longer than the timer interval gets triggered
* Dispose connection from the pool in a serate task to not to block the caller (scavenge timer callback)
* feedback
Co-authored-by: ManickaP <mapichov@microsoft.com>
dotnet-bot [Wed, 15 Dec 2021 18:39:01 +0000 (18:39 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Dec 2021 18:38:40 +0000 (12:38 -0600)]
The DestroyStructure API passes null to the IL marshaller for managed valuetypes. This is an issue with field marshallers of nested non-blittable types. (#62002)
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
github-actions[bot] [Wed, 15 Dec 2021 18:35:44 +0000 (12:35 -0600)]
Environment variable should override property for gcServer. (#61969)
Add tests for the scenario.
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
dotnet-bot [Wed, 15 Dec 2021 18:35:07 +0000 (18:35 +0000)]
Merge in 'release/6.0' changes
Koundinya Veluri [Wed, 15 Dec 2021 18:34:44 +0000 (10:34 -0800)]
Check for time-sensitive work when worker thread starvation is ongoing (#61931)
- Otherwise timer callbacks may not run when worker threads are continually starved
- The change is similar to what was done in CoreCLR's native thread pool
- Fixes https://github.com/dotnet/runtime/issues/61804
dotnet-bot [Wed, 15 Dec 2021 18:32:24 +0000 (18:32 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Dec 2021 18:29:01 +0000 (12:29 -0600)]
[release/6.0] disable sending NT Authority in TLS handshake if specific trust was specified (#61713)
* diable sending NT Authority if specific trust was specified
* feedback from review
* add missing file
* Apply suggestions from code review
Co-authored-by: Cory Nelson <phrosty@gmail.com>
* one more style update
Co-authored-by: wfurt <tweinfurt@yahoo.com>
Co-authored-by: Cory Nelson <phrosty@gmail.com>
github-actions[bot] [Wed, 15 Dec 2021 18:27:03 +0000 (12:27 -0600)]
[release/6.0] Disable poisoning for large structs (#61601)
* Disable poisoning for large structs
For very large structs (> 64K in size) poisoning could end up generating
instructions requiring larger local var offsets than we can handle. This
hits IMPL_LIMIT that throws InvalidProgramException. Turn off poisoning
for larger structs that require more than 16 movs to also avoid the
significant code bloat by the singular movs.
This is a less risky version of #61521 for backporting to .NET 6.
Fix #60852
* Run jit-format
* Add regression test
* Update src/coreclr/jit/codegencommon.cpp
Co-authored-by: Andy Ayers <andya@microsoft.com>
* Don't check poisoning for large struct in test
Since it's disabled, there is nothing to check.
Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
Co-authored-by: Andy Ayers <andya@microsoft.com>
Bruce Forstall [Wed, 15 Dec 2021 18:24:38 +0000 (10:24 -0800)]
Don't run the JIT formatting job in release/6.0 (#61485)
The format job depends on the `main` branch of dotnet/jitutils (which isn't
properly versioned). Avoid future changes to jitutils causing a break in
servicing by disabling the formatting job.
Note that there is very little benefit to maintaining the formatting
CI requirement in servicing anyway.
dotnet-bot [Wed, 15 Dec 2021 17:32:00 +0000 (17:32 +0000)]
Merge in 'release/6.0' changes
Jan Jahoda [Wed, 15 Dec 2021 17:26:43 +0000 (18:26 +0100)]
Backport all CI matrix changes from 7.0 to reelase/6.0 (#62538)
* Replace Debian stretch with bullseye in Helix queues (#57841)
* add W11 test queue (#58570)
* CI matrix change: drop OSX 10.13 (#59084)
* Drop OSX 10.13 from CI matrix
* Drop OSX 10.14 from PR CI matrix
* CI matrix change: ubuntu (#58987)
* Remove ubuntu 16.04
* Remove another occurence
* enable client certificate test for QUIC on Linux (#59544)
* CI matrix change: debian+centos+sles (#58988)
* CI matrix change: debian+centos+sles
* Adjust the CI matrix based on latest comments
* Rev Alpine WithNode from 3.9 to 3.13 (#57324)
* Rev Alpine WithNode from 3.9 to 3.13
Also,
* update helix queues from 3.12 to 3.13
* add 3.14 helix queues
* update performance job to install cargo from main branch
* Add Alpine 3.13 in rolling CI
* Add missing closing paren
* CI matrix change: add Windows.Server.Core.20H2 (#59572)
* Add Windows.Server.Core.20H2 to CI matrix
* add windows server 20H2
* Remove 20H2 from PR
* Remove 20H2 from PR run
* CI matrix: add openSUSE 15.2 (#59574)
* CI matrix update: add Ubuntu 21.04 (#59578)
* Rollback changes breaking rolling builds (#60040)
* Revert "CI matrix update: add Ubuntu 21.04 (#59578)"
This reverts commit
127a498bfe6202d097c3f290bce2d771ee2fb859.
* Revert "CI matrix: add openSUSE 15.2 (#59574)"
This reverts commit
f9025ae80eba0b2f48ef8b413af3d357ff06987f.
* Revert "CI matrix change: add Windows.Server.Core.20H2 (#59572)"
This reverts commit
5ab435e1fa5e9c88ba7ad9bfb251d508746f337b.
* Add runtime-community.yml pipeline and add s390x job (#60255)
* Revert "Add runtime-community.yml pipeline and add s390x job (#60255)"
This reverts commit
4199aa1e8447408450c02c7ad96cacd4655bf767.
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Co-authored-by: Tomas Weinfurt <tweinfurt@yahoo.com>
Co-authored-by: Krzysztof Wicher <kwicher@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>