platform/upstream/dotnet/runtime.git
3 years agoAdditional Diagnostics in Dependency Injection (#56809)
Eric Erhardt [Sat, 7 Aug 2021 15:21:54 +0000 (10:21 -0500)]
Additional Diagnostics in Dependency Injection (#56809)

* Additional Diagnostics in Dependency Injection

Log events when a ServiceProvider is created:

* How many singleton, scoped, transient services?
* Log the list of registrations

Fix #56313

* Add ServiceProvider HashCode to all events.

* Write ServiceProvider information when DependencyInjectionEventSource becomes enabled.

This allows for listeners to attach to a process after it is running, and get the DI information.

* Update new events to use Informational level and to have a Keyword.

* Switch to use WeakReference when holding on to ServiceProviders in DependencyInjectionEventSource.

3 years ago[wasm] Redesign of managed objects marshaling and lifecycle (#56538)
Pavel Savara [Sat, 7 Aug 2021 06:06:48 +0000 (08:06 +0200)]
[wasm] Redesign of managed objects marshaling and lifecycle (#56538)

file cycle of JS owned C# instances is driven by FinalizationRegistry

- got rid of Runtime._weakDelegateTable and Runtime._rawToJS
- got rid of JSObject.WeakRawObject and JSObject.RawObject
- GCHandle instead of JSObject double proxy for plain managed ref types
- GCHandle instead of int sequence for delegates + redesign of invocation
- GCHandle for task + redesign of invocation
- improved in-flight retention of thenable/promise and Task
- explicitly delegate type of parameter for EventListener
- moved and renamed some binding functions
- renamed all handles to jsHandle or gcHandle as appropriate
- removed jsHandle math
- cleanup of unused functions
- improved error messages for invalid handles
- more unit tests

3 years agoFixes for text-based PGO (#56986)
Andy Ayers [Sat, 7 Aug 2021 00:52:39 +0000 (17:52 -0700)]
Fixes for text-based PGO (#56986)

Fix missing indirection when reading in text-based PGO data.

Prioritize reading text-based PGO over dynamic or static PGO data, so that we
can use text to provide a fixed set of PGO data when trying to isolate bugs.

In the jit, give text-based PGO data the same trust level we give to dynamic
PGO data.

3 years agoSgen: Added 'default-namespace' argument (#46500)
Tal Aloni [Fri, 6 Aug 2021 22:48:07 +0000 (01:48 +0300)]
Sgen: Added 'default-namespace' argument (#46500)

* Sgen: Added an optional 'default-namespace' argument

The .NET runtime support loading pre-generated assemblies according to both the type & defaultNamespace when creating an XmlSerializer instance,
Given that, it is extremely useful to have the ability to generate an assembly for different defaultNamespace.

* Added defaultNamespace argument to XmlReflectionImporter

* Prevent setting default-namespace twice

* Added missing using statement

3 years agoFixes #56930 (#57000)
Egor Chesakov [Fri, 6 Aug 2021 22:19:51 +0000 (15:19 -0700)]
Fixes #56930 (#57000)

* Don't eliminate store for the following sequence of instructions
```
ldr wzr, [addrReg, #immOff]
str wzr, [addrReg, #immOff]
```

* Add regression test for https://github.com/dotnet/runtime/issues/56930

3 years agoDisable test failing in .net framework (#56869)
Buyaa Namnan [Fri, 6 Aug 2021 22:17:56 +0000 (15:17 -0700)]
Disable test failing in .net framework (#56869)

* Disable test failing in .net framework

3 years agoChange IOptionsSnapshot to reuse options instances across scopes (#56271)
Nino Floris [Fri, 6 Aug 2021 21:51:45 +0000 (23:51 +0200)]
Change IOptionsSnapshot to reuse options instances across scopes (#56271)

* Change IOptionsSnapshot to reuse options instances across scopes

* Improve snapshot perf for unnamed option and delay dictionary alloc

Co-authored-by: Kahbazi <akahbazi@gmail.com>
Co-authored-by: Kahbazi <akahbazi@gmail.com>
3 years agoAllow Multiple EventSources with same name (GUID) (#56873)
John Salem [Fri, 6 Aug 2021 21:03:26 +0000 (14:03 -0700)]
Allow Multiple EventSources with same name (GUID) (#56873)

3 years agoFix contract violation in debugger func eval (#56933)
David Wrighton [Fri, 6 Aug 2021 20:23:26 +0000 (13:23 -0700)]
Fix contract violation in debugger func eval (#56933)

`DebuggerEval::DebuggerEval` is called from `Debugger::FuncEvalSetup` which is a NOTHROW function. As the `GetInteropSafeExecutableHeap` and associated `Alloc` functions can fail with an OOM, move the allocation out of the constructor to the caller where we can safely return `E_OUTOFMEMORY`.

This contract violation prevents debugging on chk and debug builds of the runtime.

Fixes #54504

3 years ago[wasm][debugger] Fixing async locals in nested ContinueWith blocks (#56911)
Thays Grazia [Fri, 6 Aug 2021 19:54:40 +0000 (16:54 -0300)]
[wasm][debugger] Fixing async locals in nested ContinueWith blocks (#56911)

* Adding test for #41984

* Adding old @radical tests and fixing it.

* Fixing tests.

* Update src/mono/wasm/debugger/BrowserDebugProxy/MonoSDBHelper.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Update src/mono/wasm/debugger/tests/debugger-test/debugger-async-test.cs

Co-authored-by: Ankit Jain <radical@gmail.com>
* Addressing @radical comments.

* Addressing @radical comments.

* Addressing @radical comments.

Co-authored-by: Ankit Jain <radical@gmail.com>
3 years agoRemove System.Linq in Blazor WASM apps (#56937)
Eric Erhardt [Fri, 6 Aug 2021 19:24:45 +0000 (14:24 -0500)]
Remove System.Linq in Blazor WASM apps (#56937)

Removes the last usages of System.Linq in a default Blazor WASM app, which were a handful of ToArray calls.

Fix #56916

3 years agoThis fixes a perf bug in revisit_written_pages for regions - if we are called with...
Peter Sollich [Fri, 6 Aug 2021 19:08:15 +0000 (21:08 +0200)]
This fixes a perf bug in revisit_written_pages for regions - if we are called with concurrent_p == FALSE, we start iterating at gen 0. This causes the small_object_segments to be set to FALSE when we are done with gen 0. This is of course incorrect, we should set this flag when we are done with gen 2. Fix is to modify the if-condition to test for the end of gen 2. (#56987)

3 years agoMore Extensions doc update (#56991)
Dan Moseley [Fri, 6 Aug 2021 19:04:12 +0000 (13:04 -0600)]
More Extensions doc update (#56991)

3 years ago[Mono]: Make EventPipe MonoProfiler provider GC events async safe. (#56714)
Johan Lorensson [Fri, 6 Aug 2021 18:35:56 +0000 (20:35 +0200)]
[Mono]: Make EventPipe MonoProfiler provider GC events async safe. (#56714)

* Make EventPipe MonoProfiler provider GC events async safe.

EventPipe MonoProfiler provider includes most Mono profiler events,
but events currently triggered during GC is not emitted since EventPipe
is not async safe.

This commit add support to emit the MonoProfiler events triggered during
GC (gc resize, gc moves, gc roots and heap dump object references) into
a async safe temporary memory buffer that will be emitted into EventPipe
once GC completes (and world has been restarted). This opens up the
ability to do heapshots using EventPipe running on Mono into nettrace
files.

Heapshots can be triggered in same way as on CoreCLR, creating an
EventPipe session with GCHeapCollectKeyword keyword. Only one heapshot
can be triggered at a time, so in order to trigger an additional
heapshot, a new EventPipe session is setup (after the previous heapshot
has completed). Heapshot events will be included in all session with
configured keywords.

It is also possible to include all vtable/class references
(including class name), into heap dump. This is enabled by a specific
keyword and makes the dump self contained (no need to track type load etc).
That way runtime can start up without any profiler support, and then it
is possible to use custom tool or dotnet-trace to request a heap dump
(including all referenced vtable/class references) and once that
session is done, it is possible to do a new session and get a new
separate heap dump into a new session. Having separate sessions in
different files opens up the ability to diff between any heap dump over
time.

3 years agoReset loop numbers in RecomputeLoopInfo (#56981)
SingleAccretion [Fri, 6 Aug 2021 18:22:54 +0000 (21:22 +0300)]
Reset loop numbers in RecomputeLoopInfo (#56981)

They become stale after optimizations.

3 years agoFix race condition in Net.Security telemetry test (#56984)
Miha Zupan [Fri, 6 Aug 2021 17:33:32 +0000 (10:33 -0700)]
Fix race condition in Net.Security telemetry test (#56984)

3 years agoRefactor repeated invalid character checks in Path.GetFullPath Unix and Windows ...
Steve Berdy [Fri, 6 Aug 2021 16:58:25 +0000 (12:58 -0400)]
Refactor repeated invalid character checks in Path.GetFullPath Unix and Windows (#56568)

* Refactored repeated checks for invalid path chars

* Removed checkedForInvalids param and renamed method to GetFullPathInternal

* Apply suggestions from code review

* Cleaned up trailing whitespace

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
3 years agoAdd JSON src-gen support for deserializing with parameterized ctors (#56354)
Layomi Akinrinade [Fri, 6 Aug 2021 16:47:48 +0000 (09:47 -0700)]
Add JSON src-gen support for deserializing with parameterized ctors (#56354)

* Add JSON src-gen support for deserializing with parameterized ctors

* Address API review and PR feedback

* Fix issue with init-only properties

* Make misc fixes for build

3 years agoReenable MacCatalyst Arm64 crashing test suites (#56625)
Mitchell Hwang [Fri, 6 Aug 2021 13:29:10 +0000 (09:29 -0400)]
Reenable MacCatalyst Arm64 crashing test suites (#56625)

Evaluating the state of flakey test suite crashes #53813

1: no failures
2: no failures
3: no failures
4: no failures (but noticed that System.Diagnostics.DiagnosticSource.Switches.Tests had 0 tests due to ActiveIssue at class level)
5: no failures (Remove MacCatalyst Skip instead of Android skip for System.Diagnostics.DiagnosticSource.Switches.Tests)
6: no failures

From several test runs of MacCatalyst arm64 of the crashing test suites in #53813, none were found to be crashing anymore, so its suspected that a fix had made it in.

This PR looks to re-enable those test suites to be ran on MacCatalyst arm64 and to combine the Active Issues for Android and iOS/tvOS into one as they have the same failure.

Fixes #53813

System.Diagnostic.DiagnosticSource.Switches.Tests is re-enabled in #56737

3 years agoRun just Android Arm64 System.Security.Cryptography.Pkcs.Tests (#56861)
Mitchell Hwang [Fri, 6 Aug 2021 13:22:43 +0000 (09:22 -0400)]
Run just Android Arm64 System.Security.Cryptography.Pkcs.Tests (#56861)

* Run just Android Arm64 System.Security.Cryptography.Pkcs.Tests

* Revert "Run just Android Arm64 System.Security.Cryptography.Pkcs.Tests"

This reverts commit 2112f85c9abf4668b892ef21c0476df40a8f71be.

* [libraries][Android] Remove System.Security.Cryptography.Pkcs.Tests proj level skip

* Skip System.Security.Cryptography.Pkcs on CI for x64 x86 crash

* Reduce iteration count for Android due to high memory allocation

* Revert "Skip System.Security.Cryptography.Pkcs on CI for x64 x86 crash"

This reverts commit 294ea1519d3cdc62f441f55774d9f4cb9ba37d02.

* Add comment to explain change and use inline condition

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
3 years ago[libraries][tvOS] Update Issue causing System.Net.Requests to fail (#56624)
Mitchell Hwang [Fri, 6 Aug 2021 13:19:42 +0000 (09:19 -0400)]
[libraries][tvOS] Update Issue causing System.Net.Requests to fail (#56624)

* [libraries][iOS][tvOS] Update Issue causing System.Net.Requests to fail

* [libraries][tvOS] Default preauthenticate in InnerSendAsync to false

* Defalt SendWithProxyAuthAsync doRequestAuth parameter to false

* [libraries] Add IsBinaryFormatterSupported ConditionalFact

* [libraries][tvOS] Add ActiveIssue for loopback request header reading failure

* Fix location of ActiveIssue

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
3 years ago[libraries][Android] Skip OffsetOfTests on Android x86 (#56909)
Mitchell Hwang [Fri, 6 Aug 2021 13:17:59 +0000 (09:17 -0400)]
[libraries][Android] Skip OffsetOfTests on Android x86 (#56909)

* [libraries][Android] Skip OffsetOfTests on Android x86

* Fix typo and import

* Check for x86 and retain ActiveIssue

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
3 years agoAdd runtimeconfig.json support for WebAssembly (#56486)
Fan Yang [Fri, 6 Aug 2021 13:04:16 +0000 (09:04 -0400)]
Add runtimeconfig.json support for WebAssembly (#56486)

* Initial change for adding runtimeconfig to wasm

* Add runtimeconfig support to wasm

* Move test folder and update runtimeconifg task name

* Fix test

* Fix test csproj file

* Use the right var for main dll name

* Resolve review feedback part 1

* Resolve review feedbacks part 2

* Add doc for updating dependencies when adding new tasks

* Remove redundant condition and redundant copy

* There is no runtimeconfig.json file to parse, when OutputType is library. So skip it.

* Skip for Android tests as well.

* Remove the wrong locatioin of WasmFilesToIncludeInFileSystem

* Update runtimeconfig file path

* Add RuntimeConfigParserTasksAssemblyPath to linker test project template

* Fix test failures on WASM EAT and AOT lanes

* [wasm] Add a test for reading runtimeconfig.json

* improve error reporting slightly

* Enable tests

* One more thing to enable tests

* Run target _WasmGenerateRuntimeConfig when runtimeconfig.json file exists

* Add a test for configure runtime using msbuild properties

* Fix runtime test failures

* Update tests base on feedback

* Add missing ")"

* Add one more condition

* More format changes

* Better error handling

* [wasm] Fix build for a test support project

This fixes the build for ApplyUpdateReferencedAssembly.csproj, which is
a support project for HotReload wasm functional test.

```
D:\workspace\_work\1\s\src\mono\wasm\build\WasmApp.targets(131,5): error : Could not find
    D:\workspace\_work\1\s\artifacts\bin\ApplyUpdateReferencedAssembly\net6.0-Release\browser-wasm\publish\ApplyUpdateReferencedAssembly.runtimeconfig.json
    for D:\workspace\_work\1\s\artifacts\bin\ApplyUpdateReferencedAssembly\net6.0-Release\browser-wasm\publish\ApplyUpdateReferencedAssembly.dll.

    [D:\workspace\_work\1\s\src\tests\FunctionalTests\WebAssembly\Browser\HotReload\ApplyUpdateReferencedAssembly\ApplyUpdateReferencedAssembly.csproj]
```

The wasm targets should be run at all for this project. But they are run
because they get imported by tests.wasm.targets, which gets imported because
`$(IsTestProject)=true`.

The csproj has `$(IsTestProject)=false`, and `$(IsTestSupportProject)=true`,
which should mean that the test.props/targets don't get imported. But the
import is conditioned on `$(EnableTestSupport)`, which gets set in
`src/libraries/Directory.Build.props`. And that means setting
`$(IsTestProject)=true` in the csproj is too late.

So, instead, set that in a `Directory.Build.props`. And also, ensure that the
`Directory.Build.props` for functional tests doesn't override the value!

Co-authored-by: Ankit Jain <radical@gmail.com>
3 years agoRedisign HTTP/2 KeepAlive PING tests (#56736)
Anton Firszov [Fri, 6 Aug 2021 12:41:04 +0000 (14:41 +0200)]
Redisign HTTP/2 KeepAlive PING tests (#56736)

Completely redesign tests for HTTP/2 KeepAlive PING, so they:
- Work well with RTT pings introduced in Implement dynamic HTTP/2 window scaling #54755
- Run sequentially, reducing the chance of failing because of timing issues caused by parallel workloads
- Are better organized: multiple test cases for different scenarios, instead of one theory with complex branches on parameters

Instead of reading / reacting to frames inline, there is a separate Task for processing incoming frames, responding to PING immediately and pushing other frames to a Channel<Frame>.

Fixes #41929

3 years agoFix HttpStress build (#56912)
Anton Firszov [Fri, 6 Aug 2021 12:37:23 +0000 (14:37 +0200)]
Fix HttpStress build (#56912)

#56775 broke HttpStress.

3 years agoDefine timeout for CreateSocket.Ctor_SafeHandle_Listening_Success (#56717)
Anton Firszov [Fri, 6 Aug 2021 12:36:27 +0000 (14:36 +0200)]
Define timeout for CreateSocket.Ctor_SafeHandle_Listening_Success (#56717)

3 years agoRemove Microsoft.DotNet.PackageValidation from global.json (#56972)
Alexander Köplinger [Fri, 6 Aug 2021 12:17:38 +0000 (14:17 +0200)]
Remove Microsoft.DotNet.PackageValidation from global.json (#56972)

I incorrectly added it back while resolving merge conflicts in https://github.com/dotnet/runtime/pull/56719 but it was removed from global.json with https://github.com/dotnet/runtime/pull/56712

3 years agoFix duplicate license files in msi packages (#56959)
Steve Pfister [Fri, 6 Aug 2021 12:12:42 +0000 (08:12 -0400)]
Fix duplicate license files in msi packages (#56959)

It appears when we added the workloads subset, the msi projects
contained a step to add a License.txt file to the packages it creates.
This resulted in a conflict as runtime will also add one.

To fix, we'll skip adding the extra License.txt file when the project is
'msi.csproj'.

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

3 years agoFix Issue#55518 (#56668)
Nikitin A. Kirill [Fri, 6 Aug 2021 11:31:03 +0000 (15:31 +0400)]
Fix Issue#55518 (#56668)

3 years agoImprove region free list handling (#56314)
Peter Sollich [Fri, 6 Aug 2021 11:14:25 +0000 (13:14 +0200)]
Improve region free list handling (#56314)

The main ideas are:
- Move free regions exceeding ephemeral / UOH budgets to a list of regions to be decommited.
 - In SVR GC, distribute the remaining free regions evenly across heaps.
 - Decommit extra free regions right away (in WKS) or gradually on a GC thread (in SVR).
 - Put free regions exceeding the standard size for UOH on a global list for "free huge regions".
 - When we have choice which regions to decommit, we pick the ones with the highest addresses to reduce address space fragmentation.

3 years agoFix accounting issue with sweep_region_in_plan. (#56910)
Peter Sollich [Fri, 6 Aug 2021 11:11:23 +0000 (13:11 +0200)]
Fix accounting issue with sweep_region_in_plan. (#56910)

The free list items that we find while doing sweep_region_in_plan are kept on a per-region free list temporarily and later transferred to the per-generation allocator.

We also need to keep track of the free list space and the free obj space to make the accounting work out - otherwise we have items on the per-generation allocator that are unaccounted for, and the per-generation free obj space may become negative. Both cause us to overestimate fragmentation and thus do unnecessary blocking GCs.

3 years agoClean-up pkgproj leftovers in libs and apply fixes (#56899)
Viktor Hofer [Fri, 6 Aug 2021 10:01:36 +0000 (12:01 +0200)]
Clean-up pkgproj leftovers in libs and apply fixes (#56899)

* Clean-up pkgproj leftovers in libs and apply fixes

Remove any pkgproj infrastructure that was only used by src/libraries
(which is the majority). Delete the packageindex *YAY*.
Update the documentation that covered the packageindex and the pkgprojs.

Avoid any incremental builds during packaging by removing
libraries-packages.proj and use src.proj for packaging instead. Make use
of the `GeneratePackageOnBuild` property to build package during the
allconfigurations without requiring a different entry target.

Fix the addition of the DocumentationFile during packaging when
`GeneratePackageOnBuid` is used by hooking onto the
`DocumentationProjectOutputGroup` that NuGet uses and replacing the
generated documentation file with the one that comes via the
intellisense package.
Also introduce a property to choose the generated documentation file
over the one from the intellisense package:
<UseIntellisenseDocumentationFile>false</UseIntellisenseDocumentationFile>

Removing a few leftover PackageDescription properties from the projects'
Directory.Build.props file.

Cleaning up properties in Directory.Build.props & Directory.Build.targets
files.

* Actually run packaging during the allconfigurations build

* Update docs

* make runtime specific pkgs non packable

* io.ports native pkg fixes

3 years ago[main] Update dependencies from 11 repositories (#56719)
dotnet-maestro[bot] [Fri, 6 Aug 2021 09:33:52 +0000 (11:33 +0200)]
[main] Update dependencies from 11 repositories (#56719)

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

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.21373.11 -> To Version 6.0.0-beta.21376.4

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

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.1.21369.1 -> To Version 6.0.0-rc.1.21376.1

* Update dependencies from https://github.com/dotnet/xharness build 20210727.2

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.21373.1 -> To Version 1.0.0-prerelease.21377.2

* Update dependencies from https://github.com/dotnet/llvm-project build 20210726.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.21369.1 -> To Version 11.1.0-alpha.1.21376.1

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

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.21371.1 -> To Version 6.0.0-beta.21376.2

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210726.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21369.1 -> To Version 1.0.1-alpha.0.21376.1

* Update dependencies from https://github.com/dotnet/msquic build 20210726.1

System.Net.MsQuic.Transport
 From Version 6.0.0-preview.7.21379.5 -> To Version 6.0.0-preview.7.21376.1

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210727.3

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.21374.3 -> To Version 1.0.0-prerelease.21377.3

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

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.21376.4 -> To Version 6.0.0-beta.21377.2

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210727.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21376.1 -> To Version 1.0.1-alpha.0.21377.1

* Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20210727.2

Microsoft.CodeAnalysis.NetAnalyzers
 From Version 6.0.0-rc1.21375.2 -> To Version 6.0.0-rc1.21377.2

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21376.4 -> To Version 6.0.0-rc.1.21378.1

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210728.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.21377.3 -> To Version 1.0.0-prerelease.21378.5

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

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.21377.2 -> To Version 6.0.0-beta.21378.2

* Update dependencies from https://github.com/dotnet/xharness build 20210728.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.21377.2 -> To Version 1.0.0-prerelease.21378.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210728.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21377.1 -> To Version 1.0.1-alpha.0.21378.1

* Update dependencies from https://github.com/dotnet/roslyn-analyzers build 20210728.3

Microsoft.CodeAnalysis.NetAnalyzers
 From Version 6.0.0-rc1.21377.2 -> To Version 6.0.0-rc1.21378.3

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210729.4

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.21378.5 -> To Version 1.0.0-prerelease.21379.4

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

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.21378.2 -> To Version 6.0.0-beta.21379.2

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210730.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21378.1 -> To Version 1.0.2-alpha.0.21380.1

* Update dependencies from https://github.com/dotnet/msquic build 20210729.5

System.Net.MsQuic.Transport
 From Version 6.0.0-preview.7.21376.1 -> To Version 6.0.0-preview.7.21379.5

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210730.3

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.2-alpha.0.21380.1 -> To Version 1.0.2-alpha.0.21380.3

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210731.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.2-alpha.0.21380.3 -> To Version 1.0.2-alpha.0.21381.1

* Update dependencies from https://github.com/dotnet/runtime build 20210801.3

Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Text.Json , System.Runtime.CompilerServices.Unsafe
 From Version 6.0.0-rc.1.21375.2 -> To Version 6.0.0-rc.1.21401.3

* fix log formatting

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

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.1.21369.1 -> To Version 6.0.0-rc.1.21402.1

* Update dependencies from https://github.com/dotnet/llvm-project build 20210802.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.21369.1 -> To Version 11.1.0-alpha.1.21402.1

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

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.21371.1 -> To Version 6.0.0-beta.21402.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210802.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21369.1 -> To Version 1.0.2-alpha.0.21402.1

* Remove wrong parameter in JsonConsoleFormatterTests.cs

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210803.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21369.1 -> To Version 1.0.2-alpha.0.21403.1

* Downgrade io.ports native

* Update Version.Details.xml

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

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.21373.11 -> To Version 6.0.0-beta.21379.2

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

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.21373.11 -> To Version 6.0.0-beta.21403.5

* Revert sdk bump

* Fixup

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

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.21373.11 -> To Version 6.0.0-beta.21403.5

* Update dependencies from https://github.com/dotnet/xharness build 20210804.1

Microsoft.DotNet.XHarness.CLI , Microsoft.DotNet.XHarness.TestRunners.Xunit
 From Version 1.0.0-prerelease.21373.1 -> To Version 1.0.0-prerelease.21404.1

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

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.21371.1 -> To Version 6.0.0-beta.21405.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210804.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.2-alpha.0.21402.1 -> To Version 1.0.2-alpha.0.21404.1

* Bump arcade

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Aleksey Kliger (λgeek) <alklig@microsoft.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
3 years ago[HTTP/3] Reenable interop tests (#56867)
Marie Píchová [Fri, 6 Aug 2021 07:35:12 +0000 (09:35 +0200)]
[HTTP/3] Reenable interop tests (#56867)

* Reenabled tests

* Fixed interop tests, fixed handling of 0-byte DATA frame

* Addressed comments

3 years agoHTTP/3 Reenabled cookie tests (#56831)
Marie Píchová [Fri, 6 Aug 2021 07:30:52 +0000 (09:30 +0200)]
HTTP/3 Reenabled cookie tests (#56831)

* Reenabled cookie tests

* Disabled mock cookie tests

* Handle H_REQUEST_REJECTED with retry

* Reenable mock

* Disabled only tests which use more than 1 server connection

3 years agoRemove unstable ThreadPool events test (#56680)
Noah Falk [Fri, 6 Aug 2021 07:18:26 +0000 (00:18 -0700)]
Remove unstable ThreadPool events test (#56680)

The threadpool events being verified by this test aren't
guaranteed to occur given the test code. All of them are
the results of background timers and relative execution
speed of work items. Given the relatively low event coverage
of the existing test and my historical understanding that
specific events don't often regress, trying to stabilize this test
is probably more hassle than it is worth.

3 years agoUpdate nullability for the value parameter in JsonConverter<T>.Write() (#56863)
Steve Harter [Fri, 6 Aug 2021 07:05:58 +0000 (02:05 -0500)]
Update nullability for the value parameter in JsonConverter<T>.Write() (#56863)

* Update nullability for the value paramter in JsonConverter<T>.Write()

* Change formatting; move XML comment

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.cs

* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/JsonConverterOfT.cs

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
3 years agoImprove error handling for task RuntimeConfigParser (#56942)
Fan Yang [Fri, 6 Aug 2021 06:15:01 +0000 (02:15 -0400)]
Improve error handling for task RuntimeConfigParser (#56942)

* Improve error handling

* Update src/tasks/RuntimeConfigParser/RuntimeConfigParser.cs

Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
* Update src/tasks/RuntimeConfigParser/RuntimeConfigParser.cs

Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
* Fix error

Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
3 years agoHTTP3: Dispose HTTP3 connection when HttpClientHandler is disposed (#56943)
Geoff Kizer [Fri, 6 Aug 2021 04:43:16 +0000 (21:43 -0700)]
HTTP3: Dispose HTTP3 connection when HttpClientHandler is disposed (#56943)

* dispose Http3Connection when HttpClient is disposed

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years agofix typos in xmldoc (#56764)
Dan Moseley [Fri, 6 Aug 2021 03:15:52 +0000 (21:15 -0600)]
fix typos in xmldoc (#56764)

3 years agoImprove collections assert (#56946)
Dan Moseley [Fri, 6 Aug 2021 03:11:11 +0000 (21:11 -0600)]
Improve collections assert (#56946)

3 years agoStop pinning dotnet-pgo to C# 8 (#56947)
Stephen Toub [Fri, 6 Aug 2021 02:23:44 +0000 (22:23 -0400)]
Stop pinning dotnet-pgo to C# 8 (#56947)

3 years agoAdd interp to the lane name (#56928)
Fan Yang [Thu, 5 Aug 2021 23:57:18 +0000 (19:57 -0400)]
Add interp to the lane name (#56928)

3 years ago[main] Update dependencies from mono/linker (#56905)
dotnet-maestro[bot] [Thu, 5 Aug 2021 21:34:17 +0000 (16:34 -0500)]
[main] Update dependencies from mono/linker (#56905)

* Update dependencies from https://github.com/mono/linker build 20210804.1

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21403.3 -> To Version 6.0.100-preview.6.21404.1

* Update dependencies from https://github.com/mono/linker build 20210805.1

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21403.3 -> To Version 6.0.100-preview.6.21405.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoAdd a forgotten `fgMorphInitBlock` to fix jitstress issue. (#56893)
Sergey Andreenko [Thu, 5 Aug 2021 19:47:13 +0000 (12:47 -0700)]
Add a forgotten `fgMorphInitBlock` to fix jitstress issue. (#56893)

* reenable the failing tests.

* Fix  a jitstress failure on x86.

3 years agoRename interoplibinterface.cpp -> interoplibinterface_comwrappers.cpp (#56921)
Elinor Fung [Thu, 5 Aug 2021 19:44:13 +0000 (12:44 -0700)]
Rename interoplibinterface.cpp -> interoplibinterface_comwrappers.cpp (#56921)

3 years agoFix CustomAttributeData in the presence of generic attributes (#56879)
David Wrighton [Thu, 5 Aug 2021 19:34:21 +0000 (12:34 -0700)]
Fix CustomAttributeData in the presence of generic attributes (#56879)

* Fix CustomAttributeData in the presence of generic attributes
- Generic attributes need to force the actual exact method to be loaded not just the canonical scenario
- GenericAttribute testing had been disabled due to dotnet/msbuild#6734
- Move GenericAttribute test project to Pri0 as its the only generic custom attribute runtime testing that will occur before .NET 6.0 ships
- Test disabled on Mono as Mono currently doesn't support this feature.

Fixes #56492

3 years agoUpdate the (Get|Set)CompressedStack obsoletions to use SYSLIB0003 (#56874)
Jeff Handley [Thu, 5 Aug 2021 19:10:49 +0000 (15:10 -0400)]
Update the (Get|Set)CompressedStack obsoletions to use SYSLIB0003 (#56874)

* Update the (Get|Set)CompressedStack obsoletions to use SYSLIB0003

* Update test suppression

3 years agofix h/3 ResponseContent with large buffer (#56892)
Tomas Weinfurt [Thu, 5 Aug 2021 18:23:17 +0000 (11:23 -0700)]
fix h/3 ResponseContent with large  buffer (#56892)

3 years ago[Mono]: Include IL pdb signature, age and path in EventPipe module events. (#56907)
Johan Lorensson [Thu, 5 Aug 2021 18:19:25 +0000 (20:19 +0200)]
[Mono]: Include IL pdb signature, age and path in EventPipe module events. (#56907)

3 years agoDisable tests on MacCatalyst (#56826)
Vlad Brezae [Thu, 5 Aug 2021 18:07:23 +0000 (21:07 +0300)]
Disable tests on MacCatalyst (#56826)

Due to lack of execute permissions

3 years agoImplement DefType.IsUnsafeValueType (#56790)
Jakob Botsch Nielsen [Thu, 5 Aug 2021 17:35:30 +0000 (19:35 +0200)]
Implement DefType.IsUnsafeValueType (#56790)

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
3 years agohandle QuicConnectionAbortedException (#56785)
Tomas Weinfurt [Thu, 5 Aug 2021 17:26:00 +0000 (10:26 -0700)]
handle QuicConnectionAbortedException (#56785)

3 years agoUpdate some XML doc comments per feedback (#56886)
Dan Moseley [Thu, 5 Aug 2021 16:27:25 +0000 (10:27 -0600)]
Update some XML doc comments per feedback (#56886)

* IndentedTextWriter

* StringInfo

* StringSegment

* GHC

* Remove HTML

* feedback

3 years agoRespect AppContext.SetData with APP_CONFIG_FILE key (#56748)
Krzysztof Wicher [Thu, 5 Aug 2021 16:14:46 +0000 (18:14 +0200)]
Respect AppContext.SetData with APP_CONFIG_FILE key (#56748)

* Respect AppContext.SetData with APP_CONFIG_FILE key

* apply feedback (use BaseDirectory and FileCleanupTestBase)

* avoid using GetFullPath with 2 arguments as it's not available everywhere

* trim all directory separators rather than single

* cleanupRootDirectory -> tempDirectory

* fix absolute paths on linux

3 years agoFix failling stress test (#56859)
Buyaa Namnan [Thu, 5 Aug 2021 15:59:52 +0000 (08:59 -0700)]
Fix failling stress test (#56859)

3 years agoDo not prevent Extensions.FileProviders tests from running in browser (#56257)
David Cantú [Thu, 5 Aug 2021 15:42:45 +0000 (08:42 -0700)]
Do not prevent Extensions.FileProviders tests from running in browser (#56257)

* Do not prevent Extensions.FileProviders tests from running in CI

* Remove SkipOnPlatform

* Do not throw PNSE for PhysicalFileProvider in browser, fallback to use polling instead

* Use SkipOnPlatform only on tests that use FileSystemWatcher

* Set UsePollingFileWatcher and UseActivePolling for browser to avoid ArgumentNullException in PhysicalFilesWatcher

* Fix Moq CI failures

* Use Assert.Same instead of Assert.Equals

* Disable tests for IChangeToken equality between multiple Watch() calls in Browser

3 years agoDo not overwrite JsonException metadata (#56903)
Eirik Tsarpalis [Thu, 5 Aug 2021 15:06:57 +0000 (18:06 +0300)]
Do not overwrite JsonException metadata (#56903)

* Do not overwrite JsonException metadata. Fix #51537.

* remove redundant semicolon

3 years ago[mono] Fix the error handling in a call to interp_create_method_pointer (). (#56883)
Zoltan Varga [Thu, 5 Aug 2021 13:40:18 +0000 (09:40 -0400)]
[mono] Fix the error handling in a call to interp_create_method_pointer (). (#56883)

3 years agoEliminate code duplication of OnWriteResume methods of collection converters (#55991)
Eirik Tsarpalis [Thu, 5 Aug 2021 13:37:55 +0000 (16:37 +0300)]
Eliminate code duplication of OnWriteResume methods of collection converters (#55991)

* remove code duplication in collection converters

* remove code duplication in dictionary converters

3 years agoBuild rid specific pkgs under condition and -s390x (#56906)
Viktor Hofer [Thu, 5 Aug 2021 13:21:32 +0000 (15:21 +0200)]
Build rid specific pkgs under condition and -s390x (#56906)

Build rid specific packages under libraries only when targeting the
primary runtime flavor to avoid duplicate packages being published.

Remove the runtime.native.System.IO.Ports s390x variant as that one
isn't built in official builds and causes the restore of the
meta package runtime.native.System.IO.Ports to fail because of its
missing dependency.

3 years agoAdd RequiresUnreferencedCode to DefinePInvokeMethod (#56537)
Krzysztof Wicher [Thu, 5 Aug 2021 12:29:55 +0000 (14:29 +0200)]
Add RequiresUnreferencedCode to DefinePInvokeMethod (#56537)

* Add RequiresUnreferencedCode to DefinePInvokeMethod

* adjust message per PR feedback

3 years ago[libraries][Android] Reenable System.Diagnostics.Debug, System.Net.Http.Json, System...
Mitchell Hwang [Thu, 5 Aug 2021 11:33:47 +0000 (07:33 -0400)]
[libraries][Android] Reenable System.Diagnostics.Debug, System.Net.Http.Json, System.Net.Ping, System.Security.Cryptography.X509Certificates (#56852)

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
3 years agoDisable formatter test on Mono: COM support is disabled on Mono runtime. (#56806)
Steve Molloy [Thu, 5 Aug 2021 11:27:14 +0000 (04:27 -0700)]
Disable formatter test on Mono: COM support is disabled on Mono runtime. (#56806)

This particular test is using a COM object, but COM support is
disabled on Mono runtime.

3 years ago[libraries][Android] Remove System.Threading.Tests activeIssue (#56878)
Mitchell Hwang [Thu, 5 Aug 2021 11:24:13 +0000 (07:24 -0400)]
[libraries][Android] Remove System.Threading.Tests activeIssue (#56878)

Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
3 years agoFix the compilation error (#56889)
Kunal Pathak [Thu, 5 Aug 2021 11:20:17 +0000 (04:20 -0700)]
Fix the compilation error (#56889)

3 years ago[wasm][debugger] Ensure debugger is disabled (#56885)
Jérôme Laban [Thu, 5 Aug 2021 10:52:55 +0000 (06:52 -0400)]
[wasm][debugger] Ensure debugger is disabled (#56885)

3 years agoFix illumos build regressions (#55916)
Adeel Mujahid [Thu, 5 Aug 2021 09:09:59 +0000 (12:09 +0300)]
Fix illumos build regressions (#55916)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
3 years agoReplace all remaining pkgprojs with NuGet Pack task (#56712)
Viktor Hofer [Thu, 5 Aug 2021 09:03:23 +0000 (11:03 +0200)]
Replace all remaining pkgprojs with NuGet Pack task (#56712)

* Runtime specific and doc file packaging fixes

* Replace all remaining pkgprojs with NuGet Pack task

* Avoid NuGet/Home/issues/10368

* Update PackageValidation package to latest

3 years agoFix lock during SslStream renegotiation request (#56470)
Jan Jahoda [Thu, 5 Aug 2021 08:53:58 +0000 (10:53 +0200)]
Fix lock during SslStream renegotiation request (#56470)

* Change lock and buffer test order

* revert _nestedAuth clearing

* Clear nested lock

* Remove ability to renegotiate again when fail

3 years agoMake typesystem tests anycpu (#56881)
David Wrighton [Thu, 5 Aug 2021 07:20:54 +0000 (00:20 -0700)]
Make typesystem tests anycpu (#56881)

- Allows running the -test switch with architectures other than the machine local architecture

Fixes #56734

3 years agoEnsure FileStream.Position is correct after a failed|cancelled WriteAsync attempt...
Adam Sitnik [Thu, 5 Aug 2021 05:56:29 +0000 (07:56 +0200)]
Ensure FileStream.Position is correct after a failed|cancelled WriteAsync attempt (#56716)

3 years agoRemove some Linq usages in ComponentModel.Annotations (#56753)
Eric Erhardt [Thu, 5 Aug 2021 03:40:07 +0000 (22:40 -0500)]
Remove some Linq usages in ComponentModel.Annotations (#56753)

* Remove some Linq usages in ComponentModel.Annotations

Contributes to #56631

* PR feedback

* fixup

3 years agoEnable WASM AOT microbenchmark run (#55353)
Alicia Li [Thu, 5 Aug 2021 03:00:15 +0000 (20:00 -0700)]
Enable WASM AOT microbenchmark run (#55353)

* bring up WASM AOT microbenchmarks run

* bring up WASM AOT microbenchmarks run

* adding diagnostice log for testing

* commend out some jobs while testing to save lab run resource

* commend out some jobs while testing to save lab run resource

* Add WASM AOT in not scheduled run

* Only run selected jobs

* add "ls -l" to print out permission before calling performance-setup.sh

* add "ls -l" to print out permission before calling performance-setup.sh

* Add "--buildTimeout 3600" to benchmarkdotnet to extend default timeout time. Adjust -aotcompilermode format to "--aotcompilermode=wasm".

* Add "--buildTimeout 3600" to benchmarkdotnet to extend default timeout time. Adjust -aotcompilermode format to "--aotcompilermode=wasm".

* Correct runtimeSrcDir value

* Correct --runtimeSrcDir location to $HELIX_CORRELATION_PAYLOAD

* Correct --runtimeSrcDir location to $HELIX_CORRELATION_PAYLOAD

* Remove not used parameters in WASM AOT mode and  add temperary diagnostic info

* Remove not used parameters in WASM AOT mode and  add temperary diagnostic info

* make \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm to be the root directory of runtime repo source

* Only copy runtime repo source directory to helix payload when it's wasm aot

* Add diagnosic log for testing only

* omite unneeded runtime repo file from helix payload

* omite unneeded runtime repo file from helix payload

* use rsync instead of cp exclusion command since cp doesn't work with sub directory as expected.

* Add temp diagnostic logging, should be removed before PR.

* remove artifacts/obj from helix payload

* remove artifacts/obj from helix payload

* copy back helix job for diagnosis and silent rsync

* For testing only, clone performance repor alicial/hikeMicro-benchmark private branch, which contains copying back helix job folder for diagnosis

* enable rsync verbose for diagnosis

* add --keepfiles for wasm intepreter as well for diagnosis

* Remove temporary diagnostic code

* recover all the jobs in the pipeline

* recover all the jobs in the pipeline

* copy wasm build drop to the location that aot build expects

* using private perf branch to enable binlog for benchmarkdotnet for diagnosis

* comment out none wasm runs temporarily for testing only

* comment out none wasm runs temporarily for testing only

* add "--keepfiles" to keep diagnostic files

* fixed $wasm_dotnet_path/artifacts/BrowserWasm/artifacts path

* instead of copy, move $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* to save space

* benchmarkdotnet using --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh instead

* benchmarkdotnet using --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh instead

* add executable permission

* Enable other non run to compare

* Enable other non run to compare

* remove "--cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh"

* fixes per CR

* copy EMSDK_PATH to expected location in helix payload

* install emsdk

* fix emsdk path

* minor fix

* removed more not used files to reduce helix payload size

* remove more jobs for testing purpose

* Fix the download path

* Add BenchmarkDotNet sources to the payload

* Fix __download__ path

* set BenchmarkDotNetSources to use benchmarkdotnet built from source

* use benchmarkdotnet private branch:alicial/tempwasmaot for BenchmarkDotNetSources

* use benchmarkdonet private branch with BenchmarkDotNetSources option

* Debug prints

* Clone B.NET to different location

Fix rsync exclusion
Add more debug prints

* Move B.NET back, clone upstream B.NET

To avoid:

    [INFO] ERROR(S):
    [INFO]   Option 'BenchmarkDotNetSources' is unknown.

* Use my branch for performance repo

* Revert "set BenchmarkDotNetSources to use benchmarkdotnet built from source"

This reverts commit bccfadde684922c0440d928224c8e7ec7c220fe9.

To avoid:

    [INFO] ERROR(S):
    [INFO]   Option 'BenchmarkDotNetSources' is unknown.

* Disable one more job I missed in merge

* Switch back to nuget packages for BenchmarkDotNet

* tempararily use pr-alicias-branch to test new fixes

* [mono] Fix invalid memory write

Fixes https://github.com/dotnet/runtime/issues/56526 and probably also
https://github.com/dotnet/runtime/issues/53546

Allocate enough memory when `SIZEOF_REGISTER == 4`, so that code like

    defs [ins->dreg + 1] = NULL;
    defs [ins->dreg + 2] = NULL;

doesn't write after allocated range.

* [mono] Fix an uninitialized memory access in the ABCREM pass.

Detected by valgrind.

* clean up PR

* add missing param

* fix perf.yml and make wasm interpreter to be consistent with wasm AOT

* comment out more job for fast testing

* remove extra job

* exclude copying __download__ dir instead of delete it.

* add parameters.codeGenType

* fix aot javascriptengine

* correct livelibrariesbuildconfig from release to Release

* install emsdk before copy $source_directory

* add back all the temporarily commented out jobs in perf.yml

* clean up work around code

* minor clean up

* remove performance submodule

* switch back to use performance repo main branch

* add --quiet to git clone

Co-authored-by: Radek Doulik <radekdoulik@gmail.com>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
3 years ago[wasm] System.Data.Tests - add debug info, to help with the test failure (#56838)
Ankit Jain [Thu, 5 Aug 2021 00:52:42 +0000 (20:52 -0400)]
[wasm] System.Data.Tests - add debug info, to help with the test failure (#56838)

`System.Data.Tests.AppDomainsAndFormatInfo.Bug55978` fails sometimes for
wasm:

```
Assert.Equal() Failure
Expected: 2
Actual:   3

Stack trace
   at System.Data.Tests.AppDomainsAndFormatInfo.Bug55978()
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
```

To debug the issue, this dumps some state when the test fails.

Issue: https://github.com/dotnet/runtime/issues/47968

3 years agoupdate and enable ReadOutstanding_ReadAborted_Throws test (#56839)
Tomas Weinfurt [Thu, 5 Aug 2021 00:26:15 +0000 (17:26 -0700)]
update and enable ReadOutstanding_ReadAborted_Throws test (#56839)

3 years agoRemove unnecessary $(llvmParameter) from installer build job (#56858)
Elinor Fung [Thu, 5 Aug 2021 00:13:35 +0000 (17:13 -0700)]
Remove unnecessary $(llvmParameter) from installer build job (#56858)

3 years ago56014 xml writer.create perf regression (#56524)
Steve Molloy [Wed, 4 Aug 2021 23:43:38 +0000 (16:43 -0700)]
56014 xml writer.create perf regression (#56524)

* Use non-indented XmlWriter to avoid perf hit.
* Add test for issue #46974 which was also fixed by original PR that caused this regression.

3 years agoEnable JIT\SIMD\Vector3Interop_r (#56803)
Egor Chesakov [Wed, 4 Aug 2021 23:05:52 +0000 (16:05 -0700)]
Enable JIT\SIMD\Vector3Interop_r (#56803)

3 years agoDisable a failing test and enable a couple fixed tests (#55529)
Fan Yang [Wed, 4 Aug 2021 22:37:34 +0000 (18:37 -0400)]
Disable a failing test and enable a couple fixed tests (#55529)

* Disable a failing test and enabling a couple fixed tests

* Update issue number

* Fix rebase

3 years agoenable Alpn_H3_Success test (#56818)
Tomas Weinfurt [Wed, 4 Aug 2021 22:20:34 +0000 (15:20 -0700)]
enable Alpn_H3_Success test (#56818)

* enable Alpn_H3_Success test

* update

3 years agoreenable a disabled test (#56841)
Manish Godse [Wed, 4 Aug 2021 20:15:18 +0000 (13:15 -0700)]
reenable a disabled test (#56841)

Now that a few intermittent issues have been fixed enabling this again.

3 years agoFix size regression in DependencyInjection (#56843)
Eric Erhardt [Wed, 4 Aug 2021 20:06:41 +0000 (15:06 -0500)]
Fix size regression in DependencyInjection (#56843)

With the new 6.0 TFM, we are no longer checking IsDynamicCodeCompiled to fall back to Reflection on Blazor WASM. Thus we are now using IL Ref Emit on WASM.

The issue was the #ifs were no longer correct for the new TFM. I've made the #ifs consistent across DI and DI.Abstractions such that the #ifs are for old TFMs and any new TFM will use the #else block.

Fix #56779

3 years agoFix stack overflow reporting from native code (#56774)
Jan Vorlicek [Wed, 4 Aug 2021 20:00:04 +0000 (22:00 +0200)]
Fix stack overflow reporting from native code (#56774)

* Fix stack overflow reporting from native code

When stack overflow happens in native code, the stack walker is unable
to walk the stack and we end up reporting no call stack at all.

This change fixes it by first unwinding the exception context to the first
managed frame and then letting the stack walker to walk the frames.

* Revert behavior for the Windows x86 case

3 years agoSet the cmake policy for CMP0066 and CMP0067 (#56811)
Tanner Gooding [Wed, 4 Aug 2021 19:28:25 +0000 (12:28 -0700)]
Set the cmake policy for CMP0066 and CMP0067 (#56811)

3 years agoRemove old fwlink from Obsolete messages and make message improvements (#56690)
Jeff Handley [Wed, 4 Aug 2021 18:58:10 +0000 (14:58 -0400)]
Remove old fwlink from Obsolete messages and make message improvements (#56690)

* Remove old fwlink from Obsolete messages and make message improvements

* Thorough review and update of Obsolete messages

* Cleanup

* Make messages about unsupported APIs more consistent

* Update RequiresUnreferencedCodeAttribute messages to be consistent between ref and src

* Cleanup

* Cleanup

* Use 'not supported' instead of 'no longer supported'

* Omit unnecessary error:false from Obsolete attributes. Fix message typo.

* Remove old comment

* PR feedback

3 years agoFix explicit layout validator memory alloc problems (#56757)
David Wrighton [Wed, 4 Aug 2021 18:57:03 +0000 (11:57 -0700)]
Fix explicit layout validator memory alloc problems (#56757)

The ExplicitLayoutValidator currently used an array of bytes one to one with the size of the layout of the class. However, we have some test cases for outrageously large explicit layout structures and classes which cause this approach to OOM in crossgen2.

The fix is to move to a data structure defined in terms of intervals. This is probably a bit slower, but it requires vastly less memory for pathological situations.

Fixes #55164
Fixes #53559

3 years ago[mono] Log a warning instead of crashing when encountering function pointer types...
Zoltan Varga [Wed, 4 Aug 2021 18:48:02 +0000 (14:48 -0400)]
[mono] Log a warning instead of crashing when encountering function pointer types in the wasm pinvoke generator. (#56837)

3 years agoMinor runtime test cleanup (#56833)
imhameed [Wed, 4 Aug 2021 15:40:46 +0000 (11:40 -0400)]
Minor runtime test cleanup (#56833)

Removes stray debug logging and removes a redundant branch.

See https://github.com/dotnet/runtime/pull/43954#discussion_r682420803 and https://github.com/dotnet/runtime/pull/43954#discussion_r682420941.

3 years ago[wasm] Build Wasm.Build.Tests only on the WBT job, on CI (#56769)
Ankit Jain [Wed, 4 Aug 2021 15:30:55 +0000 (11:30 -0400)]
[wasm] Build Wasm.Build.Tests only on the WBT job, on CI (#56769)

* [wasm] Build Wasm.Build.Tests only on the WBT job, on CI

* Update eng/pipelines/runtime.yml

Co-authored-by: Larry Ewing <lewing@microsoft.com>
* Address review feedback

Co-authored-by: Larry Ewing <lewing@microsoft.com>
3 years ago[interp] Retain trace during exception checkpoint (#56825)
Vlad Brezae [Wed, 4 Aug 2021 15:29:22 +0000 (18:29 +0300)]
[interp] Retain trace during exception checkpoint (#56825)

When an exception needs to cross a native boundary, it can be caught by the runtime invoke wrapper and this exception will end up as a pending exception. With JIT, the initial managed to native wrapper will check for a pending exception and will use a CEE_MONO_RETHROW opcode in order to preserve the stacktrace. With the interp we do the exception checkpoint outside of the native wrapper, and we need to do it in rethrow fashion (without clearing the original trace).

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210803.3 (#56832)
dotnet-maestro[bot] [Wed, 4 Aug 2021 15:23:51 +0000 (10:23 -0500)]
Update dependencies from https://github.com/mono/linker build 20210803.3 (#56832)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21402.2 -> To Version 6.0.100-preview.6.21403.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoFix build with Xcode 13 / MacOSX12.0.sdk (#56829)
Alexander Köplinger [Wed, 4 Aug 2021 14:19:07 +0000 (16:19 +0200)]
Fix build with Xcode 13 / MacOSX12.0.sdk (#56829)

The macOS 12 SDK bundled in Xcode 13 seems to contain a subset of icu headers now which means we're finding utypes.h in `Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/usr/include/unicode` now.
When compiling System.Globalization.Native however we run into this error because ucurr.h isn't included in MacOSX12.0.sdk:

```
  In file included from /Users/alexander/dev/runtime/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c:9:
  /Users/alexander/dev/runtime/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h:22:10: fatal error: 'unicode/ucurr.h' file not found
  #include <unicode/ucurr.h>
           ^~~~~~~~~~~~~~~~~
  1 error generated.
```

To workaround this check for ucurr.h in CMakeLists.txt instead so we continue to find ICU headers from Homebrew.

3 years ago[hot_reload] Allow benign Param table updates (#56800)
Aleksey Kliger (λgeek) [Wed, 4 Aug 2021 13:15:26 +0000 (09:15 -0400)]
[hot_reload] Allow benign Param table updates (#56800)

* bump hotreload-utils to one that uses the WatchHotReloadService

   necessary for producing nice deltas for code with lambdas

* allow benign param updates

   as long as the param name and sequence number stays the same, the edit is allowed.

* [enc] Add test of changes to lambda and enclosing method

3 years agoOnly decommit parts of regions and the mark array when memory is low. (#56730)
Peter Sollich [Wed, 4 Aug 2021 12:47:03 +0000 (14:47 +0200)]
Only decommit parts of regions and the mark array when memory is low. (#56730)

We'll decommit completely free regions if they exceed the budget, but as we'll use the available memory in regions *not* on the free list preferentially, it seems smarter to decommit the tail ends of these regions only when memory is low.

In a simple GCPerfSim Scenario (-tc 10 -tagb 1000 -tlgb 1 on a 10-core box) this made about a 10% difference in run time, the time saved is mainly in the OS - VirtualFree, VirtualAlloc, and KiPageFault.

3 years agoAdd SslApplicationProtocol.Http3 (#56775)
Bar Arnon [Wed, 4 Aug 2021 12:32:58 +0000 (15:32 +0300)]
Add SslApplicationProtocol.Http3 (#56775)

* Add SslApplicationProtocol.Http3

Fix #1293

* Add XML doc

* Reuse in Http3Connection

* Reuse in tests

* HTTP/3 has no negotiation

* Use SslApplicationProtocol.Http3.ToString() in tests

* Ascending order in ref

3 years agoFix MetricsEventSource tests (#56654)
Noah Falk [Wed, 4 Aug 2021 11:12:44 +0000 (04:12 -0700)]
Fix MetricsEventSource tests (#56654)

Fixes #55313

The metrics test has to collect different events that
update counters in a specific interval of time. Previously
those intervals were 1 second long but ARM64 appears to
run slowly enough that some of the events didn't complete
until 2 seconds had passed.

I increased the intervals to 5 seconds each. We could go
longer to reduce the risk further, but I am trying not to
make the tests take overly long.

3 years agoEnable Http2.SocketSendQueueFull_RequestCanceled_ThrowsOperationCanceled (#56723)
Alexander Nikolaev [Wed, 4 Aug 2021 08:41:26 +0000 (10:41 +0200)]
Enable Http2.SocketSendQueueFull_RequestCanceled_ThrowsOperationCanceled (#56723)

The test should have been already fixed by #56552.

Fixes #44352

3 years ago[Mono]: Add a verbose jit done event into EventPipe MonoProfiler provider. (#56530)
Johan Lorensson [Wed, 4 Aug 2021 07:38:35 +0000 (09:38 +0200)]
[Mono]: Add a verbose jit done event into EventPipe MonoProfiler provider. (#56530)

* Add a verbose jit done event into EventPipe MonoProfiler provider.

In order to get full method info in nettrace it is sometimes needed to
include method load verbose info. This can be done using Microsoft-
Windows-DotNETRuntime provider, but when using that it will also setup
a lot of managed diagnostics classes highly affecting startup profiling.

MonoProfiler provider, Microsoft-DotNETRuntimeMonoProfiler already emits
all needed info for advanced low level diagnostics, but currently lacks
verbose method load data when emitting jit done event.

Commit also adds new versions to JitDone as well as ClassLoaded including
generic type info if available as well as dropping use of ClrInstanceId since
it is not used/needed for events that are new.

3 years agomake Quic AcceptStreamAsync concurrent safe (#56768)
Tomas Weinfurt [Wed, 4 Aug 2021 05:06:00 +0000 (22:06 -0700)]
make Quic AcceptStreamAsync concurrent safe (#56768)

* make AcceptStreamAsync concurrent safe

* feedback from review