Tomáš Rylek [Thu, 12 Aug 2021 13:54:17 +0000 (15:54 +0200)]
Add support for building just a subset of runtime tests (#57142)
This change adds four new options to the runtime test build command:
1) test <test project path relative to src\tests> - build just that
one test.
2) dir <directory relative to src\tests> - build all tests in the
directory.
3) tree <directory relative to src\tests> - build all tests in the
given subtree.
4) all - use clean rebuild (i.e. don't apply incrementalism)
when building the tests.
Thanks
Tomas
Adam Sitnik [Thu, 12 Aug 2021 11:19:48 +0000 (13:19 +0200)]
update Windows ARM build requirements (#57275)
* update Windows ARM build requirements
* Apply suggestions from code review
Co-authored-by: SingleAccretion <62474226+SingleAccretion@users.noreply.github.com>
Mansoor Saqib [Thu, 12 Aug 2021 10:32:33 +0000 (03:32 -0700)]
Add build check for System.Private.CoreLib.pdb before including it (#57161)
- Fixes build failure with /p:DebugType=embedded (#56998)
- Author of fix: @danmoseley
Jakob Botsch Nielsen [Thu, 12 Aug 2021 09:09:16 +0000 (11:09 +0200)]
Fix fgRemoveUnreachableBlocks to detect all changes (#57199)
When 'removing' a BBF_DONT_REMOVE block we change it to BBJ_THROW. After
this it is possible that other blocks become unreachable, so we should
keep looking for such blocks.
In #57061 that manifested in a case where the unreachable block did not
have SSA built for it, but downstream the compiler was relying on SSA
being built.
Fix #57061
Marie Píchová [Thu, 12 Aug 2021 08:35:18 +0000 (10:35 +0200)]
[HTTP/3] Flush sends buffered data (#57234)
HTTP/3 write stream will send buffered headers if flush is called.
Fixes #56969
Vlad Brezae [Thu, 12 Aug 2021 08:22:41 +0000 (11:22 +0300)]
[mono][jit] Fix clearing of LastError (#57127)
* [mono][jit] Fix clearing of LastError
The clearing was added as part of CEE_CALL and CEE_CALLVIRT opcodes instead of CEE_CALLI which is actually used for pinvoke calls.
* Disable test
We can't enable this test on wasm due to dynamic library lookup limitation
On android we seem to have some sort of issue with the runtime tests causing the pinvokes failing to be resolved
Geoff Kizer [Thu, 12 Aug 2021 05:58:49 +0000 (22:58 -0700)]
fix IPAddress equality comparison (#57250)
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Andrii Kurdiumov [Thu, 12 Aug 2021 04:02:13 +0000 (10:02 +0600)]
Do not perform relative code reloc on ARM in AOT (#57257)
Fixes https://github.com/dotnet/runtimelab/issues/1388
Kevin Jones [Thu, 12 Aug 2021 03:35:05 +0000 (23:35 -0400)]
Obsolete Rfc2898DeriveBytes.CryptDeriveKey (#57002)
* Obsolete Rfc2898DeriveBytes.CryptDeriveKey
* Apply suggestions from code review
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Takym (たかやま) [Thu, 12 Aug 2021 03:33:25 +0000 (12:33 +0900)]
`BigInteger`: made properties simple format. (#56821)
Caleb Cornett [Thu, 12 Aug 2021 03:31:57 +0000 (23:31 -0400)]
Fix C++ compile error in pal_io_common.h (#57188)
* Cast pal_io_common.h calloc call
This fixes a compilation error when compiling the header as C++.
* Style fix
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
Maryam Ariyan [Thu, 12 Aug 2021 02:51:33 +0000 (22:51 -0400)]
Fix DI regression with FactoryCallSite (#57155)
* Fix DI regression with FactoryCallSite
* - Remove event listener. rely on Debug.Fail
- Use existing mock types
* Apply PR feedback
* Undo remove unused using
* remove extra blank linke
Larry Ewing [Thu, 12 Aug 2021 01:10:32 +0000 (20:10 -0500)]
[wasm] Enable InteropServices on browser-wasm (#56676)
* Enable InteropServices tests on browser-wasm
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Koundinya Veluri [Thu, 12 Aug 2021 01:01:23 +0000 (18:01 -0700)]
Enable `EHCONT` and `CETCOMPAT` for some binaries on Windows (#56173)
* Enable `EHCONT` and `CETCOMPAT` for some binaries on Windows
- Followup to https://github.com/dotnet/runtime/pull/55942
- Intended to be merged into a PR that updates to use new PGO profile data collected with the above change
- Enabled `/guard:ehcont` as a linker option for EXEs and DLLs
- Enabled `/cetcompat` as a linker option for DLLs
Emmanuel André [Thu, 12 Aug 2021 00:59:40 +0000 (02:59 +0200)]
Use IValueTaskSource in PipeStream on Windows (#52695)
* Use IValueTaskSource in PipeStream on Windows
* Revise implementation of IValueTaskSources
Better match implementation in RandomAccess
Co-authored-by: Stephen Toub <stoub@microsoft.com>
David Cantú [Thu, 12 Aug 2021 00:18:30 +0000 (17:18 -0700)]
Avoid NullRef if ResolveLinkTarget returns null (#57235)
Tomas Weinfurt [Thu, 12 Aug 2021 00:11:59 +0000 (17:11 -0700)]
improve resiliency of quic test (#57020)
* improve resiliency of quic test
* feedback from review
* remove debug counters
Jose Perez Rodriguez [Thu, 12 Aug 2021 00:06:26 +0000 (17:06 -0700)]
Ensure Category attribute works well when UseSystemResourceKeys feature is turned on (#57227)
* Ensure Category attribute works well when UseSystemResourceKeys feature is turned on
* PR feedback and fix unit test failures
Layomi Akinrinade [Wed, 11 Aug 2021 23:38:40 +0000 (16:38 -0700)]
Fix JSON src-gen errors when context types are not in namespaces (#57183)
Mike McLaughlin [Wed, 11 Aug 2021 23:34:18 +0000 (16:34 -0700)]
Fixed TypeLoadException when inspecting state machine attribute updated by ENC (#57165)
* Fixed TypeLoadException when inspecting state machine attribute updated by EnC
Issue: https://github.com/dotnet/runtime/issues/54929
Use Module::ApplyMetaData() in EditAndContinueModule::ApplyEditAndContinue to update the AvailableClassHash for reflection, etc. ensure that the new TypeRefs, AssemblyRefs and MethodDefs can be stored.
Kevin Jones [Wed, 11 Aug 2021 23:32:08 +0000 (19:32 -0400)]
Obsolete System.Security.SecurityContext for NET6.
Adam Sitnik [Wed, 11 Aug 2021 23:06:12 +0000 (01:06 +0200)]
when async operation fails with ERROR_OPERATION_ABORTED, we should ignore numBytes that can be != 0 (#57229)
Kunal Pathak [Wed, 11 Aug 2021 22:02:07 +0000 (15:02 -0700)]
Spmi replay pipeline (#56871)
* Add superpmi-replay pipeline file
* Add superpmi-replay-job.yml that downloads collection
* Moved superpmi-replay-job to right location
* make sure to have spmi collection after jit build
* annotate displayName with windows/OSX
* Make osGroup=windows
* Add helixType (if that matters)
* Add some more variables
* skip restore internal tools
* Just use build-jit-job directly
* Hardcode windows.x64.checked
* Add -download_all -download_raw options to superpmi.py
* Seperate 2 jobs
* Fix Upload artifacts
* Fix uploadAsArtifacts
* Fix to uploadAsArtifacts
* comment upload to azure storage temporarily
* Set variables inside superpmi-replay-job
* Entire pipeline
* minor fix
* Add some logging
* Fix the path
* fix file names and partition ids
* add sample download on helix machine
* fix helix-correlation-payload
* Download specific build
* Try to fix correlation payload directory
* Do not run windows x86 for now
* Log directory
* walktree instead of dir
* fix the bug
* Add workitem directory as Payload
* TEMP: Skip downloading collection during setup
* fix core_root
* Make download happen on helix
* Add windows x86
* Use -target_os and pass 1 item to helix
* Add some logging, have different work item ID
* fix the superpmi.log upload
* Fix the log location
- Also include Linux_x64
* one more fix to log_directory
* try to fix download results
* Move the matrix to proj file
* fix superpmi-replay.proj
* Cleanup
* Go back to download specific
* WorkTimeout for 5 hours
* Remove timeoutInMinutes
* fix errors related to logging
* return failed run result
* fix the appending logic
* Remove download-all and download-raw and instead add -no-progres
* do not show download progress, try fixing download file
* TO REVERT: Just try benchmark on windows x64/x86
* Use uploadAsArtifacts in build-jit-job
* Create dummy.txt in workitem directory
* create workitem_directory
* Build clrjit
* fix build-jit-job
* add dependsOn
* print params
* TO REVERT: Just run jitbuild win-x64
* minor
* move under jobParameters
* Cleanup
* review feedback
Viktor Hofer [Wed, 11 Aug 2021 22:00:50 +0000 (00:00 +0200)]
Define dependencies for aspnetcore transport pkg (#57228)
* Define dependencies for aspnetcore transport pkg
The AspNetCoreApp internal transport packages relies on a set of
projects already being built. This was working well before when
the transport package was built after src.proj run.
Adding dependencies via ProjectReferences to the transport package
so that those are always built in before.
In a subsequent change, the output from these P2Ps should be used
instead of relying on binplacing.
Tomas Weinfurt [Wed, 11 Aug 2021 22:00:00 +0000 (15:00 -0700)]
disable parallel runs for MsQuic test (#57190)
Eric Erhardt [Wed, 11 Aug 2021 20:36:46 +0000 (15:36 -0500)]
Annotate DebuggerVisualizerAttribute to be linker safe (#57082)
* Annotate DebuggerVisualizerAttribute to be linker safe
Fix #49055
Steve Molloy [Wed, 11 Aug 2021 20:22:18 +0000 (13:22 -0700)]
SGen tests should compare against expectation not previous. (#56877)
* SGen tests should compare against expectation, not previous.
* Use RoslynCodeTask instead of old fashioned task embedded in SerializableAssembly.
Mitchell Hwang [Wed, 11 Aug 2021 19:33:26 +0000 (15:33 -0400)]
[libraries][mobile] Skip TermInfo tests on Android, iOS, MacCatalyst, and tvOS (#57220)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Julie Lee [Wed, 11 Aug 2021 17:41:32 +0000 (10:41 -0700)]
Added some more test cases (#56856)
Co-authored-by: Bruce Forstall <brucefo@microsoft.com>
dotnet-maestro[bot] [Wed, 11 Aug 2021 17:11:43 +0000 (19:11 +0200)]
[main] Update dependencies from 8 repositories (#56974)
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210805.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.2-alpha.0.21404.1 -> To Version 1.0.2-alpha.0.21405.1
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20210805.1
Microsoft.CodeAnalysis.NetAnalyzers
From Version 6.0.0-rc1.21378.3 -> To Version 6.0.0-rc1.21405.1
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210806.5
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21379.4 -> To Version 1.0.0-prerelease.21406.5
* Update dependencies from https://github.com/dotnet/arcade build
20210806.6
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , 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.21405.3 -> To Version 6.0.0-beta.21406.6
* Try disabling the aspnetcore StaticWebAssetsEnabled setting
* Disable more StaticWebAssets
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210806.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.2-alpha.0.21404.1 -> To Version 1.0.2-alpha.0.21406.1
* Update dependencies from https://github.com/dotnet/roslyn-analyzers build
20210806.1
Microsoft.CodeAnalysis.NetAnalyzers
From Version 6.0.0-rc1.21378.3 -> To Version 6.0.0-rc1.21406.1
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210807.6
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21379.4 -> To Version 1.0.0-prerelease.21407.6
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210807.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.2-alpha.0.21406.1 -> To Version 1.0.2-alpha.0.21407.1
* Update dependencies from https://github.com/dotnet/runtime build
20210806.5
Microsoft.NETCore.DotNetHost , Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Text.Json , System.Runtime.CompilerServices.Unsafe
From Version 6.0.0-rc.1.21401.3 -> To Version 6.0.0-rc.1.21406.5
* Update dependencies from https://github.com/dotnet/emsdk build
20210809.1
Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
From Version 6.0.0-rc.1.21378.1 -> To Version 6.0.0-rc.1.21409.1
* Update dependencies from https://github.com/dotnet/emsdk build
20210809.2
Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
From Version 6.0.0-rc.1.21409.1 -> To Version 6.0.0-rc.1.21409.2
* Don't upgrade SDK
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210809.2
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21379.4 -> To Version 1.0.0-prerelease.21409.2
* Update dependencies from https://github.com/dotnet/icu build
20210809.1
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-rc.1.21402.1 -> To Version 6.0.0-rc.1.21409.1
* Update dependencies from https://github.com/dotnet/llvm-project build
20210809.1
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.21402.1 -> To Version 11.1.0-alpha.1.21409.1
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210809.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.2-alpha.0.21404.1 -> To Version 1.0.2-alpha.0.21409.1
* Update dependencies from https://github.com/dotnet/arcade build
20210806.6
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , 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.21405.3 -> To Version 6.0.0-beta.21406.6
* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build
20210810.2
optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
From Version 1.0.0-prerelease.21379.4 -> To Version 1.0.0-prerelease.21410.2
* Update dependencies from https://github.com/dotnet/icu build
20210810.2
Microsoft.NETCore.Runtime.ICU.Transport
From Version 6.0.0-rc.1.21402.1 -> To Version 6.0.0-rc.1.21410.2
* Update dependencies from https://github.com/dotnet/hotreload-utils build
20210810.1
Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
From Version 1.0.2-alpha.0.21404.1 -> To Version 1.0.2-alpha.0.21410.1
* Update dependencies from https://github.com/dotnet/runtime build
20210811.3
Microsoft.NETCore.ILAsm , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.DotNetHost , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Runtime.CompilerServices.Unsafe , System.Text.Json
From Version 6.0.0-rc.1.21401.3 -> To Version 6.0.0-rc.1.21411.3
* Update Versions.props
* Update Version.Details.xml
* Update dependencies from https://github.com/dotnet/arcade build
20210806.6
Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.Build.Tasks.Workloads , 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.21405.3 -> To Version 6.0.0-beta.21406.6
* Update global.json
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Sergey Andreenko [Wed, 11 Aug 2021 16:46:59 +0000 (09:46 -0700)]
disable TestConvertFromIntegral on arm with stress. (#57194)
Geoff Kizer [Wed, 11 Aug 2021 16:40:56 +0000 (09:40 -0700)]
fix issue where HTTP/1.1 connections were not being created asynchronously (#56966)
* fix issue where HTTP/1.1 connections were not being created asynchronously
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Elinor Fung [Wed, 11 Aug 2021 16:25:18 +0000 (09:25 -0700)]
Fix RuntimeTypeHandle.IsComObject check for __ComObject type (#57171)
Fan Yang [Wed, 11 Aug 2021 16:13:29 +0000 (12:13 -0400)]
[Mono] Update instructions for running runtime tests on Android (#57166)
* Update instructions for running runtime tests on Android
* Update docs/workflow/testing/mono/testing.md
Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
Co-authored-by: Juan Hoyos <juan.hoyos@microsoft.com>
Jose Perez Rodriguez [Wed, 11 Aug 2021 16:10:30 +0000 (09:10 -0700)]
Clean up rd.xml now that DCS has been annotated (#57013)
* Clean up rd.xml now that DCS has been annotated
* Adding annotation to keep KeyValue.GetKeyValuePair method
* Use GetMemberWithSameMetadataDefinitionAs instead
* fix typo in the type being kept
* Save constructor metadata as a workaround as opposed to using DynamicDependency
LateApexEarlySpeed [Wed, 11 Aug 2021 15:16:07 +0000 (23:16 +0800)]
Improve set_position to reuse buffer. (#54991)
Co-authored-by: Jeff Handley <jeff.handley@microsoft.com>
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Jonathan Peppers [Wed, 11 Aug 2021 14:56:12 +0000 (09:56 -0500)]
[MonoAOTCompiler] accept more than one AotProfilePath (#57111)
* [MonoAOTCompiler] accept more than one AotProfilePath
Fixes part of: https://github.com/dotnet/runtime/issues/56989
The Android workload needs to be able to pass in multiple AOT profiles
to the `<MonoAOTCompiler/>` MSBuild task. We plan on shipping a
default profile in the Android workload, as well as the MAUI workload.
.NET MAUI would have two profiles when using profiled AOT.
Adding `profile-only`, and then multiple `profile` arguments is
currently working in legacy Xamarin.Android:
https://github.com/xamarin/xamarin-android/blob/
77895e2a03ed91fdf3729cde54501f91e7d1a36f/src/Xamarin.Android.Build.Tasks/Tasks/GetAotArguments.cs#L256-L260
Either a single property or item group can be passed in for
`AotProfilePath` now. I avoided changing the name, as it looks like it
might be used by wasm.
* Update src/tasks/AotCompilerTask/MonoAOTCompiler.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
JoshLove-msft [Wed, 11 Aug 2021 14:23:01 +0000 (07:23 -0700)]
Improve docs for BinaryData.ToString() (#56325)
* Improve docs for BinaryData.ToString()
* Apply suggestions from code review
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Viktor Hofer [Wed, 11 Aug 2021 10:50:46 +0000 (12:50 +0200)]
Make sure rid specific libs projs get packaged (#57193)
* Make sure rid specific libs projs get packaged
RID specific runtime.*.runtime.native.System.IO.Ports projects weren't
packaged because the GeneratePackageOnBuild property wasn't set to true
for them. The property was only true during an allconfigurations build.
As these projects are only built outside of an allconfigurations build,
the GeneratePackageOnBuild property needs to account for such as well.
Also updating the NoTargets Sdk to clean the rid specific package up.
Moving the GeneratePackageOnBuild logic into a props file and set it to
false during servicing (or runtimelab) so that devs can set the property
during servicing directly in the project file if a project should be
packaged.
* Remove the GeneratePackage property
That property was intended to enabled incremental servicing but with
now using the NuGet Pack task we can just make use of the publicl
available GeneratePackageOnBuild property.
* Fix IsPackable setting
Eirik Tsarpalis [Wed, 11 Aug 2021 08:42:33 +0000 (11:42 +0300)]
Fix regression in dictionary key serialization when registering custom primitive converters. (#57138)
* Fixes regression in dictionary key serialization when registering custom primitive converters.
* reinstate debug assertion
* add test case for JsonTypeInfo overloads
* update method names
* fix sourcegen test
Vlad Brezae [Wed, 11 Aug 2021 08:40:47 +0000 (11:40 +0300)]
[interp] Add wrapper for calli to native pointer (#57119)
If the signature has suppress gc transition attribute, we don't emit the wrapper and call native code directly.
Adam Sitnik [Wed, 11 Aug 2021 08:01:26 +0000 (10:01 +0200)]
Annotate unsupported APIs in System.Diagnostics.Process (#57120)
Mitchell Hwang [Wed, 11 Aug 2021 07:38:58 +0000 (03:38 -0400)]
[MacCatalyst][libraries] Update MacCatalyst as Case Preserving for tests (#57167)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
t-mustafin [Wed, 11 Aug 2021 05:43:31 +0000 (08:43 +0300)]
Callconv matching in PassingBy{Out,Ref}Test (#57075)
Signed-off-by: Timur Mustafin <t.mustafin@partner.samsung.com>
Andrew Au [Wed, 11 Aug 2021 05:15:44 +0000 (22:15 -0700)]
Support NoGC for regions (#54085)
Tomas Weinfurt [Wed, 11 Aug 2021 04:09:47 +0000 (21:09 -0700)]
add timeout handling to QuicStream (#56060)
* add timeout handling to QuicStream
* feedback from review
* fix bad resolve
* feedback from review
Juan Hoyos [Wed, 11 Aug 2021 02:40:09 +0000 (19:40 -0700)]
Fix perms on diagnostic files (#57177)
John Call [Wed, 11 Aug 2021 02:15:18 +0000 (19:15 -0700)]
Optimize string.join for IList<string> with char separator (#56857)
* Improve string join for char separator
* Feedback
Stephen Toub [Wed, 11 Aug 2021 02:14:13 +0000 (22:14 -0400)]
Refactor ManagedWebSocket to avoid forcing Task allocations for ReceiveAsync (#56282)
* Refactor ManagedWebSocket to avoid forcing Task allocations for ReceiveAsync
The ManagedWebSocket implementation today supports CloseAsyncs being issued concurrently with ReceiveAsyncs, even though CloseAsync needs to issue receives (this allowance was carried over from the .NET Framework implementation). Currently the implementation does that by storing the last ReceiveAsync task and awaiting it in CloseAsync if there is one, but that means multiple parties may try to await the same task multiple times (the original caller of ReceiveAsync and CloseAsync), which means we can't just use a ValueTask. So today asynchronously completing ReceiveAsyncs always use AsTask to create a Task from the returned ValueTask. This isn't actually an additional task allocation today, as the async ValueTask builder will create a Task for the asynchronously completing operation, and then AsTask will just return that (and when it completes synchronously, there's extra code to substitute a singleton). But once we switch to using the new pooling builder, that's no longer the case.
This PR uses an async lock as part of the ReceiveAsync implementation, with the existing async method awaiting entering that lock. CloseAsync is then rewritten to be in terms of calling ReceiveAsync in a loop. This also lets us remove the existing Monitor used for synchronously coordinating state between these operations, as the async lock serves that purpose as well. Rather than using a SemaphoreSlim, since we expect zero contention in the common case, we use a simple AsyncMutex that's optimized for the zero contention case, using a single interlocked to acquire and a single interlocked to release the lock.
* Fix misleading comment
Mike McLaughlin [Wed, 11 Aug 2021 01:47:23 +0000 (18:47 -0700)]
Fix wrong line info when debugging CoreLib in windbg (#57176)
Issue: https://github.com/dotnet/runtime/issues/52774
Changed couple of the DAC functions used to use the code version manager to
get the properly native code start address.
Adam Sitnik [Wed, 11 Aug 2021 01:22:15 +0000 (03:22 +0200)]
PhysicalFileProvider: Remove second try on GetFileLinkTargetLastWriteTimeUtc (#57136)
* return the value from 2nd try
* Do not attempt a second try and just capture the FileNotFoundException
* Update src/libraries/Microsoft.Extensions.FileProviders.Physical/src/Internal/FileSystemInfoHelper.cs
Co-authored-by: David Cantu <dacantu@microsoft.com>
Co-authored-by: Dan Moseley <danmose@microsoft.com>
Dan Moseley [Wed, 11 Aug 2021 00:02:11 +0000 (18:02 -0600)]
Disable 2 memory heavy array tests for 2 distros (#57108)
* Disable 2 Array tests on 2 distros
* Update string
Layomi Akinrinade [Tue, 10 Aug 2021 23:44:47 +0000 (16:44 -0700)]
Clean up JSON src-gen known-type resolution (#57092)
Juan Hoyos [Tue, 10 Aug 2021 23:38:49 +0000 (16:38 -0700)]
Unblock publishing symbols with exclusion file. (#57162)
Andrew Au [Tue, 10 Aug 2021 22:41:38 +0000 (15:41 -0700)]
Avoid dereferencing target pointer (#57164)
Elinor Fung [Tue, 10 Aug 2021 21:58:55 +0000 (14:58 -0700)]
Pass runtime flavor args when copying native test components in CI (#57073)
* Pass runtime flavor args when copying native test components in CI
* Make test build script pass RuntimeFlavor property
David Wengier [Tue, 10 Aug 2021 21:20:03 +0000 (07:20 +1000)]
Add runtime capability to allow updating parameters (#56599)
Kunal Pathak [Tue, 10 Aug 2021 21:15:28 +0000 (14:15 -0700)]
Update helix version (#57084)
Stephen Halter [Tue, 10 Aug 2021 21:03:33 +0000 (14:03 -0700)]
Get better assert failure in flaky FlushAsync_ThrowsIfWriterReaderWithException test (#57081)
dotnet-maestro[bot] [Tue, 10 Aug 2021 20:57:33 +0000 (15:57 -0500)]
Update dependencies from https://github.com/mono/linker build
20210809.3 (#57124)
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21405.1 -> To Version 6.0.100-preview.6.21409.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Stephen Toub [Tue, 10 Aug 2021 20:15:57 +0000 (16:15 -0400)]
Switch to using globalconfig instead of ruleset for analyzer configuration (#57144)
Jeremy Koritzinsky [Tue, 10 Aug 2021 19:28:59 +0000 (14:28 -0500)]
Fix COM test failures on Windows Nano Server (#57148)
* Disable ComWrappers activation tests when running on Windows Nano Server since they require reg-free COM.
* Run the test on a separate STA thread so we can get far enough in Main to detect running on nano server before we use the STA.
Stephen Toub [Tue, 10 Aug 2021 19:11:53 +0000 (15:11 -0400)]
Delete dead System.Net.Connections code (#57129)
This never shipped, and won't in .NET 6. If we decide to bring it back for a future release, it'll involve changes, and we can get whatever base code we want to start with from git history. We don't need all of this to end up in an LTS branch.
Charles Stoner [Tue, 10 Aug 2021 18:46:00 +0000 (11:46 -0700)]
Prevent invoking property 'init' accessor from Visual Basic late binder (#57025)
Andy Ayers [Tue, 10 Aug 2021 18:41:13 +0000 (11:41 -0700)]
JIT: fix gc type for PUTARG_SPLIT codegen (#57099)
If we need to swap registers during codegen for PUTARG_SPLIT, make sure
we use the right GC type.
Fixes #13127.
Buyaa Namnan [Tue, 10 Aug 2021 18:21:40 +0000 (11:21 -0700)]
Update the runtime code where iOS/MacCatalyst logic is currently used to benefit from the updated analyzer behavior (#57072)
* Update the runtime code where iOS/MacCatalyst logic is currently used to benefit from the updated analyzer behavior
Eric Erhardt [Tue, 10 Aug 2021 15:18:28 +0000 (10:18 -0500)]
Don't log an error when a BackgroundService is canceled due to the host being stopped. (#57005)
* Don't log an error when a BackgroundService is canceled due to the host being stopped.
Fix #56032
* Add volatile to stopping field.
* Convert HostTests to use a logger instead of depending on EventSource.
* Make it obvious the test is using the default worker template
Koundinya Veluri [Tue, 10 Aug 2021 14:55:03 +0000 (07:55 -0700)]
Check `EventSource.IsSupported` in code paths specific to thread pool worker tracking (#56862)
Check `EventSource.IsSupported` in code paths specific to thread pool worker tracking
Fixes https://github.com/dotnet/runtime/issues/47871
Aleksey Kliger (λgeek) [Tue, 10 Aug 2021 14:51:14 +0000 (10:51 -0400)]
generic math: Don't include System.Runtime reference assembly when publishing (#57071)
System.Runtime.Experimental.csproj builds a reference assembly called System.Runtime.dll that should be used when compiling, but should not be included when packaging. For normal out of tree projects this happens because the System.Runtime.Experimental.nupkg makes it evident that <PackageReference Include="System.RuntimeExperimental" /> only provides reference assembly assets. But in-tree for <ProjectReference> we have to be explicit.
Fixes https://github.com/dotnet/runtime/issues/55823
Fixes https://github.com/dotnet/runtime/issues/55767
Fixes https://github.com/dotnet/runtime/issues/56836
David Cantú [Tue, 10 Aug 2021 14:37:24 +0000 (07:37 -0700)]
Handle FileNotFound for symlinks when using polling (#56915)
* Handle FileNotFound for symlinks when using polling
* Re-enable tests
* Use CTS instead of Task.Wait(TimeSpan) to fix issues in browser.
Mitchell Hwang [Tue, 10 Aug 2021 14:21:44 +0000 (10:21 -0400)]
[libraries][iOS][tvOS] Reenable System.Resource.ResourceManager and System.Collections.Immutable tests (#56994)
* [libraries][iOS][tvOS] Reenable System.Resorce.ResourceManager.Tests tests
* [libraries][iOS][tvOS] Remove ActiveIssue from test with no test data
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Dan Moseley [Tue, 10 Aug 2021 13:47:40 +0000 (07:47 -0600)]
Fix ServiceController test (#57116)
Dan Moseley [Tue, 10 Aug 2021 13:18:37 +0000 (07:18 -0600)]
Disable GetBitLengthLarge for 32 bit due to OOM (#57110)
Viktor Hofer [Tue, 10 Aug 2021 12:38:45 +0000 (14:38 +0200)]
Fix analyzer, docs file packaging and don't overbuild runtime.native IO.Ports packages. (#57118)
* Fix analyzer and docs file packaging
This commit fixes analyzers which were dropped from the package during
the clean-up of pkgprojs and missing documentation files.
1. Analyzers were dropped from the package because the BeforePack
hook wasn't respected. This happens when the NuGet Pack nuget package
is referenced which then gets imported before the packaging.targets
file. The BeforePack property needs to be set in a props file if
NuGet's targets file isn't used from the SDK but from its package.
2. Documentation files were dropped as the
DefaultAllowedOutputExtensionsInPackageBuildOutputFolder property
didn't include the .xml extension.
* Don't overbuild runtime native IO packages
Layomi Akinrinade [Tue, 10 Aug 2021 11:15:55 +0000 (04:15 -0700)]
Re-add S.T.J.SourceGeneration.UnitTests to STJ sln (#57080)
* Re-add S.T.J.SourceGeneration.UnitTests to STJ sln
* Update slngen.template.proj
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Jakob Botsch Nielsen [Tue, 10 Aug 2021 09:48:28 +0000 (11:48 +0200)]
Apply redundant branch optimizations in post-order of dominators (#57074)
In #56979 we end up with outdated dominators and make a wrong decision
based on it. To avoid this situation, visit basic blocks in post-order
of the dominator tree to ensure that we have up-to-date dominators for
each basic block.
Fix #56979
David Karlaš [Tue, 10 Aug 2021 08:12:13 +0000 (10:12 +0200)]
Fix performance for `File.GetLastWriteTimeUtc` on Unix (#53070)
All this changes are to internal methods which are later called by other public methods which correctly call `ToLocalTime` for local time "overloads".
Performance hit is most visible for application which doesn't need to load local timezone information which takes ~30ms on 2016 MacBook Pro.
Co-authored-by: Jeff Handley <jeff.handley@microsoft.com>
David Wrighton [Tue, 10 Aug 2021 08:04:09 +0000 (01:04 -0700)]
Fix ThreadLocal tracking behavior (#56956)
- Before this change the trackAllValues behavior for ThreadLocal<SomeParticularType> was defined by the first instance of thread local to have its value set on the thread
- This could lead to unpredictable memory leaks (where the value was improperly tracked even though it wasn't supposed to be) This reproduces as a memory leak with no other observable behavior
- Or data loss, where the Values collection was missing entries.
- Change the model so that ThreadLocal<T> trackAllValues behavior is properly defined by the exact ThreadLocal<T> instance in use
- Implement by keeping track of the track all changes behavior within the IdManager
Fixes #55796
Viktor Hofer [Tue, 10 Aug 2021 05:19:06 +0000 (07:19 +0200)]
Automatically generate .NETStandard compat errors (#57057)
* Automatically generate .NETStandard compat errors
Before this change, a project had to explicitly add a
NETStandardCompatError item to declare that a given tfm range
shouldn't be supported when packaging.
Automate this logic so that projects don't need to specify the item
themselves anymore. Instead condition the NETStandardCompatError target
calcuation logic on the existence of both a .NETStandard and a
.NETCoreApp tfm.
* Update Directory.Build.targets
* Update packaging.targets
* Update eng/packaging.targets
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Tomas Weinfurt [Tue, 10 Aug 2021 04:38:20 +0000 (21:38 -0700)]
add more validation to quic config (#56923)
Dan Moseley [Tue, 10 Aug 2021 02:14:45 +0000 (20:14 -0600)]
Fix half bug (#57047)
* Fix half bug
* parens
Jan Kotas [Tue, 10 Aug 2021 01:19:55 +0000 (03:19 +0200)]
Remove unused System.Reflection.Emit leftovers (#57069)
Stephen Toub [Tue, 10 Aug 2021 00:49:34 +0000 (20:49 -0400)]
Delete old AssemblyExtensions.ApplyUpdate/GetApplyUpdateCapabilities (#56511)
* Delete old AssemblyExtensions.ApplyUpdate/GetApplyUpdateCapabilities
* Fix a few missed uses in mono tests
Sourabh Shirhatti [Tue, 10 Aug 2021 00:19:43 +0000 (17:19 -0700)]
Fix typo in CreateDefaultPropagator doc comment (#57103)
Mateo Torres-Ruiz [Tue, 10 Aug 2021 00:11:56 +0000 (17:11 -0700)]
Improve GUI error dialog when no runtime is installed (#57089)
* Add architecture and runtime version to error dialog
* PR feedback
Elinor Fung [Mon, 9 Aug 2021 23:53:46 +0000 (16:53 -0700)]
Clean up ComWrappers tests (#57015)
* Remove unnecessary defines
* Clean up managed ComWrappers tests
Steve Pfister [Mon, 9 Aug 2021 23:22:38 +0000 (19:22 -0400)]
Workaround exception filter linker issues with Http3RequestStream (#57011)
The type of exception filters used cause the linker to generate invalid IL when building the AOT functional tests for iOS. This in turn causes the mono aot compiler to issue a warning about the invalid IL AND fails the build.
Addresses #57010 and unblocks failing builds on CI
Stephen Toub [Mon, 9 Aug 2021 23:16:46 +0000 (19:16 -0400)]
Fix auto-atomicity for loops around required one/notone/set loops (#56735)
Given an expression like `(?:a{2,3}){2}`, we currently erroneously convert that to `(?>a{2,3}){2}`, i.e. making the inner loop atomic, even though that then causes this to fail to match `aaaa` when it should match it (it fails because the first iteration will atomically match `aaa` and thus won't given any back, and then the next iteration will fail to match at least two `a`s).
The simple fix is in FindLastExpressionInLoopForAutoAtomic, removing the special-case that tries to make the body of a loop that's a one/notone/set loop atomic. There are likely special-cases of this special-case that are still valid, but I'm not convinced it's worth trying to maintain and risk other gaps.
Prashanth Govindarajan [Mon, 9 Aug 2021 22:48:40 +0000 (15:48 -0700)]
Update RequiresPreviewFeatures attribute (#56938)
* Add constructors and Message, URL properties
* Update attribute and tests
* sq
* Address feedback
* Just adding docs
Vlad Brezae [Mon, 9 Aug 2021 22:02:27 +0000 (01:02 +0300)]
[interp] Add IL seq points (#56137)
* [interp] Generate il seq points
Interpreter was generating only sdb seq points for implementing debugger support. Add also il seq points which are used for stack traces when debugging information is not present. We add IL seq points in locations where IL stack is empty, same as JIT.
* [interp] Use interp_prev_ins in more places
It skips over NOPs
* [tests] Disable all tests in readytorun folder on mono
We were disabling some of them all over the place. They shouldn'd be running on mono.
Vlad Brezae [Mon, 9 Aug 2021 22:00:57 +0000 (01:00 +0300)]
[mono] Fix conversions from float to integer (#57048)
* [interp] Fix conversions from float to integer
.un prefix is ignored for these conversions
* [mini] Fix conversions from float to integer
.un prefix is ignored for these conversions
* Re-enable test
Jeremy Koritzinsky [Mon, 9 Aug 2021 20:36:42 +0000 (15:36 -0500)]
Recognize VS2022 with CMake (#57063)
Fixes #57062
Jeremy Koritzinsky [Mon, 9 Aug 2021 20:36:13 +0000 (15:36 -0500)]
Fix building CoreCLR for x86 with the Windows 10.0.20348.0 SDK (#57067)
The SDK now defines CONTEXT_UNWOUND_TO_CALL in more cases, so we get a macro redefinition error. Since the SDK defines it to the same value as we do, just skip our definition if it's already defined.
David Wrighton [Mon, 9 Aug 2021 19:42:06 +0000 (12:42 -0700)]
MonitorEnter test needs to handle the case of the threadpool cleaning up other threads (#57008)
* MonitorEnter test needs to handle the case of the threadpool cleaning up other threads
- On rare gcstress test occasions there can a thread freed after allocating the 1024 threads but before the highThread is allocated
* Fix comment
Dan Moseley [Mon, 9 Aug 2021 18:58:01 +0000 (12:58 -0600)]
More JSON xml updates (#57022)
Anton Lapounov [Mon, 9 Aug 2021 17:50:21 +0000 (10:50 -0700)]
Do not run crossgen2 under GC stress in tests (#56949)
Mitchell Hwang [Mon, 9 Aug 2021 17:40:45 +0000 (13:40 -0400)]
[libraries][Android] Remove ActiveIssue from BinaryFormetter dependent System.Collections test (#56985)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Mitchell Hwang [Mon, 9 Aug 2021 17:33:47 +0000 (13:33 -0400)]
[libraries][Android] Reenable System.Collections.Immutable Tests (#56988)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Jakob Botsch Nielsen [Mon, 9 Aug 2021 17:20:39 +0000 (19:20 +0200)]
Fix missing offset in contained BITCAST for STORE_LCL_FLD (#57059)
Viktor Hofer [Mon, 9 Aug 2021 17:20:11 +0000 (19:20 +0200)]
Strong name key id cleanup and pkg testing move (#57044)
* Move src/libraries/pkg/test to src/libraries/testPackages
* Remove default StrongNameKeyId Open properties