platform/upstream/dotnet/runtime.git
3 years agoRemove usage of [AggressiveOptimization] (#58253)
github-actions[bot] [Wed, 1 Sep 2021 13:37:13 +0000 (09:37 -0400)]
Remove usage of [AggressiveOptimization] (#58253)

Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
3 years agoUpdate dependencies from https://github.com/dotnet/runtime-assets build 20210830...
dotnet-maestro[bot] [Wed, 1 Sep 2021 11:32:38 +0000 (13:32 +0200)]
Update dependencies from https://github.com/dotnet/runtime-assets build 20210830.1 (#58437)

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 6.0.0-beta.21425.1 -> To Version 6.0.0-beta.21430.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[release/6.0] [mini] Dynamically allocate a buffer for large runtime invoke results...
github-actions[bot] [Wed, 1 Sep 2021 10:16:43 +0000 (12:16 +0200)]
[release/6.0] [mini] Dynamically allocate a buffer for large runtime invoke results (#58364)

* [mini] Dynamically allocate a buffer for large runtime invoke results

If the return type is a struct that's bigger than our buffer, malloc a
buffer for it instead of using a fixed-size stack buffer

* Throw nullbyrefreturn exception for non-LLVM dyn invoke

Fixes various tests in InvokeRefReturnNetcoreTests

Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
3 years agoFix ep_rt_atomic_compare_exchange_size_t in Mono EventPipe shim. (#58369)
github-actions[bot] [Tue, 31 Aug 2021 19:55:37 +0000 (12:55 -0700)]
Fix ep_rt_atomic_compare_exchange_size_t in Mono EventPipe shim. (#58369)

ep_rt_atomic_compare_exchange_size_t was always truncated to gint32 on
Mono 64-bit platforms. This commit use 32 or 64-bit cas version
depending on SIZEOF_SIZE_T. NOTE, CoreCLR used a template function for
this and already picks 32 or 64 bit version depending on size of size_t.

ep_rt_atomic_compare_exchange_size_t is currently used to reflect size
of EventPipe buffer manager buffers and will most likely never need
more than 2GB of data, but better to fix it and inline with CoreCLR shim
implementation.

Co-authored-by: lateralusX <lateralusx.github@gmail.com>
3 years agoUse partial classes instead, mirroring iOS approach (#58361)
github-actions[bot] [Tue, 31 Aug 2021 19:54:36 +0000 (12:54 -0700)]
Use partial classes instead, mirroring iOS approach (#58361)

This should give the same output as legacy Xamarin. If it doesn't, I messed up

Co-authored-by: Jo Shields <joshield@microsoft.com>
3 years agoFix TimeZoneInfo.HasIanaId when using Local Time Zone (#58414)
Tarek Mahmoud Sayed [Tue, 31 Aug 2021 19:46:07 +0000 (12:46 -0700)]
Fix TimeZoneInfo.HasIanaId when using Local Time Zone (#58414)

3 years ago[release/6.0] Fix fgValueNumberArrIndexVal for wide reads (#58427)
github-actions[bot] [Tue, 31 Aug 2021 17:21:56 +0000 (10:21 -0700)]
[release/6.0] Fix fgValueNumberArrIndexVal for wide reads (#58427)

* fix fgValueNumberArrIndexVal for wide reads

* Update test

* Fix regressions

* Update valuenum.cpp

Co-authored-by: EgorBo <egorbo@gmail.com>
3 years ago[release/6.0] [wasm] Require workloads if using `@(NativeFileReference)` (#58290)
github-actions[bot] [Tue, 31 Aug 2021 16:17:55 +0000 (18:17 +0200)]
[release/6.0] [wasm] Require workloads if using `@(NativeFileReference)` (#58290)

* [wasm] Require workloads, if a project is using native references

Currently, if the `wasm-tools` workload is not installed, and a project
uses AOT, then the build fails with an error saying that the workload
is needed.

But if the project is using native references, but not AOT, then the
build does not fail. Instead, the `@(NativeFileReference)` just gets
ignored. Even though the wasm workload is needed to relink dotnet.wasm
with the native libraries.

Implementation:

- `$(RunAOTCompilation)` is a property, so it can be checked, and
  wasm workload imports can be enabled.
- But `@(NativeFileReference)` is an item, and that gets evaluated in
  the second phase, so we can't use that to affect the imports.
  - Instead, we emit a warning from a target run before Build, if the
    project has any native references, but the workload isn't enabled.

- Users can explicitly enable the workload by setting
  `$(WasmBuildNative)==true`.

* Bump sdk for workload testing to 6.0.100-rc.2.21425.12

* Fix path to workload.stamp file

Co-authored-by: Ankit Jain <radical@gmail.com>
3 years ago[release/6.0] Enable win registry install location for all architectures (#57851)
github-actions[bot] [Tue, 31 Aug 2021 16:03:17 +0000 (09:03 -0700)]
[release/6.0] Enable win registry install location for all architectures (#57851)

* Multi-arch support for win registry install locations

* Change get_dotnet_self_registered_config_location signature

* Link advapi32.lib on win-arm

* PR Feedback

* Indent

* Update get_dotnet_self_registered_config_location()

Co-authored-by: Mateo Torres Ruiz <matorre@microsoft.com>
3 years agoUse OutputRid in test projects (#58340)
github-actions[bot] [Tue, 31 Aug 2021 14:50:01 +0000 (07:50 -0700)]
Use OutputRid in test projects (#58340)

Co-authored-by: Adeel <3840695+am11@users.noreply.github.com>
3 years ago[release/6.0] [Libraries][Android] Fix alignment for padding System.Decimal (#58380)
github-actions[bot] [Tue, 31 Aug 2021 14:32:53 +0000 (10:32 -0400)]
[release/6.0] [Libraries][Android] Fix alignment for padding System.Decimal (#58380)

Fixes #49872

There is a difference in the current alignment of a decimal type on Android x86 (32bit) MONO_ABI_ALIGNOF (gpointer) which evaluates to 4 bytes and whats expected, which is 8 bytes. The behavior of MONO_ABI_ALIGNOF (gpointer) seems correct as gpointer is void* and 32-bit aligned pointers on a 32-bit platform makes sense. Instead, it's suspected that using MONO_ABI_ALIGNOF (gpointer) as the alignment is not correct for Android x86 if we are expecting an align of 8 bytes.

Attempting to remove the entire special casing for System Decimal in marshal.c didn't seem to work as noted in #49872 (comment)

This PR will adhere to the alignment value of 4 for Android x86, remove the special casing for System.Decimal because CoreCLR had removed their special casing, and modifies the expected values in the tests. https://github.com/dotnet/corefx/pull/30690/files?file-filters%5B%5D=.cs#r199212623 makes me suspect these tests have yet to be modified to fully accomodate Linux platforms.

3 years agoAdd s390x support in a few places in eng/native build scripts (#58366)
github-actions[bot] [Tue, 31 Aug 2021 10:30:53 +0000 (12:30 +0200)]
Add s390x support in a few places in eng/native build scripts (#58366)

* Make isMSBuildOnNETCoreSupported return true on s390x
  (fixes generating version headers)

* Add s390x platform-specific library name in find_unwind_libs
  (enables linking against system-provided libunwind)

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
3 years ago[release/6.0] Add s390x RIDs to DotNetHost* packages (#58365)
github-actions[bot] [Mon, 30 Aug 2021 22:45:41 +0000 (00:45 +0200)]
[release/6.0] Add s390x RIDs to DotNetHost* packages (#58365)

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
3 years agoConditionally build allconfigurations (#58122)
Dan Seefeldt [Mon, 30 Aug 2021 17:13:10 +0000 (12:13 -0500)]
Conditionally build allconfigurations (#58122)

When building portable, only a subset of runtime needs to be
built.  allconfigurations is only needed in a non-portable build.

3 years agoMerge pull request #58280 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Mon, 30 Aug 2021 15:22:02 +0000 (17:22 +0200)]
Merge pull request #58280 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

3 years ago[release/6.0] Update dependencies from dotnet/emsdk (#58352)
dotnet-maestro[bot] [Mon, 30 Aug 2021 13:23:20 +0000 (15:23 +0200)]
[release/6.0] Update dependencies from dotnet/emsdk (#58352)

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21425.6 -> To Version 6.0.0-rc.2.21430.1

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21425.6 -> To Version 6.0.0-rc.2.21430.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[mono] Support public key token in DefineDynamicAssembly (#58283)
github-actions[bot] [Mon, 30 Aug 2021 13:16:10 +0000 (15:16 +0200)]
[mono] Support public key token in DefineDynamicAssembly (#58283)

* Fixes https://github.com/dotnet/runtime/issues/58015

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
3 years agoUpdate Versions.props
Viktor Hofer [Mon, 30 Aug 2021 12:34:41 +0000 (14:34 +0200)]
Update Versions.props

3 years agoUpdate Versions.props
Viktor Hofer [Mon, 30 Aug 2021 12:33:14 +0000 (14:33 +0200)]
Update Versions.props

3 years agoUpdate Version.Details.xml
Viktor Hofer [Mon, 30 Aug 2021 12:32:44 +0000 (14:32 +0200)]
Update Version.Details.xml

3 years agoMerge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0
Alexander Köplinger [Mon, 30 Aug 2021 11:50:19 +0000 (13:50 +0200)]
Merge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0

3 years ago[release/6.0-rc1] Update dependencies from dotnet/arcade (#58315)
dotnet-maestro[bot] [Mon, 30 Aug 2021 08:59:29 +0000 (10:59 +0200)]
[release/6.0-rc1] Update dependencies from dotnet/arcade (#58315)

* Update dependencies from https://github.com/dotnet/arcade build 20210827.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.21418.12 -> To Version 6.0.0-beta.21427.6

* Fix IDE0062 warning in NumberFormatInfo.cs

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years ago[release/6.0-rc1] Update dependencies from dotnet/emsdk (#58316)
dotnet-maestro[bot] [Mon, 30 Aug 2021 08:57:32 +0000 (10:57 +0200)]
[release/6.0-rc1] Update dependencies from dotnet/emsdk (#58316)

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21419.1 -> To Version 6.0.0-rc.1.21428.2

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21419.1 -> To Version 6.0.0-rc.1.21429.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[release/6.0] Remove two async state machines for typical HTTP/1.1 request path ...
github-actions[bot] [Mon, 30 Aug 2021 02:14:17 +0000 (22:14 -0400)]
[release/6.0] Remove two async state machines for typical HTTP/1.1 request path (#58252)

* Remove two async state machines for typical HTTP/1.1 request path

* Remove unused doRequestAuth parameter for HTTP/2 and HTTP/3

* Inline HTTP/1.x handling into SendWithRetryAsync

* Inline HTTP/2 as well

* Add back assert

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoUpdate dependencies from https://github.com/dotnet/icu build 20210828.1 (#58318)
dotnet-maestro[bot] [Mon, 30 Aug 2021 00:47:29 +0000 (20:47 -0400)]
Update dependencies from https://github.com/dotnet/icu build 20210828.1 (#58318)

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.2.21425.1 -> To Version 6.0.0-rc.2.21428.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[release/6.0] [mono] Allow RuntimeType arguments in CustomAttributeBuilder (#58317)
github-actions[bot] [Sun, 29 Aug 2021 17:13:20 +0000 (19:13 +0200)]
[release/6.0] [mono] Allow RuntimeType arguments in CustomAttributeBuilder (#58317)

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
3 years ago[release/6.0] [mono] Support RuntimeType.MakeGenericType with non-RuntimeType element...
github-actions[bot] [Sat, 28 Aug 2021 08:08:08 +0000 (10:08 +0200)]
[release/6.0] [mono] Support RuntimeType.MakeGenericType with non-RuntimeType elements (#58275)

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
3 years ago[release/6.0] [mono] Fix a few corner case overflow operations (#58265)
github-actions[bot] [Sat, 28 Aug 2021 08:07:53 +0000 (10:07 +0200)]
[release/6.0] [mono] Fix a few corner case overflow operations (#58265)

Co-authored-by: Vlad Brezae <brezaevlad@gmail.com>
3 years ago[release/6.0-rc1] Add internal junction support to link APIs (#58285)
github-actions[bot] [Sat, 28 Aug 2021 02:04:04 +0000 (20:04 -0600)]
[release/6.0-rc1] Add internal junction support to link APIs (#58285)

* Add mount point support to link APIs.

* Add junction and virtual drive tests.

* Move PrintName comment outside of if else of reparseTag check.

* Add Windows platform specific attribute to junction and virtual drive test classes.

* Revert FILE_NAME_OPENED to FILE_NAME_NORMALIZED

* Revert addition of FILE_NAME_OPENED const.

* Remove unnecessary enumeration junction test.

* Rename GetNewCwdPath to ChangeCurrentDirectory

* Make Junction_ResolveLinkTarget a theory and test both resolveFinalTarget

* Shorter name for targetPath string. Typo in comment. Fix Debug.Assert.

* Clarify test comment. Change PlatformDetection for OperatingSystem check.

* Cleaner unit tests for virtual drive, add indirection test

* Skip virtual drive tests in Windows Nano (subst not available). Small test rename.

* Simplify Junctions tests, add indirection test

* Address test suggestions.

* Revert MountHelper.CreateSymbolicLink changes. Unrelated, and will be refactored/removed in the future. Detect if SUBST is available in Windows machine, to bring back Nano.

* Add dwReserved0 check for mount points in GetFinalLinkTarget.

* Use Yoda we don't.

* Fix CI issues

Co-authored-by: carlossanlop <carlossanlop@users.noreply.github.com>
Co-authored-by: David Cantu <dacantu@microsoft.com>
3 years ago[release/6.0-rc1] Migrate LoggerMessageGenerator to IIncrementalGenerator (#58271)
github-actions[bot] [Sat, 28 Aug 2021 00:30:23 +0000 (17:30 -0700)]
[release/6.0-rc1] Migrate LoggerMessageGenerator to IIncrementalGenerator (#58271)

* Migrate LoggerMessageGenerator to IIncrementalGenerator

This reduces the time spent in the background in VS running the source generator, since we only need to respond to methods that have the LoggerMessageAttribute on them.

Contributes to #56702

* PR feedback

* PR feedback

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
3 years agoFix GetGenerationBounds under USE_REGIONS (#57101) (#58277)
Andrew Au [Fri, 27 Aug 2021 22:48:42 +0000 (15:48 -0700)]
Fix GetGenerationBounds under USE_REGIONS (#57101) (#58277)

3 years agoMake JsonGenerator be an incremental generator (#57088) (#58278)
Eric Erhardt [Fri, 27 Aug 2021 22:47:52 +0000 (16:47 -0600)]
Make JsonGenerator be an incremental generator (#57088) (#58278)

* Make JsonGenerator be an incremental generator

* Improve incrementalism by doing less work when not applicable

* Change SourceGeneration.UnitTests to SourceGeneration.Unit.Tests so it is built and executed in CI

* Get unit tests running after IIncrementalGenerator migration

* Fix duplicate file name tests by working around https://github.com/dotnet/roslyn/issues/54185.

* Fix unit tests now that they are running in CI against non-English languages.

* Fix System.Text.Json.SourceGeneration.Unit.Tests on WASM

* Disable STJ.SourceGeneration.Unit.Tests on Browser

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Chris Sienkiewicz <chsienki@microsoft.com>
3 years ago[release/6.0] Fix VN incorrect optimizations with a new JitEEInterface function....
github-actions[bot] [Fri, 27 Aug 2021 20:34:52 +0000 (13:34 -0700)]
[release/6.0] Fix VN incorrect optimizations with a new JitEEInterface function. (#58005)

* Add/return tests.

* improve the test naming.

* Add a new JitEE method.

with a naive implementation so far.

* Handle generically dissimilar type concerns as well as handle derived type case in the managed compiler

* Fix the field and Unsafe issues.

* fix some failures.

It appeared that we have many trees where we generate unique VN for rhs and don't inform `fgValueNumberBlockAssignment` about it.
For example, for
```
N005 ( 10,  8) [000033] -A--G---R---              *  ASG       struct (copy)
N004 (  3,  2) [000031] D------N----              +--*  LCL_VAR   struct<eightByteStruct, 8> V01 loc1         d:2
N003 (  6,  5) [000030] n---G-------              \--*  IND       struct
N002 (  3,  3) [000043] ------------                 \--*  ADDR      byref
N001 (  3,  2) [000044] -------N----                    \--*  LCL_VAR   struct<largeStruct, 32> V00 loc0         u:6 (last use)
```
we will generate unique rhs but then `fgValueNumberBlockAssignment` will still try to work it as with a non-unique one.

* Fix an oooold bug in VN.

For a tree like:
```
N005 ( 11, 10) [001400] -A------R----             *  ASG       long
N004 (  6,  5) [001401] *------N-----             +--*  IND       long
N003 (  3,  3) [001402] -------------             |  \--*  ADDR      byref  Zero Fseq[_00]
N002 (  3,  2) [001403] U------N-----             |     \--*  LCL_VAR   struct<System.Runtime.Intrinsics.Vector128`1[Byte], 16> V45 tmp38        ud:3->4
N001 (  1,  1) [001404] -------------             \--*  LCL_VAR   long   V69 tmp62        u:2 (last use)
```
SSA was working correctly and printing that `001403` is using SSA-3 and defining SSA-4. However, this code, for some reason, was writing result as a define for SSA-3.

* Add new test cases and a fix for them.

* correct a test copy paste

* response review.

Co-authored-by: Sergey <seandree@microsoft.com>
Co-authored-by: David Wrighton <davidwr@microsoft.com>
3 years ago[mono] Fix regression introduced by PR 55726 (#58255)
github-actions[bot] [Fri, 27 Aug 2021 19:29:13 +0000 (21:29 +0200)]
[mono] Fix regression introduced by PR 55726 (#58255)

* Fix endless recursion in AssemblyBuilder.GetCustomAttributesData()
  and ModuleBuilder.GetCustomAttributesData()

* Re-enable test cases that now pass on Mono

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
3 years ago[mono] Replace -disable-fp-elim with -frame-pointer=all (#58195)
github-actions[bot] [Fri, 27 Aug 2021 18:20:38 +0000 (11:20 -0700)]
[mono] Replace -disable-fp-elim with -frame-pointer=all (#58195)

`-disable-fp-elim` was removed in LLVM 8 in commit b7cef81fd36c85e52b115b9ed6d1fb92d63781d6.
Also see https://reviews.llvm.org/D56351.

The replacement option, `-frame-pointer`, is still present in LLVM 11.

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

Co-authored-by: Imran Hameed <imhameed@microsoft.com>
3 years agoGive tvOS a special value for Personal/MyDocuments (#58056)
Jo Shields [Fri, 27 Aug 2021 18:20:01 +0000 (14:20 -0400)]
Give tvOS a special value for Personal/MyDocuments (#58056)

3 years ago[release/6.0-rc1] [MacCatalyst] Make AppleCryptoNative_SslSetEnabledCipherSuites...
github-actions[bot] [Fri, 27 Aug 2021 18:18:59 +0000 (11:18 -0700)]
[release/6.0-rc1] [MacCatalyst] Make AppleCryptoNative_SslSetEnabledCipherSuites check for 32 bit & 16 bit SSLCipherSuite (#58182)

* [MacCatalyst] Make AppleCryptoNative_SslSetEnabledCipherSuites check for 32 bit & 16 bit SSLCipherSuite

According to CipherSuites.h, SSLCipherSuite is a 16 bit value on iOS/tvOS x64 & arm64, but on MacCatalyst that is only true on arm64.  x64 is defined as 32 bit.

```
/* 16-bit value on iOS */
typedef uint16_t SSLCipherSuite;
/* 32-bit value elsewhere */
typedef uint32_t SSLCipherSuite;
```

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

* Feedback

Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
3 years ago[mono] Avoid a JIT assert. (#58127)
github-actions[bot] [Fri, 27 Aug 2021 18:17:38 +0000 (11:17 -0700)]
[mono] Avoid a JIT assert. (#58127)

Workaround for https://github.com/dotnet/runtime/issues/57560.

Co-authored-by: Zoltan Varga <vargaz@gmail.com>
3 years ago[release/6.0-rc1] Add Crossgen2 symbol files to package (#58193)
github-actions[bot] [Fri, 27 Aug 2021 18:15:20 +0000 (11:15 -0700)]
[release/6.0-rc1] Add Crossgen2 symbol files to package (#58193)

* Add Crossgen2 symbol files to package

* Slight improvement

Co-authored-by: Anton Lapounov <antonl@microsoft.com>
3 years ago[release/6.0] Fix memory leak in enqueue/dequeue of EventPipe callback data. (#58244)
github-actions[bot] [Fri, 27 Aug 2021 17:02:03 +0000 (10:02 -0700)]
[release/6.0] Fix memory leak in enqueue/dequeue of EventPipe callback data. (#58244)

* Fix memory leak in enqueue/dequeue of EventPipe callback data.

https://github.com/dotnet/runtime/pull/56104 made sure provider
callback data gets its own copy of filter data. This created a couple
of memory leaks when queue/dequeue the callback data since callback data
was not correctly freed in these scenarios leading to leaks of the copied
filter data.

Was detected running the manual EventPipe native unit tests on Windows
using its build in use of _CrtMemCheckpoint (only available in debug
builds) automatically detecting memory leaks.

Fix makes sure callback data is moved into queue on enqueue and moved
out in dequeue and that caller of dequeue make sure to
free returned callback data using ep_provider_callback_data_fini
when done using it. Doing a move instead of copy will also reduce
the number of allocations when enqueue/dequeue callback data in
provider callback queue.

* Fix build error.

Co-authored-by: lateralusX <lateralusx.github@gmail.com>
3 years ago[release/6.0] [mono] Use string.Empty for empty string custom arg values (#58113)
github-actions[bot] [Fri, 27 Aug 2021 16:47:37 +0000 (18:47 +0200)]
[release/6.0] [mono] Use string.Empty for empty string custom arg values (#58113)

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
3 years agoImplement Environment.GetEnvironmentVariables for Apple platforms using official...
Alexander Köplinger [Fri, 27 Aug 2021 14:22:02 +0000 (16:22 +0200)]
Implement Environment.GetEnvironmentVariables for Apple platforms using official API (#58161) (#58254)

Move environment handling from Mono runtime to System.Native

Fixes #58156

Co-authored-by: Filip Navara <navara@emclient.com>
Co-authored-by: Adeel Mujahid <3840695+am11@users.noreply.github.com>
3 years agoHandle shadowed property names in DiagnosticsSourceEventSource (#58212)
github-actions[bot] [Fri, 27 Aug 2021 13:52:40 +0000 (06:52 -0700)]
Handle shadowed property names in DiagnosticsSourceEventSource (#58212)

Co-authored-by: John Salem <josalem@microsoft.com>
3 years agoFix frequent FuncEval abort upon hitting a breakpoint in an ASP.NET Core web app...
github-actions[bot] [Fri, 27 Aug 2021 13:52:28 +0000 (06:52 -0700)]
Fix frequent FuncEval abort upon hitting a breakpoint in an ASP.NET Core web app (#58218)

- `AssemblySpecBindingCache` uses a cooperative-GC-mode data structure for the cache and operates on the cache from inside a lock taken in preemptive-GC-mode
- So when the cache is being used, cooperative-GC-mode is entered while holding the lock, which can in turn suspend for the debugger. Then a FuncEval that also happens to operate on the cache would deadlock on acquiring the lock and would have to be aborted.
- This seems to be happening very frequently when hitting an early breakpoint in a default new ASP.NET Core web app in .NET 6 when hot reload is enabled
- Fixed by using the same solution that was used for the slot backpatching lock. When cooperative-GC-mode would be entered inside the lock, a different lock holder based on `CrstAndForbidSuspendForDebuggerHolder` is used, which prevents the thread from suspending for the debugger while the lock is held. The thread would instead suspend for the debugger after leaving the forbid region after releasing the lock.

Co-authored-by: Koundinya Veluri <kouvel@microsoft.com>
3 years ago[release/6.0] Prevent AV in processinfo2 while suspended on Mono. (#58158)
github-actions[bot] [Fri, 27 Aug 2021 13:21:48 +0000 (09:21 -0400)]
[release/6.0] Prevent AV in processinfo2 while suspended on Mono. (#58158)

#55379 only fixed CoreCLR. This commit makes similar fix in Mono as well, making sure
src/tests/tracing/eventpipe/diagnosticport runtime test pass on Mono.

Co-authored-by: lateralusX <lateralusx.github@gmail.com>
Co-authored-by: Martin Costello <martin@martincostello.com>
3 years agoUpdate dependencies from https://github.com/dotnet/runtime-assets build 20210825...
dotnet-maestro[bot] [Fri, 27 Aug 2021 08:23:32 +0000 (10:23 +0200)]
Update dependencies from https://github.com/dotnet/runtime-assets build 20210825.1 (#58178)

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 6.0.0-beta.21423.1 -> To Version 6.0.0-beta.21425.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoMerge pull request #58194 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Fri, 27 Aug 2021 08:17:51 +0000 (10:17 +0200)]
Merge pull request #58194 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

3 years agoPhysicalFileProvider: Use active polling instead of FileSystemWatcher on iOS/tvOS...
github-actions[bot] [Thu, 26 Aug 2021 19:52:43 +0000 (21:52 +0200)]
PhysicalFileProvider: Use active polling instead of FileSystemWatcher on iOS/tvOS (#58165)

In https://github.com/dotnet/runtime/issues/57931 we found out that the FSEventStream APIs which are used to implement System.IO.FileSystemWatcher aren't allowed on the App Store.
According to [Apple's docs](https://developer.apple.com/documentation/coreservices/1443980-fseventstreamcreate) these APIs are only supported on macOS and Mac Catalyst.

Mark System.IO.FileSystemWatcher as unsupported on iOS/tvOS and throw PNSE.
Switch PhysicalFileProvider to use active polling instead, like we do for Browser.

Addresses https://github.com/dotnet/runtime/issues/57931

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
3 years ago[release/6.0] Surface allocations per thread (#58123)
github-actions[bot] [Thu, 26 Aug 2021 18:21:57 +0000 (11:21 -0700)]
[release/6.0] Surface allocations per thread  (#58123)

* Initial interface for GetBytesAllocated API

* Fix signature to be 64 bit

Co-authored-by: Tom McDonald <tommcdon@microsoft.com>
Co-authored-by: Juan Sebastian Hoyos Ayala <juhoyosa@microsoft.com>
3 years agoX86 Debug Stack offsets are encoded divided by 4 - Fix the encoding (#58094)
github-actions[bot] [Thu, 26 Aug 2021 17:34:56 +0000 (10:34 -0700)]
X86 Debug Stack offsets are encoded divided by 4 - Fix the encoding (#58094)

Fixes #57951

Co-authored-by: David Wrighton <davidwr@microsoft.com>
3 years ago[release/6.0-rc1] [wasm] spread WS based timers over next 6 minutes to prevent heavy...
github-actions[bot] [Thu, 26 Aug 2021 17:34:43 +0000 (10:34 -0700)]
[release/6.0-rc1] [wasm] spread WS based timers over next 6 minutes to prevent heavy throttling (#58160)

* spread WS based timers over next 6 minutes to prevent heavy throttling

* wip

* wip

* fix

* better assert description

* exclude test from CI, because helix is headless

* feedback

* more

Co-authored-by: Pavel Savara <pavelsavara@microsoft.com>
3 years ago[release/6.0-rc1] Update dependencies from mono/linker (#58043)
dotnet-maestro[bot] [Thu, 26 Aug 2021 16:31:16 +0000 (09:31 -0700)]
[release/6.0-rc1] Update dependencies from mono/linker (#58043)

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21424.2

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21419.1 -> To Version 6.0.100-preview.6.21424.3

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21424.3 -> To Version 6.0.100-preview.6.21424.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoFix trigger paths for perf_slow.yml (#58079)
Drew Scoggins [Thu, 26 Aug 2021 16:20:03 +0000 (09:20 -0700)]
Fix trigger paths for perf_slow.yml (#58079)

3 years agoDon't consider classes that do not have any attributes or base classes (#58004)
github-actions[bot] [Thu, 26 Aug 2021 14:03:33 +0000 (08:03 -0600)]
Don't consider classes that do not have any attributes or base classes (#58004)

3 years agoMerge pull request #58034 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Thu, 26 Aug 2021 10:32:08 +0000 (12:32 +0200)]
Merge pull request #58034 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

3 years agoUpdate dependencies from https://github.com/dotnet/icu build 20210825.1 (#58138)
dotnet-maestro[bot] [Thu, 26 Aug 2021 10:27:41 +0000 (12:27 +0200)]
Update dependencies from https://github.com/dotnet/icu build 20210825.1 (#58138)

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.2.21419.2 -> To Version 6.0.0-rc.2.21425.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoUpdate dependencies from https://github.com/dotnet/emsdk build 20210825.6 (#58149)
dotnet-maestro[bot] [Thu, 26 Aug 2021 10:25:14 +0000 (12:25 +0200)]
Update dependencies from https://github.com/dotnet/emsdk build 20210825.6 (#58149)

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.2.21423.1 -> To Version 6.0.0-rc.2.21425.6

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[release/6.0] Improve tracing of HTTP/2 PINGs (#57930)
github-actions[bot] [Thu, 26 Aug 2021 04:35:10 +0000 (22:35 -0600)]
[release/6.0] Improve tracing of HTTP/2 PINGs (#57930)

* more HTTP/2 PING logging

* test unexpected PING response

Co-authored-by: Anton Firszov <antonfir@gmail.com>
3 years agoFix nullability bug (#58102)
github-actions[bot] [Wed, 25 Aug 2021 18:05:49 +0000 (12:05 -0600)]
Fix nullability bug (#58102)

Co-authored-by: Buyaa Namnan <bunamnan@microsoft.com>
3 years agoAllow configuration binder to bind single elements to array (#58060)
Maryam Ariyan [Wed, 25 Aug 2021 18:05:16 +0000 (14:05 -0400)]
Allow configuration binder to bind single elements to array (#58060)

* Allow ConfigBinder to bind arrays to Singular elements (#57204)

* Apply feedback from PR #57204 (#57872)

Co-authored-by: vidommet <80355385+vidommet@users.noreply.github.com>
3 years agoSupport reference type custom converters (#57954)
github-actions[bot] [Wed, 25 Aug 2021 17:38:03 +0000 (10:38 -0700)]
Support reference type custom converters (#57954)

Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
3 years agoFixing DebuggerDisplayAttribute when using utf16 characters. Fixes #58046 (#58087)
github-actions[bot] [Wed, 25 Aug 2021 17:37:52 +0000 (10:37 -0700)]
Fixing DebuggerDisplayAttribute when using utf16 characters. Fixes #58046 (#58087)

Co-authored-by: Thays <thaystg@gmail.com>
3 years agoFix trigger paths for perf_slow.yml (#58077)
Drew Scoggins [Wed, 25 Aug 2021 16:20:09 +0000 (09:20 -0700)]
Fix trigger paths for perf_slow.yml (#58077)

3 years ago[release/6.0-rc1] Support special characters in [JsonPropertyName] (#58075)
github-actions[bot] [Wed, 25 Aug 2021 15:46:30 +0000 (08:46 -0700)]
[release/6.0-rc1] Support special characters in [JsonPropertyName] (#58075)

* Support special characters in [JsonPropertyName]

* Make gen'd property name readonly; other misc

Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
3 years ago[release/6.0-rc1] Add event to RuntimeEventSource for AppContext switches (#57847)
github-actions[bot] [Wed, 25 Aug 2021 15:45:46 +0000 (08:45 -0700)]
[release/6.0-rc1] Add event to RuntimeEventSource for AppContext switches (#57847)

* Add event to RuntimeEventSource for AppContext switches

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

* Respond to PR comments

* Add preliminary tests

* Respond to PR comments

* Add keyword

* Fix tests

* Remove AppContext EventSource support on browser

* forgot using

* Fix error reporting, add comments

* Respond to PR comments

* Refactor tests

* Fix case where s_switches is null

* Fix bug

* Print more info for test failure

* Typo

* Fix lab failure

* Respond to PR comments

* Respond to PR comments

* Typo

* Respond to PR comments

* Skip RuntimeEventSource tests on wasm and android (#57890)

* Skip RuntimeEventSource tests on wasm and android

* Skip tests without using issues.targets

* Disable test for mono

(cherry picked from commit 454ac571fe489ab818c7727f11eee71d521c4366)

Co-authored-by: Andy Gocke <angocke@microsoft.com>
3 years ago[release/6.0] Fix enum memory code paths (#58076)
github-actions[bot] [Wed, 25 Aug 2021 15:26:12 +0000 (08:26 -0700)]
[release/6.0] Fix enum memory code paths (#58076)

* Fix enum memory code paths

* Fix wks enumeration

Co-authored-by: Andrew Au <andrewau@microsoft.com>
3 years agoFix Enum.Parse's parse failure exception to include value in error message (#57975)
github-actions[bot] [Wed, 25 Aug 2021 02:07:14 +0000 (22:07 -0400)]
Fix Enum.Parse's parse failure exception to include value in error message (#57975)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoFix nullable annotations for AssociatedMetadataTypeTypeDescriptionProvider (#57979)
github-actions[bot] [Tue, 24 Aug 2021 22:43:22 +0000 (16:43 -0600)]
Fix nullable annotations for AssociatedMetadataTypeTypeDescriptionProvider (#57979)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoAdditional statistics when a ServiceProvider is created (#58030)
github-actions[bot] [Tue, 24 Aug 2021 20:50:27 +0000 (13:50 -0700)]
Additional statistics when a ServiceProvider is created (#58030)

* Number of open generics
* Number of closed generics

fix #52364

Co-authored-by: Allan Targino <13934447+allantargino@users.noreply.github.com>
3 years ago[release/6.0-rc1] [wasm][debugger] Fixing assert while debugging. (#58032)
github-actions[bot] [Tue, 24 Aug 2021 20:37:20 +0000 (16:37 -0400)]
[release/6.0-rc1] [wasm][debugger] Fixing assert while debugging. (#58032)

When trying to evaluate DebuggerProxyAttribute of a generic type <T, K>, it was working only for one parameter .

Fixes #58021

Co-authored-by: Thays <thaystg@gmail.com>
3 years ago[interp] Use existing InterpMethod if allocation and lookup race (#57985)
github-actions[bot] [Tue, 24 Aug 2021 19:27:13 +0000 (15:27 -0400)]
[interp] Use existing InterpMethod if allocation and lookup race (#57985)

If two threads both want to get an InterpMethod for the same MonoMethod, and
they both see null from the first hash table lookup, make sure that whichever
one comes into the jit_mm lock second re-uses the previously inserted
InterpMethod, instead of its own version.

Without this change, racing threads will overwrite
MonoJitInfo:seq_points (in mono_interp_transform_method) which sometimes leads
to deallocating the same sequence points multiple times.

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

Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
3 years ago[wasm][debugger] Proxy but don't process events from worker sessions (#57990)
github-actions[bot] [Tue, 24 Aug 2021 19:25:36 +0000 (15:25 -0400)]
[wasm][debugger] Proxy but don't process events from worker sessions (#57990)

Backport of #57974

Should Fix #57949

Co-authored-by: Larry Ewing <lewing@microsoft.com>
3 years ago[release/6.0-rc1] MonoAOTCompiler: Check for proxy file's target only when the cache...
Ankit Jain [Tue, 24 Aug 2021 19:23:45 +0000 (19:23 +0000)]
[release/6.0-rc1] MonoAOTCompiler: Check for proxy file's target only when the cache is being used. (#57867)

Backport of #57865

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

3 years agoFix loading app local ICU (#57992)
github-actions[bot] [Tue, 24 Aug 2021 17:46:44 +0000 (19:46 +0200)]
Fix loading app local ICU (#57992)

Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
3 years ago[release/6.0] Move GreaterThan2GBFile_SendsAllBytes to a non-parallel test collection...
github-actions[bot] [Tue, 24 Aug 2021 17:06:53 +0000 (11:06 -0600)]
[release/6.0] Move GreaterThan2GBFile_SendsAllBytes to a non-parallel test collection (#58002)

* Move GreaterThan2GBFile_SendsAllBytes to a non-parallel test collection

* Update SendFile.cs

Co-authored-by: Anton Firszov <antonfir@gmail.com>
Co-authored-by: Anton Firszov <Anton.Firszov@microsoft.com>
3 years ago[release/6.0-rc1] [HTTP/3] Abort response stream on dispose if content not finished...
github-actions[bot] [Tue, 24 Aug 2021 17:02:08 +0000 (11:02 -0600)]
[release/6.0-rc1] [HTTP/3] Abort response stream on dispose if content not finished (#57999)

* Sends abort read/write if H/3 stream is disposed before respective contents are finsihed

* Minor tweaks in abort conditions

* Prevent reverting SendState from Aborted/ConnectionClosed back to sending state within Send* methods.

Co-authored-by: ManickaP <mapichov@microsoft.com>
Co-authored-by: Marie Píchová <11718369+ManickaP@users.noreply.github.com>
3 years ago[release/6.0-rc1] Improve tracing of HTTP/2 PINGs (#57998)
github-actions[bot] [Tue, 24 Aug 2021 16:58:49 +0000 (10:58 -0600)]
[release/6.0-rc1] Improve tracing of HTTP/2 PINGs (#57998)

* more HTTP/2 PING logging

* test unexpected PING response

Co-authored-by: Anton Firszov <antonfir@gmail.com>
3 years ago[release/6.0-rc1] Fixed StreamPipeReader.CopyToAsync (#57966)
github-actions[bot] [Tue, 24 Aug 2021 16:17:36 +0000 (10:17 -0600)]
[release/6.0-rc1] Fixed StreamPipeReader.CopyToAsync (#57966)

* Fixed StreamPipeReader.CopyToAsync - Take the segment index into account when copying buffered data. This handles the case where ReadAsync has consumed a partial segment and then the same PipeReader instance is used to copy to a Stream and PipeWriter. - Added tests

* Always slice

Co-authored-by: David Fowler <davidfowl@gmail.com>
3 years agoMerge pull request #57969 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Tue, 24 Aug 2021 10:16:56 +0000 (12:16 +0200)]
Merge pull request #57969 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

3 years agoDisable S.T.J.Serialization.Tests.ConstructorTests.PathForChildDictionaryFails (...
Steve Harter [Tue, 24 Aug 2021 06:42:48 +0000 (01:42 -0500)]
Disable S.T.J.Serialization.Tests.ConstructorTests.PathForChildDictionaryFails (#57834)

3 years ago[release/6.0-rc1] Align DCJS with 4.8 implementation. (#57883)
github-actions[bot] [Tue, 24 Aug 2021 06:35:54 +0000 (08:35 +0200)]
[release/6.0-rc1] Align DCJS with 4.8 implementation. (#57883)

* Align DCJS with 4.8 version. This work addresses #55270.

* Close() nits.

* Remove some extraneous trimmer attributes.

* Another trimmer nit.

Co-authored-by: Steve Molloy <smolloy@microsoft.com>
3 years ago[release/6.0] Update dependencies from dotnet/emsdk dotnet/runtime-assets (#57925)
dotnet-maestro[bot] [Tue, 24 Aug 2021 06:34:39 +0000 (08:34 +0200)]
[release/6.0] Update dependencies from dotnet/emsdk dotnet/runtime-assets (#57925)

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21419.1 -> To Version 6.0.0-rc.2.21423.1

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

Microsoft.DotNet.CilStrip.Sources , System.ComponentModel.TypeConverter.TestData , System.Drawing.Common.TestData , System.IO.Compression.TestData , System.IO.Packaging.TestData , System.Net.TestData , System.Private.Runtime.UnicodeData , System.Runtime.Numerics.TestData , System.Runtime.TimeZoneData , System.Security.Cryptography.X509Certificates.TestData , System.Windows.Extensions.TestData
 From Version 6.0.0-beta.21416.1 -> To Version 6.0.0-beta.21423.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[release/6.0] Fix stress issues around multiple threads throwing the same exceptions...
github-actions[bot] [Mon, 23 Aug 2021 22:55:48 +0000 (15:55 -0700)]
[release/6.0] Fix stress issues around multiple threads throwing the same exceptions (#57959)

* Fix stress issues around multiple threads throwing the same exceptions - The watson codebase manipulates the state of the following fields on Exception in a lock-free manner without locks if there are multiple threads throwing the same exception - _stackTrace - _stackTraceString - _remoteStackTraceString - _watsonBuckets - _ipForWatsonBuckets - The designed behavior is that these apis should "mostly" be correct, but as they are only used for fatal shutdown scenarios, exact correctness is not required for correct program execution - However, there are some race conditions that have been seen recently in testing 1. In some circumstances, the value will be explicitly read from multiple times, where the first read is to check for NULL, and then a second read is to read the actual value and use it in some way. In the presence of a race which sets the value to NULL, the runtime can crash. To fix this, the code is refactored in cases which could lead to crashes with a single read, and carrying around the read value to where it needs to go. 2. Since the C++ memory model generally allows a single read written in C++ to be converted into multiple reads if the compiler can prove that the read does not cross a lock/memory barrier, it is possible for the C++ compiler to inject multiple reads where the logic naturally only has 1. The fix for this is to utlilize the VolatileLoadWithoutBarrier api to specify that a read should happen once in cases where it might cause a problem.

Finally, the test45929 was tended to fail in GC stress as it would take a very long time to run under GC stress or on some hardware. Adjust it so that it shuts down after about 2.5 minutes.
- Do this instead of disabling running under gcstress as there is evidence that there may have been bugs seen during runs under gcstress.

Fixes #46803

* Rename as per suggestion

Co-authored-by: David Wrighton <davidwr@microsoft.com>
3 years ago[release/6.0-rc1] Enable SocketHttpHandler to decompress zlib or deflate (#57940)
github-actions[bot] [Mon, 23 Aug 2021 19:57:39 +0000 (15:57 -0400)]
[release/6.0-rc1] Enable SocketHttpHandler to decompress zlib or deflate (#57940)

* Enable SocketHttpHandler to decompress zlib or deflate

Some servers incorrectly implement the deflate content-coding with the raw deflate algorithm rather than with deflate wrapped with a zlib header/footer.  Auto-detect whether to use ZLibStream or DeflateStream in order to accomodate both kinds of responses.

* Fix test build for WinHttpHandler on .NET Framework

* Apply suggestions from code review

* Add decompression test for empty response body

* Add decompression tests for multiple source content lengths

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoMerge pull request #57854 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Mon, 23 Aug 2021 15:33:32 +0000 (17:33 +0200)]
Merge pull request #57854 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'

3 years ago[release/6.0] Don't regress SkipLocalsInit optimization on < 6.0 .NETCoreApp assets...
Viktor Hofer [Mon, 23 Aug 2021 15:11:01 +0000 (17:11 +0200)]
[release/6.0] Don't regress SkipLocalsInit optimization on < 6.0 .NETCoreApp assets (#57868)

* Don't regress SkipLocalsInit optimization on net5.0 assets

netcoreapp3.1 and net5.0 assets which are part of the Microsoft.NETCore.App shared framework and ship inside a package need to keep the SkipLocalsInit optimization to avoid regressing perf. This would happen when referencing one of the 6.0 packages but consuming either the netcoreapp3.1 or net5.0 asset in it. The higher assembly version of the netcoreapp3.1/net5.0 asset would win over the same asset in the shared framework and without this fix, the SkipLocalsInit optimization would be lost.

Contributes to https://github.com/dotnet/runtime/issues/54964

3 years ago[release/6.0] Fix QUIC ConnectionState NRE in HandleEventConnectionClose (#57742)
github-actions[bot] [Mon, 23 Aug 2021 15:09:17 +0000 (09:09 -0600)]
[release/6.0] Fix QUIC ConnectionState NRE in HandleEventConnectionClose (#57742)

* Fix QUIC ConnectionState NRE in HandleEventConnectionClose

* Remove unnecessary Dispose

Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
3 years agoMerge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Mon, 23 Aug 2021 13:32:15 +0000 (15:32 +0200)]
Merge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0

3 years agoAdd Fedora 36 to the RID graph (#57833)
Omair Majid [Mon, 23 Aug 2021 13:26:54 +0000 (09:26 -0400)]
Add Fedora 36 to the RID graph (#57833)

Backport of #57832

Fedora 36 is under development:

    $ podman run -it registry.fedoraproject.org/fedora:rawhide /bin/cat /etc/os-release
    NAME="Fedora Linux"
    VERSION="36 (Container Image Prerelease)"
    ID=fedora
    VERSION_ID=36
    VERSION_CODENAME=""
    PLATFORM_ID="platform:f36"
    PRETTY_NAME="Fedora Linux 36 (Container Image Prerelease)"
    ANSI_COLOR="0;38;2;60;110;180"
    LOGO=fedora-logo-icon
    CPE_NAME="cpe:/o:fedoraproject:fedora:36"
    HOME_URL="https://fedoraproject.org/"
    DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/rawhide/system-administrators-guide/"
    SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
    BUG_REPORT_URL="https://bugzilla.redhat.com/"
    REDHAT_BUGZILLA_PRODUCT="Fedora"
    REDHAT_BUGZILLA_PRODUCT_VERSION=rawhide
    REDHAT_SUPPORT_PRODUCT="Fedora"
    REDHAT_SUPPORT_PRODUCT_VERSION=rawhide
    PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
    VARIANT="Container Image"
    VARIANT_ID=container

3 years agoDisable TaskDropsExecutionContextUponCompletion test (#57864)
github-actions[bot] [Sat, 21 Aug 2021 12:04:29 +0000 (08:04 -0400)]
Disable TaskDropsExecutionContextUponCompletion test (#57864)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoupdate to compaitibility package (#57783)
Anirudh Agnihotry [Sat, 21 Aug 2021 02:34:59 +0000 (19:34 -0700)]
update to compaitibility package (#57783)

3 years agoRemove run trigger (#57850)
Drew Scoggins [Fri, 20 Aug 2021 23:11:46 +0000 (16:11 -0700)]
Remove run trigger (#57850)

Co-authored-by: dotnet-maestro[bot] <42748379+dotnet-maestro[bot]@users.noreply.github.com>
3 years agoMove to 6.0 only for release runs (#57848)
Drew Scoggins [Fri, 20 Aug 2021 23:11:27 +0000 (16:11 -0700)]
Move to 6.0 only for release runs (#57848)

3 years ago[release/6.0] Fix Culture creation regression when using invalid names on Windows...
github-actions[bot] [Fri, 20 Aug 2021 22:16:32 +0000 (15:16 -0700)]
[release/6.0] Fix Culture creation regression when using invalid names on Windows (#57853)

* Fix Culture creation regression when using invalid names on Windows

* Address the feedback

Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
3 years agoUpdate toolset MicrosoftNETCoreApp version This package no longer exists. Replace...
github-actions[bot] [Fri, 20 Aug 2021 22:15:21 +0000 (15:15 -0700)]
Update toolset MicrosoftNETCoreApp version This package no longer exists. Replace with runtime package version and appropriate property. (#57829)

Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
3 years agoRe-disable AsyncMethodsDropsStateMachineAndExecutionContextUponCompletion test (...
github-actions[bot] [Fri, 20 Aug 2021 20:35:14 +0000 (16:35 -0400)]
Re-disable AsyncMethodsDropsStateMachineAndExecutionContextUponCompletion test (#57761)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years ago[release/6.0-rc1] [mono][debugger] Fix watch of local variable values (#57787)
github-actions[bot] [Fri, 20 Aug 2021 20:22:03 +0000 (13:22 -0700)]
[release/6.0-rc1] [mono][debugger] Fix watch of local variable values (#57787)

* Fix xamarin-android 6161

* Fixing leak.

* Adding wasm debugger test. Fixing using protocol version.

* only get locals in older protocol versions.

Co-authored-by: Thays <thaystg@gmail.com>
3 years ago[release/6.0-rc1] [hot_reload] Don't look at delta method table rows (#57799)
github-actions[bot] [Fri, 20 Aug 2021 20:21:55 +0000 (13:21 -0700)]
[release/6.0-rc1] [hot_reload] Don't look at delta method table rows (#57799)

* Add test case

Call a method for the first time after an update has been applied to it.

This will check that the interpreter or JIT does not have to rely on cached
information from the baseline (about the method signature, for example) and
that it can compute it from the delta.

* [hot_reload] Don't look at delta method table rows

The issue is that the ParamList column in EnC deltas is a "suppressed column"
that has the value 0.  So when a method is updated if we use the value
directly, we will break, for example - `mono_metadata_get_param_attrs` which
expects a non-zero index in that column.

CoreCLR solves this by having a set of suppressed columns that are never
updated by deltas.  (CoreCLR's model is to directly mutate the tables of the
baseline image).  In Mono we can eventually do the same thing by writing the
value from the previous generation into the current delta's row.  But right now
since we don't allow parameter modifications, and the only column on a Method
table that we allow to be modified is the RVA - which we look up specially - we
can just always return the baseline image row for the method table.

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

Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
3 years agoUpdate toolset MicrosoftNETCoreApp version This package no longer exists. Replace...
github-actions[bot] [Fri, 20 Aug 2021 17:53:29 +0000 (10:53 -0700)]
Update toolset MicrosoftNETCoreApp version This package no longer exists. Replace with runtime package version and appropriate property. (#57828)

Co-authored-by: Matt Mitchell <mmitche@microsoft.com>
3 years agoMerge pull request #57740 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
Viktor Hofer [Fri, 20 Aug 2021 11:03:09 +0000 (13:03 +0200)]
Merge pull request #57740 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0

[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'