dotnet-bot [Mon, 4 Oct 2021 14:32:48 +0000 (14:32 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Fri, 1 Oct 2021 19:55:52 +0000 (19:55 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Fri, 1 Oct 2021 16:01:40 +0000 (16:01 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Fri, 1 Oct 2021 15:56:08 +0000 (15:56 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Fri, 1 Oct 2021 02:42:00 +0000 (02:42 +0000)]
Merge in 'release/6.0' changes
Santiago Fernandez Madero [Fri, 1 Oct 2021 02:38:19 +0000 (19:38 -0700)]
Update WCF dependencies on the compat pack (#59764) (#59820)
dotnet-bot [Thu, 30 Sep 2021 21:34:31 +0000 (21:34 +0000)]
Merge in 'release/6.0' changes
Michael Simons [Thu, 30 Sep 2021 21:31:31 +0000 (16:31 -0500)]
Define SystemReflectionMetadataStaticVersion for source-build (#59782)
dotnet-bot [Thu, 30 Sep 2021 00:53:05 +0000 (00:53 +0000)]
Merge in 'release/6.0' changes
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>
Steve Harter [Thu, 30 Sep 2021 00:49:48 +0000 (19:49 -0500)]
Src gen: use GetBestTypeByMetadataName instead of GetTypeByMetadataName (#59092) (#59774)
dotnet-bot [Wed, 29 Sep 2021 19:25:46 +0000 (19:25 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Wed, 29 Sep 2021 04:57:13 +0000 (04:57 +0000)]
Merge in 'release/6.0' changes
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)
dotnet-bot [Tue, 28 Sep 2021 08:40:45 +0000 (08:40 +0000)]
Merge in 'release/6.0' changes
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
dotnet-bot [Mon, 27 Sep 2021 20:28:52 +0000 (20:28 +0000)]
Merge in 'release/6.0' changes
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>
dotnet-bot [Mon, 27 Sep 2021 17:02:20 +0000 (17:02 +0000)]
Merge in 'release/6.0' changes
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.
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
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>
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>
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>
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>
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>
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>
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>
dotnet-bot [Fri, 24 Sep 2021 18:02:35 +0000 (18:02 +0000)]
Merge in 'release/6.0' changes
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>
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
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>
Steve Harter [Fri, 24 Sep 2021 13:52:32 +0000 (08:52 -0500)]
Fix ArrayPool leak with JsonDocument
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
Eric StJohn [Thu, 23 Sep 2021 23:45:15 +0000 (16:45 -0700)]
Add execute bit to postinstall script
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>
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
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>
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.
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
dotnet-bot [Wed, 22 Sep 2021 21:46:07 +0000 (21:46 +0000)]
Merge in 'release/6.0' changes
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>
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
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)
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.
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>
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>
dotnet-bot [Tue, 21 Sep 2021 23:56:22 +0000 (23:56 +0000)]
Merge in 'release/6.0' changes
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>
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>
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>
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>
github-actions[bot] [Tue, 21 Sep 2021 20:45:00 +0000 (16:45 -0400)]
[release/6.0-rc2] [interp] Add wide data item index static load and stores (#59262)
Backport of #59220
Add ldsdfld.w and stsfld.w opcodes to the interpreter. These are needed for some machine-generated methods in Android projects that use AndroidX, MAUI, SkiaSharp or other toolkits. The app's Resource::UpdateIdValues can grow to exceed 64k interpreter data items, which means that 16-bit data item indices will roll over.
Resolves https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1398069
github-actions[bot] [Tue, 21 Sep 2021 20:43:26 +0000 (16:43 -0400)]
[release/6.0-rc2] [MonoVM] Reduce P/Invoke GC transition asserts in release builds (#59269)
Backport of #59029
Profiling shows that large part of the GC transition overhead (~30%) in #58939 is caused by assert-style checks. Disabling them seems to be the best bang-for-the-buck option for reducing the overhead without fundamental changes to the code.
Co-authored-by: Filip Navara <navara@emclient.com>
github-actions[bot] [Tue, 21 Sep 2021 20:42:06 +0000 (16:42 -0400)]
[release/6.0-rc2] [iOS] Make sure IPGlobalProperties and NetworkInterface.GetIsNetworkAvailable methods return the correct info (#59258)
Backport of #57096
This change makes sure some of the IPGlobalProperties stop throwing exceptions and return the correct values.
GetIPv4GlobalStatistics, GetIcmpV4Statistics, GetTcpIPv4Statistics, GetUdpIPv4Statistics no longer throw NetworkInformationException.
GetActiveTcpConnections no longer returns TcpConnectionInformation instances only with the State of Unknown.
GetActiveTcpListeners return the correct IPEndPoint details for the IPV6 loopback.
NetworkInterface.GetIsNetworkAvailable no longer returns false for every call.
The reason these methods were behaving incorrectly on iOS is due to Apple not including the public headers for icmp_var.h, ip_var.h, tcp_fsm.h, if_media.h, and udp_var.h in the iOS SDK. This would lead to, for example, pal_tcpstate.c always returning TcpState_Unknown even if the underlying native value was TCPS_ESTABLISHED. This change includes the missing public headers in our build.
Fixes #36890
William Li [Tue, 21 Sep 2021 20:21:14 +0000 (13:21 -0700)]
Release 6.0 rc2 localized manifest (#59379)
Part of https://github.com/dotnet/sdk/issues/20497
Jo Shields [Tue, 21 Sep 2021 17:58:39 +0000 (13:58 -0400)]
Work around for forbidden "Roslyn4.0" in test name on Android (#59263) (#59281)
Android apk names must be valid Java class names, and It is forbidden in Java for a class name component to have a leading numeric digit. So whilst "net.dot.foo3_1" is legal, "net.dot.foo3.1" is illegal. Use a Regex to detect and rewrite all cases of this in AndroidAppBuilder
github-actions[bot] [Tue, 21 Sep 2021 17:06:23 +0000 (10:06 -0700)]
[release/6.0-rc2] [wasm][debugger] Reverting the old behavior of scope id numeration (#59372)
* Keeping the old behavior of scope id what we have before start using debugger-agent.
* Fix compilation.
* Fix compilation.
Co-authored-by: Thays <thaystg@gmail.com>
dotnet-bot [Tue, 21 Sep 2021 00:51:49 +0000 (00:51 +0000)]
Merge in 'release/6.0' changes
Anirudh Agnihotry [Tue, 21 Sep 2021 00:47:46 +0000 (17:47 -0700)]
[Release/6.0]fix the package version for non-shipping csproj packages (#59369)
* fix the package version for non-shipping package
* use version prefix
dotnet-bot [Tue, 21 Sep 2021 00:46:18 +0000 (00:46 +0000)]
Merge in 'release/6.0' changes
Dan Moseley [Tue, 21 Sep 2021 00:42:52 +0000 (18:42 -0600)]
Merge pull request #59238 from dotnet-maestro-bot/merge/release/6.0-rc2-to-release/6.0
[automated] Merge branch 'release/6.0-rc2' => 'release/6.0'
Larry Ewing [Tue, 21 Sep 2021 00:41:58 +0000 (19:41 -0500)]
Enable experimental nuget retry on rc2 lanes (already enabled on main) (#59360)
github-actions[bot] [Tue, 21 Sep 2021 00:40:41 +0000 (18:40 -0600)]
[release/6.0-rc2] Generic Math Preview - Use correct NumberStyle when parsing double and float (#59366)
* 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>
Eric StJohn [Mon, 20 Sep 2021 20:17:54 +0000 (13:17 -0700)]
[release/6.0] x64 on ARM64 fixes (#59295)
* Retarget DOTNETHOME when installing x64 on ARM64 (#58669)
* Only set path in x64 mac installer when installing on x64 (#59210)
* Only set path in x64 mac installer when installing on x64
In other words don't set the path for x64 installer on ARM64
* Remove postinstall script from hostfxr
There should be no need for both the host and hostfxr to set the path to dotnet.
Since the host installs dotnet, it should be the only package responsible for this.
* Make postinstall set install_location on mac
Also refactor script to use a template so that we don't need to fork the script.
* fix some syntax errors in script
* Update src/installer/pkg/sfx/installers/dotnet-host.proj
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Refine uname regular expressions
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
* Updating dependencies from https://github.com/dotnet/arcade build
20210917.3
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
github-actions[bot] [Mon, 20 Sep 2021 19:41:38 +0000 (12:41 -0700)]
[release/6.0-rc2] Create and publish missing symbols (#59259)
* Fix symbols for Microsoft.MonoTargets.Sdk
* Build and include .pdb file on Windows builds of mono-aot-cross
* Only TARGET_PDB_FILE on HOST_WIN32
* Another conditional
* Output directly "mono-aot-cross.exe", don't rename "mono-sgen.exe"
Co-authored-by: Jo Shields <directhex@apebox.org>
Co-authored-by: Jo Shields <joshield@microsoft.com>
github-actions[bot] [Mon, 20 Sep 2021 17:20:33 +0000 (10:20 -0700)]
[release/6.0-rc2] Undo breaking change compat in GetMethodNativeMap (#59231)
* Undo breaking change compat
* Fix compilation
Co-authored-by: Juan Hoyos <19413848+hoyosjs@users.noreply.github.com>
github-actions[bot] [Sat, 18 Sep 2021 16:12:04 +0000 (10:12 -0600)]
[release/6.0-rc2] Update source-gen APIs according to review (#59243)
* Update source-gen APIs according to review
* Rename fast-path func name and add src-gen/JsonNode interop support
* Address review feedback
* Disable src-gen tests in browser target OS
Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
github-actions[bot] [Fri, 17 Sep 2021 22:45:13 +0000 (16:45 -0600)]
[release/6.0-rc2] Implement UriCreationOptions (#59274)
* Add UriCreationOptions
Includes DangerousDisablePathAndQueryCanonicalization
* Add /// comments
Co-authored-by: Miha Zupan <mihazupan.zupan1@gmail.com>
Maryam Ariyan [Fri, 17 Sep 2021 22:40:07 +0000 (15:40 -0700)]
[release/6.0] Fix Logging Source Generator to handle file-scoped namespaces (#57894) (#59100)
* Handle file-scoped namespaces (#57894)
Handle namespace not being emitted when file-scoped
namespaces are used for a log class.
Relates to #57880.
* Fix build issue
Co-authored-by: Martin Costello <martin@martincostello.com>
dotnet-maestro[bot] [Fri, 17 Sep 2021 21:22:46 +0000 (14:22 -0700)]
Update dependencies from https://github.com/dotnet/emsdk build
20210914.1 (#59264)
Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
From Version 6.0.0-rtm.21464.2 -> To Version 6.0.0-rc.2.21464.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
github-actions[bot] [Fri, 17 Sep 2021 13:27:49 +0000 (09:27 -0400)]
[release/6.0-rc2] Fix corner-case handling of cancellation exception in ForEachAsync (#59237)
* Fix corner-case handling of cancellation exception in ForEachAsync
If code in Parallel.ForEachAsync throws OperationCanceledExceptions containing the CancellationToken passed to the iteration and that token has _not_ had cancellation requested (so why are they throwing with it) and there are no other exceptions, the ForEachAsync will effectively hang after failing to complete the task returned from it.
The issue stems from how we treat cancellation. If the user-supplied token hasn't been canceled but we have OperationCanceledExceptions for the token passed into the iteration (the "internal" token), it can only have been canceled because an exception occurred. We filter out these cancellation exceptions, leaving just the exceptions that are deemed to have caused the failure in the first place. But the code doesn't currently account for the possibility that the developer is (arguably erroneously) throwing such an OperationCanceledException with the internal cancellation token as that root failure. The fix is to only filter out these OCEs if there are other exceptions besides them.
* Stop filtering out cancellation exceptions in Parallel.ForEachAsync
Co-authored-by: Stephen Toub <stoub@microsoft.com>
github-actions[bot] [Fri, 17 Sep 2021 12:55:06 +0000 (06:55 -0600)]
Do not use copy-on-write on windows (#59194)
Co-authored-by: vsadov <8218165+VSadov@users.noreply.github.com>
Carlos Sanchez [Fri, 17 Sep 2021 12:45:51 +0000 (05:45 -0700)]
Bump intellisense version to RC1 (main) (#59115) (#59223)
* Bump intellisense version to RC1
* Use package pushed to correct feed (dotnet6-transport)
Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
github-actions[bot] [Fri, 17 Sep 2021 02:18:49 +0000 (20:18 -0600)]
Require UTF8 encoding in GetX509NameInfo. (#59172)
Co-authored-by: Kevin Jones <kevin@vcsjones.com>
dotnet-bot [Wed, 15 Sep 2021 23:24:50 +0000 (23:24 +0000)]
Merge in 'release/6.0' changes
Anirudh Agnihotry [Wed, 15 Sep 2021 23:22:06 +0000 (16:22 -0700)]
update the branding (#59102)
dotnet-bot [Wed, 15 Sep 2021 22:06:38 +0000 (22:06 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Sep 2021 22:03:50 +0000 (15:03 -0700)]
[release/6.0] Emit diagnostics & exceptions for sourcegen handling init-only properties & JsonInclude attributes (#59097)
* Emit diagnostic warnings and exceptions when sourcegen is handling init-only inaccessible JsonInclude properties.
* add localizations for runtime exception messages
* remove exception messages from resource strings
* fix alphabetical ordering
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
dotnet-bot [Wed, 15 Sep 2021 21:56:48 +0000 (21:56 +0000)]
Merge in 'release/6.0' changes
Matt Mitchell [Wed, 15 Sep 2021 21:53:54 +0000 (14:53 -0700)]
Set the publishing infra version to 3 (#59166)
Before this was not important because runtime was calling its own publishing tasks with the property explicitly set, but since the introduction of arcade powered source build this property is needed to avoid ArPow from defaulting to v2.
dotnet-bot [Wed, 15 Sep 2021 18:08:43 +0000 (18:08 +0000)]
Merge in 'release/6.0' changes
dotnet-bot [Wed, 15 Sep 2021 18:07:05 +0000 (18:07 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Sep 2021 18:05:47 +0000 (11:05 -0700)]
Add SetLastError to GdiPlus methods (#59151)
System.Drawing uses the last Win32 error in CheckErrorStatus to try to
guess at why a GdiPlus draw method failed and ignore some failures.
This was broken in .NETCore when SetLastError was removed from PINvokes.
Bring back SetLastError for all PInvokes that use CheckErrorStatus.
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
Omair Majid [Wed, 15 Sep 2021 18:05:20 +0000 (14:05 -0400)]
Don't force using the system libunwind for source-build (#58911)
Instead, use the runtime's normal detection logic to decide what to do.
Backport of https://github.com/dotnet/runtime/pull/58641 to release/6.0.
See: https://github.com/dotnet/source-build/issues/2408
github-actions[bot] [Wed, 15 Sep 2021 18:03:59 +0000 (11:03 -0700)]
[release/6.0] fix TLS 1.3 in WinHttpHandler (#59159)
* add W11 test queue
* move to release config
* move to x66
* fix tls13 detection
* disable failing EventLog tests
* Remove WIndows 11 from CI matrix
Co-authored-by: wfurt <tweinfurt@yahoo.com>
Co-authored-by: Jan Jahoda <jajahoda@microsoft.com>
dotnet-bot [Wed, 15 Sep 2021 17:49:57 +0000 (17:49 +0000)]
Merge in 'release/6.0' changes
github-actions[bot] [Wed, 15 Sep 2021 17:45:55 +0000 (10:45 -0700)]
[release/6.0] fix SendAsync from impersonificated context with default credentials (#59155)
* fix SendAsync from inpersonificated context and default credentials
* add missing file
* remove dead code
* feedback from review
* name cleanup
Co-authored-by: wfurt <tweinfurt@yahoo.com>
dotnet-bot [Wed, 15 Sep 2021 17:29:07 +0000 (17:29 +0000)]
Merge in 'release/6.0' changes
Viktor Hofer [Wed, 15 Sep 2021 17:26:08 +0000 (19:26 +0200)]
Avoid unnecessary deps in M.E.Logging.Abstractions (#59162)
Fixes https://github.com/dotnet/runtime/issues/59161
The System.Buffers and System.Memory packages are
dependencies of the net6.0 M.E.Logging.Abstractions
library even though these libraries are part of the
.NETCoreApp shared framework.
It's undesirable to have the dependencies in the graph
as these aren't built live anymore and are only serviced
on demand.
dotnet-bot [Wed, 15 Sep 2021 14:24:54 +0000 (14:24 +0000)]
Merge in 'release/6.0' changes
Eric Erhardt [Wed, 15 Sep 2021 14:20:07 +0000 (08:20 -0600)]
Multi-target Json and Logger Source Generators between Roslyn v3.11 and v4.0 (#58446) (#59074)
* Multi-target LoggerMessageGenerator between Roslyn v3.11 and v4.0
* Include a .targets file in NuGet packages which will select the correct analyzer assembly depending on which Roslyn version will be used to compile.
* Multi-target JsonSourceGenerator between Roslyn v3.11 and v4.0
* Fix restore
* Update NuGet package MSBuild logic to detect when SupportsRoslynComponentVersioning is not available, and use the lowest analyzer available.
* Handle non-SDK projects by running after ResolveNuGetPackageAssets
* Respond to PR feedback
- Name .cs and .csproj files with Roslyn in the name
- Upgrade to Roslyn 3.11 so IsExplicitlyNamedTupleElement API is available
- Fix some references to the test projects
- Fix incremental pack of the analyzer targets
dotnet-bot [Wed, 15 Sep 2021 14:14:31 +0000 (14:14 +0000)]
Merge in 'release/6.0' changes
Koundinya Veluri [Wed, 15 Sep 2021 14:08:56 +0000 (07:08 -0700)]
Harden native gate thread against affinity mask growth (#59132)
Hardened ThreadpoolMgr::GateThreadStart against the possibility that the observed group-local affinity mask contains set bits at positions higher than the total group-local CPU count that was captured during earlier initialization.
This fixes customer-reported crashes which have occurred on multi-group machines with heterogenous CPU counts across groups (but the same crash can probably also occur on single-group VMs if CPUs are hot-added and are then manually added to the process affinity mask).
dotnet-bot [Wed, 15 Sep 2021 13:26:20 +0000 (13:26 +0000)]
Merge in 'release/6.0' changes