platform/upstream/dotnet/runtime.git
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Tue, 8 Feb 2022 00:21:14 +0000 (00:21 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] [Mono] Fix potential crash when handling image load event. (#64911)
github-actions[bot] [Tue, 8 Feb 2022 00:07:02 +0000 (01:07 +0100)]
[release/6.0] [Mono] Fix potential crash when handling image load event. (#64911)

Co-authored-by: lateralusX <lateralusX.github@gmail.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 23:43:40 +0000 (23:43 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Avoid deadlock with ConfigurationManager (#63816)
Stephen Halter [Mon, 7 Feb 2022 23:29:45 +0000 (15:29 -0800)]
[release/6.0] Avoid deadlock with ConfigurationManager (#63816)

* Avoid deadlock with ConfigurationManager

* Add packaging changes

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 21:16:02 +0000 (21:16 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] [mobile] Add extra HttpClientHandler linker substitution (#64852)
github-actions[bot] [Mon, 7 Feb 2022 21:02:07 +0000 (13:02 -0800)]
[release/6.0] [mobile] Add extra HttpClientHandler linker substitution (#64852)

* [mobile] Add extra HttpClientHandler linker substitution

The linker substitution for HttpClientHandler.IsNativeHandlerEnabled only worked when <UseNativeHttpHandler> in a project was set
to false.  Since the default for MAUI projects is true, this caused us to carry more assemblies than needed.

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

* Update src/libraries/System.Net.Http/src/ILLink/ILLink.Substitutions.mobile.xml

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 20:30:51 +0000 (20:30 +0000)]
Merge in 'release/6.0' changes

2 years ago[AOT] Use `.short` directive instead of `.hword` (#64637)
github-actions[bot] [Mon, 7 Feb 2022 20:18:33 +0000 (12:18 -0800)]
[AOT] Use `.short` directive instead of `.hword` (#64637)

Xamarin.Android is trying to (partially) switch to LLVM-based toolchain
and it appears that the `llvm-mc` assembler doesn't accept `.hword` as a
valid directive for x86 targets.  Since it's an alias for `.short`,
which works fine, the change should be safe across all the architectures
supported by AOT.

Co-authored-by: Marek Habersack <grendel@twistedcode.net>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:54:01 +0000 (19:54 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:51:53 +0000 (19:51 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix ReadyToRun loading on Apple Silicon (#64104)
Jonathan Giannuzzi [Mon, 7 Feb 2022 19:50:20 +0000 (19:50 +0000)]
[release/6.0] Fix ReadyToRun loading on Apple Silicon (#64104)

* Fix Compiler::impImportNewObjArray on osx-arm64

* Fix broken ReadyToRun loading on Apple Silicon

* Reject R2R images containing calls to CORINFO_HELP_NEW_MDARR

2 years ago[release/6.0] [mono] Fix downcast check in Array.CopySlow (#64479)
github-actions[bot] [Mon, 7 Feb 2022 19:41:40 +0000 (11:41 -0800)]
[release/6.0] [mono] Fix downcast check in Array.CopySlow (#64479)

* Add regression test for object[] -> Int32Enum[] array copy

where each element in the source array is the appropriate type

* Fix downcast check in slow array copy

When we have to resort to checking element by element, compare the type of each
actual element with the destination type. In particular, not the destinations
underlying type when it's an enum - we don't want to allow unrelated enums
using the same representation to copy over.

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

Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
2 years ago[release/6.0] Fix DateOnly and TimeOnly Formatting using interpolated strings (#64460)
github-actions[bot] [Mon, 7 Feb 2022 19:39:51 +0000 (11:39 -0800)]
[release/6.0] Fix DateOnly and TimeOnly Formatting using interpolated strings (#64460)

* Fix DateOnly and TimeOnly Formatting using interpolated strings

* Add TryFormat tests

Co-authored-by: Tarek Mahmoud Sayed <tarekms@microsoft.com>
2 years agoTemporarily disable EC file import tests (#64414)
github-actions[bot] [Mon, 7 Feb 2022 19:38:29 +0000 (11:38 -0800)]
Temporarily disable EC file import tests (#64414)

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:29:29 +0000 (19:29 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:26:27 +0000 (19:26 +0000)]
Merge in 'release/6.0' changes

2 years agoFix Xamarin assembly names in HttpClientHandler (#64391)
github-actions[bot] [Mon, 7 Feb 2022 19:26:22 +0000 (11:26 -0800)]
Fix Xamarin assembly names in HttpClientHandler (#64391)

Update to match the new names from https://github.com/xamarin/xamarin-macios/pull/13847

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2 years ago[release/6.0] add RID for Alpine 3.15 (#64304)
Tomas Weinfurt [Mon, 7 Feb 2022 19:20:48 +0000 (11:20 -0800)]
[release/6.0] add RID for Alpine 3.15 (#64304)

* add RID for Alpine 3.15 (#62938)

* add packaging

Co-authored-by: Antoine Martin <dev@ayakael.net>
2 years agoFix profiling objectsallocatedbyclass (#63814) (#64284)
David Mason [Mon, 7 Feb 2022 19:19:31 +0000 (11:19 -0800)]
Fix profiling objectsallocatedbyclass (#63814) (#64284)

* Add test for ObjectsAllocatedByClass profiler callbacks

* Fix ObjectsAllocatedByClass profiler callbacks based on wrong flag

* Fix wrong args in test log

Co-authored-by: Olivier Giniaux <oginiaux@smartadserver.com>
Co-authored-by: Olivier Giniaux <oginiaux@gmail.com>
Co-authored-by: Olivier Giniaux <oginiaux@smartadserver.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:19:20 +0000 (19:19 +0000)]
Merge in 'release/6.0' changes

2 years agomake sure OpenSSL is initialized before Tls13Supported code runs (#64252)
Tomas Weinfurt [Mon, 7 Feb 2022 19:18:56 +0000 (11:18 -0800)]
make sure OpenSSL is initialized before Tls13Supported code runs (#64252)

2 years agoMake sure that shared memory object name meets the length requirements (#64099) ...
Adam Sitnik [Mon, 7 Feb 2022 19:18:17 +0000 (20:18 +0100)]
Make sure that shared memory object name meets the length requirements (#64099) (#64266)

Co-authored-by: Stephen Toub <stoub@microsoft.com>
# Conflicts:
# src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedFile.CreateNew.Tests.cs
# src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewAccessor.Tests.cs
# src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStream.Tests.cs
# src/libraries/System.IO.MemoryMappedFiles/tests/MemoryMappedViewStreamConformanceTests.cs

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:17:08 +0000 (19:17 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix exception propagation over HW exception frame on macOS arm64 (...
github-actions[bot] [Mon, 7 Feb 2022 19:14:58 +0000 (11:14 -0800)]
[release/6.0] Fix exception propagation over HW exception frame on macOS arm64 (#64262)

* Fix exception propagation over HW exception frame on macOS arm64

There is a problem unwinding over the PAL_DispatchExceptionWrapper
to the actual hardware exception location. The unwinder is unable
to get distinct LR and PC in that frame and sets both of them to
the same value. This is caused by the fact that the
PAL_DispatchExceptionWrapper is just an injected fake frame and
there was no real call. Calls always return with LR and PC set
to the same value.

The fix unifies the hardware exception frame unwinding with Linux
where we had problems unwinding over signal handler trampoline, so
PAL_VirtualUnwind skips the trampoline and now also the
PAL_DispatchExceptionWrapper frame by copying the context of
the exception as the unwound context.

* Fix GC stress C - wrong context being restored

The context that is restored in the PAL_DispatchException needs to be
the one from the exception, not the original saved one. That ensures
that the registers updated by the GC in GC stress C in the context
are properly restored after the execution is resumed.

* Fix exception context leak in GC stress C

The PAL_SEHException had the records allocated on stack, so the
direct context restoration after the EH for GC stress C completed
leaked those.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:10:42 +0000 (19:10 +0000)]
Merge in 'release/6.0' changes

2 years agoCatch all exceptions (#64192)
github-actions[bot] [Mon, 7 Feb 2022 19:09:31 +0000 (11:09 -0800)]
Catch all exceptions (#64192)

Co-authored-by: Eaton Zveare <eaton@eaton-works.com>
2 years ago[release/6.0] Fix crash when VS4Mac is debugging VS4Mac arm64 (#64086)
Mike McLaughlin [Mon, 7 Feb 2022 19:05:29 +0000 (11:05 -0800)]
[release/6.0] Fix crash when VS4Mac is debugging VS4Mac arm64 (#64086)

* Fix crash when VS4Mac is debugging VS4Mac arm64

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

# Customer Impact

VS4Mac crashes when debugging VS4Mac.

# Testing

VS4Mac team verified that it no longer crashes.

# Risk

Low.

* Code review feedback. Add better comment

2 years agoFix OpenSSL version check in GetAlpnSupport (#64032)
github-actions[bot] [Mon, 7 Feb 2022 19:04:51 +0000 (11:04 -0800)]
Fix OpenSSL version check in GetAlpnSupport (#64032)

The previous check failed 3.0.0 because the Minor was 0 and Build was 0.

It could probably be rewritten to be `>= new Version(1, 0, 2)`, but that'd require more thinking.

Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
2 years agoFix OpenSSL 3 reporting an OutOfMemoryException for missing private key (#63955)
Kevin Jones [Mon, 7 Feb 2022 19:03:24 +0000 (14:03 -0500)]
Fix OpenSSL 3 reporting an OutOfMemoryException for missing private key (#63955)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 19:02:32 +0000 (19:02 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 18:59:51 +0000 (18:59 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Update SAN test to account for OpenSSL 3 changes (#63951)
github-actions[bot] [Mon, 7 Feb 2022 18:58:38 +0000 (10:58 -0800)]
[release/6.0] Update SAN test to account for OpenSSL 3 changes (#63951)

* Update SAN test to account for OpenSSL 3 changes.

* Fix test for browser

Co-authored-by: Kevin Jones <kevin@vcsjones.com>
2 years agoserialize SendPacketsAsync tests (#63888)
Anton Firszov [Mon, 7 Feb 2022 18:56:51 +0000 (19:56 +0100)]
serialize SendPacketsAsync tests (#63888)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 7 Feb 2022 18:55:15 +0000 (18:55 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] [wasm][debugger] Fixing error after receiving loaded_files = null ...
Thays Grazia [Mon, 7 Feb 2022 18:46:41 +0000 (15:46 -0300)]
[release/6.0] [wasm][debugger] Fixing error after receiving loaded_files = null (#63739)

* Backporting dotnet#63591

* Fix merge error.

* Fixing html page.

2 years ago[source-build][mono] Do not build Microsoft.NET.Runtime.MonoTargets.Sdk (#63701)
github-actions[bot] [Mon, 7 Feb 2022 18:46:13 +0000 (10:46 -0800)]
[source-build][mono] Do not build Microsoft.NET.Runtime.MonoTargets.Sdk (#63701)

* Does not build due to missing Microsoft.DotNet.CilStrip.Sources
  external dependency in source-build.

* Package is not needed for source-build anyway.

Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
2 years ago[release/6.0] Support Single-file executable in Windows 7 (#63533)
NN [Mon, 7 Feb 2022 18:45:35 +0000 (20:45 +0200)]
[release/6.0] Support Single-file executable in Windows 7 (#63533)

* Delay load winrt

* Trivial change to rerun tests

Co-authored-by: Vladimir Sadov <vsadov@microsoft.com>
2 years agobackport 62601 (#62816)
Thays Grazia [Mon, 7 Feb 2022 18:42:11 +0000 (15:42 -0300)]
backport 62601 (#62816)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 5 Feb 2022 03:13:37 +0000 (03:13 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Update helix queues (#64721)
Santiago Fernandez Madero [Sat, 5 Feb 2022 03:00:23 +0000 (19:00 -0800)]
[release/6.0] Update helix queues (#64721)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 3 Feb 2022 00:24:16 +0000 (00:24 +0000)]
Merge in 'release/6.0' changes

2 years agoUpdate branding to 6.0.3 (#64644)
vseanreesermsft [Thu, 3 Feb 2022 00:07:51 +0000 (16:07 -0800)]
Update branding to 6.0.3 (#64644)

* Update branding to 6.0.3

* Clear list of OOB packages built on the branch and always build ref pack

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 20 Jan 2022 17:36:23 +0000 (17:36 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix Crossgen2 bug #61104 and add regression test (#64027)
github-actions[bot] [Thu, 20 Jan 2022 17:21:19 +0000 (18:21 +0100)]
[release/6.0] Fix Crossgen2 bug #61104 and add regression test (#64027)

* Fix issue #61104 and add regression test

The issue tracks the runtime regression failure where
Crossgen2-compiled app is unable to locate a type with non-ASCII
characters in its name. The failure was caused by the fact that
Crossgen2 was incorrectly zero-extended the individual characters
when calculating the hash whereas runtime is sign-extending them.

Thanks

Tomas

* Simplify the regression test per Anton's PR feedback

Co-authored-by: Tomas <trylek@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 14 Jan 2022 19:04:27 +0000 (19:04 +0000)]
Merge in 'release/6.0' changes

2 years ago[wasm][debugger] Missing test files (#63148)
Thays Grazia [Fri, 14 Jan 2022 19:00:23 +0000 (16:00 -0300)]
[wasm][debugger] Missing test files (#63148)

Adding test files that were not added on release 6.0 by mistake.

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 13 Jan 2022 18:24:10 +0000 (18:24 +0000)]
Merge in 'release/6.0' changes

2 years agoFix the MacOS remote unwinder for VS4Mac (#63405)
Mike McLaughlin [Thu, 13 Jan 2022 18:20:13 +0000 (10:20 -0800)]
Fix the MacOS remote unwinder for VS4Mac (#63405)

* Fix the MacOS remote unwinder for VS4Mac

The wrong module was being passed to the remote unwinder because the load bias for shared modules
was being calculated incorrectly.

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

* Fix native frame unwind in syscall on arm64 for VS4Mac crash report

From PR in main: https://github.com/dotnet/runtime/pull/63598

Add arm64 version of StepWithCompactNoEncoding for syscall leaf node wrappers that have compact encoding of 0.

Fix ReadCompactEncodingRegister so it actually decrements the addr.

Change StepWithCompactEncodingArm64 to match what MacOS libunwind does for framed and frameless stepping.

arm64 can have frames with the same SP (but different IPs). Increment SP for this condition so createdump's unwind
loop doesn't break out on the "SP not increasing" check and the frames are added to the thread frame list in the
correct order.

Add getting the unwind info for tail called functions like this:

__ZL14PROCEndProcessPvji:
   36630:       f6 57 bd a9     stp     x22, x21, [sp, #-48]!
   36634:       f4 4f 01 a9     stp     x20, x19, [sp, #16]
   36638:       fd 7b 02 a9     stp     x29, x30, [sp, #32]
   3663c:       fd 83 00 91     add     x29, sp, #32
...
   367ac:       e9 01 80 52     mov     w9, #15
   367b0:       7f 3e 02 71     cmp     w19, #143
   367b4:       20 01 88 1a     csel    w0, w9, w8, eq
   367b8:       2e 00 00 94     bl      _PROCAbort
_TerminateProcess:
-> 367bc:       22 00 80 52     mov     w2, #1
   367c0:       9c ff ff 17     b       __ZL14PROCEndProcessPvji

The IP (367bc) returns the (incorrect) frameless encoding with nothing on the stack (uses an incorrect LR to unwind). To fix this
get the unwind info for PC -1 which points to PROCEndProcess with the correct unwind info. This matches how lldb unwinds this frame.

Always address module segment to IP lookup list instead of checking the module regions.

Strip pointer authentication bits on PC/LR.

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 13 Jan 2022 16:50:38 +0000 (16:50 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Use "read" to fetch misaligned 64bit values from bundle header (#63519)
github-actions[bot] [Thu, 13 Jan 2022 16:47:36 +0000 (08:47 -0800)]
[release/6.0] Use "read" to fetch misaligned 64bit values from bundle header (#63519)

* Use "read" to fetch misaligned 64bit values

* remove read_direct

* rename read() -> read_byte()

Co-authored-by: vsadov <8218165+VSadov@users.noreply.github.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 13 Jan 2022 00:30:01 +0000 (00:30 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Build all packages when in source-build (#63653)
Santiago Fernandez Madero [Thu, 13 Jan 2022 00:24:11 +0000 (16:24 -0800)]
[release/6.0] Build all packages when in source-build (#63653)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 10 Jan 2022 23:37:37 +0000 (23:37 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 10 Jan 2022 23:36:39 +0000 (23:36 +0000)]
Merge in 'release/6.0' changes

2 years agoFix custom JsonConverterFactories not working with transitive type/property declarati...
github-actions[bot] [Mon, 10 Jan 2022 23:34:53 +0000 (15:34 -0800)]
Fix custom JsonConverterFactories not working with transitive type/property declarations. (#62643)

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
2 years ago[release/6.0] 1388 xml serializer assembly load context awareness (#61266)
github-actions[bot] [Mon, 10 Jan 2022 23:32:03 +0000 (15:32 -0800)]
[release/6.0] 1388 xml serializer assembly load context awareness (#61266)

* Generate dynamic serialization assembly in the appropriate ALC, and don't keep any hard refs to types that could prevent unloading.

* Add small test for ALC unloading.

* PR feedback; Move into TempAssembly; Strong/Weak lookup tables; Test refinement

* Refining TempAssembly cache; Reflection-based fix; Test corrections

* Mono/wasm test fixup

* Ensure that serializers from XmlMappings don't run afoul of collectible ALCs.

* PR feedback

* Unloadable contexts not yet supported in Mono.

* Fix trimming of types for XmlSerializer tests that got moved out of main test assembly.

* Encapsulating the duality of dealing with unloadable ALC instead of rewriting similar code everywhere.

* Missed new file in last commit.

* Compilation bug not seen locally.

* Perf improvement.

* Remove extraneous line. Test feedback.

* Fix unloadability (#58948)

There is a bug in AppDomain::FindAssembly code path that iterates over
the domain assemblies. The iteration loop leaves the refcount of the
LoaderAllocator related to the returned DomainAssembly bumped, but
nothing ever decrements it. So when a code that needs to be unloaded
ends up in that code path, all the managed things like managed
LoaderAllocator, LoaderAllocatorScout are destroyed, but the unloading
doesn't complete due to the refcount.

We have never found it before as this code path is never executed in any
of the coreclr tests even with unloadability testing option.

(cherry picked from commit 8b38c1973eeaf1c13e8d2729ab1b1fe1a7cf9a5b)

Co-authored-by: Steve Molloy <smolloy@microsoft.com>
Co-authored-by: Jan Vorlicek <jan.vorlicek@volny.cz>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 10 Jan 2022 22:38:15 +0000 (22:38 +0000)]
Merge in 'release/6.0' changes

2 years agoMake delegates unsupported by JsonSerializer (#63514)
github-actions[bot] [Mon, 10 Jan 2022 22:35:26 +0000 (14:35 -0800)]
Make delegates unsupported by JsonSerializer (#63514)

Co-authored-by: Layomi Akinrinade <laakinri@microsoft.com>
2 years agoFix NETStandard library using JSON source gen (#63520)
Eric StJohn [Mon, 10 Jan 2022 22:35:08 +0000 (14:35 -0800)]
Fix NETStandard library using JSON source gen (#63520)

NETStandard libraries using JSON source gen would fail to load on
.NETCore due to missing IsExternalInit in the assembly.

On .NETCore this is defined, whereas on .NETStandard JSON carries an
internal copy.  The compiler emits references to the internal type when
a NETStandard library calls init-only setters in JSON types, but these
references are not satisfied when the library runs on .NETCore.

Fix this by adding a type forward to JSON for the IsExternalInit type.

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Mon, 10 Jan 2022 17:16:07 +0000 (17:16 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix GENERIC_MATH_FEATURE by making sure we always choose the right...
Santiago Fernandez Madero [Mon, 10 Jan 2022 17:11:21 +0000 (09:11 -0800)]
[release/6.0] Fix GENERIC_MATH_FEATURE by making sure we always choose the right ref (#63525)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 20:17:42 +0000 (20:17 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Suppress SendPacketsElement_FileStreamMultiPartMixed_MultipleFileStream...
github-actions[bot] [Sat, 8 Jan 2022 20:14:51 +0000 (12:14 -0800)]
[release/6.0] Suppress SendPacketsElement_FileStreamMultiPartMixed_MultipleFileStreams_Success test on Windows 11 (#63526)

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 03:42:42 +0000 (03:42 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 03:40:52 +0000 (03:40 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 03:38:55 +0000 (03:38 +0000)]
Merge in 'release/6.0' changes

2 years agodisable tests unstable on Windows 11 (#63527)
github-actions[bot] [Sat, 8 Jan 2022 03:38:30 +0000 (20:38 -0700)]
disable tests unstable on Windows 11 (#63527)

Co-authored-by: wfurt <tweinfurt@yahoo.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 03:37:28 +0000 (03:37 +0000)]
Merge in 'release/6.0' changes

2 years ago[wasm] Backport build improvements, and fixes from #61581 (#62757)
Ankit Jain [Sat, 8 Jan 2022 03:36:51 +0000 (22:36 -0500)]
[wasm] Backport build improvements, and fixes from #61581 (#62757)

* [wasm] Disable native strip for tests

* [wasm] improve fixup of symbol names

* [wasm] Extract BuildProject params to BuildProjectOptions record

* [wasm] Add WasmBuild.sln

* [wasm] Add `@(NativeFileReference)` to up-to-date check items for VS

VS does its own tracking of inputs/outputs too, and needs to be told
about `@(NativeFileReference)` items, so a build can get triggered with
F5 when a native file changes.

Based on https://github.com/dotnet/project-system/blob/main/docs/up-to-date-check.md?rgh-link-date=2021-10-26T13%3A23%3A47Z#up-to-date-check

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

* MonoAOTCompiler: log failed output as error

* [wasm] Improve error message when runtime pack cannot be found

* [wasm] PInvokeTableGenerator: don't fail on errors in reading custom attributes

Inspired by https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1364890?src=WorkItemMention&src-action=artifact_link

Works around a NRE in CustomAttributeData.AttributeType because it's
ConstructorInfo is null.
The mono side issue: https://github.com/mono/mono/issues/15340

* replace '.', '-', and '+' with '_' instead of their code

2 years agoInclude properties on records for (de)serialization in source-gen (#63454)
github-actions[bot] [Sat, 8 Jan 2022 03:35:54 +0000 (20:35 -0700)]
Include properties on records for (de)serialization in source-gen (#63454)

Co-authored-by: Layomi Akinrinade <layomia@gmail.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 03:35:30 +0000 (03:35 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix TimeSpan support in sourcegen (#62191)
github-actions[bot] [Sat, 8 Jan 2022 03:35:01 +0000 (20:35 -0700)]
[release/6.0] Fix TimeSpan support in sourcegen (#62191)

* fix TimeSpan support in sourcegen

* address feedback

* Address feedback

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
2 years agoSuppress warnings about [Obsolete] member usage in JSON src-gen'd code (#63501)
github-actions[bot] [Sat, 8 Jan 2022 03:33:37 +0000 (20:33 -0700)]
Suppress warnings about [Obsolete] member usage in JSON src-gen'd code (#63501)

Co-authored-by: Layomi Akinrinade <laakinri@microsoft.com>
2 years agoFix bugs with generation for ctor param default values (#62798) (#63493)
Layomi Akinrinade [Sat, 8 Jan 2022 03:32:08 +0000 (22:32 -0500)]
Fix bugs with generation for ctor param default values (#62798) (#63493)

* Fix bugs with generation for ctor param default values

* Address review feedback

* Address feedback

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Sat, 8 Jan 2022 01:05:00 +0000 (01:05 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix System.Object serialization with custom number handling (#62193)
github-actions[bot] [Sat, 8 Jan 2022 01:01:06 +0000 (17:01 -0800)]
[release/6.0] Fix System.Object serialization with custom number handling (#62193)

* Fix System.Object serialization with custom number handling

* fix typos

* Address feedback

Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
Co-authored-by: Eric StJohn <ericstj@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 7 Jan 2022 23:38:28 +0000 (23:38 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Port test-only test fixes (#63507)
Dan Moseley [Fri, 7 Jan 2022 23:33:19 +0000 (16:33 -0700)]
[release/6.0] Port test-only test fixes (#63507)

* Outerloop ports

* Port EFS test fix

* Partially disable test (#59760)

* fix build

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 7 Jan 2022 19:05:54 +0000 (19:05 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Add explicit null-check for tailcalls to VSD (#62769)
github-actions[bot] [Fri, 7 Jan 2022 19:00:15 +0000 (11:00 -0800)]
[release/6.0] Add explicit null-check for tailcalls to VSD (#62769)

* Add explicit null-check for tailcalls to VSD

There is already a comment that this is necessary, but it is only being
done for x86 tailcalls via jit helper. Do it for normal tailcalls to VSD
as well.

Fix #61486

* Revert cleanup to make potential backport easier

Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 7 Jan 2022 18:47:59 +0000 (18:47 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Ensure UserSecretsIdAttribute is added to assembly (#63423)
Eric Erhardt [Fri, 7 Jan 2022 18:45:06 +0000 (12:45 -0600)]
[release/6.0] Ensure UserSecretsIdAttribute is added to assembly (#63423)

* [release/6.0] Ensure UserSecretsIdAttribute is added to assembly

When Microsoft.Extensions.Configuration.UserSecrets is referenced transitively, for example through Extensions.Hosting, the UserSecretsIdAttribute isn't getting added to the built assembly. This is because the logic is contained in a `build` folder which is excluded by the dependency from Extensions.Hosting.

The fix is to move the logic to `buildTransitive`, so it gets picked up by NuGet.

Note, we also need to service the Extensions.Hosting package so it references the new UserSecrets version by default.

Fix #63246

* Add a binding redirect in order to fix test failure on netfx.

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 7 Jan 2022 16:43:19 +0000 (16:43 +0000)]
Merge in 'release/6.0' changes

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Fri, 7 Jan 2022 16:41:43 +0000 (16:41 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Undo breaking change in 6.0 in environment variable configuration prefi...
github-actions[bot] [Fri, 7 Jan 2022 16:39:43 +0000 (09:39 -0700)]
[release/6.0] Undo breaking change in 6.0 in environment variable configuration prefix support (#62916)

* Undo breaking change in 6.0 With environment variable configuration provider, undo support for normalizing prefix using double underscore

* Update src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/tests/EnvironmentVariablesTest.cs

* Update src/libraries/Microsoft.Extensions.Configuration.EnvironmentVariables/tests/EnvironmentVariablesTest.cs

* update tests, not windows specific

* Update fix for 6.0.x servicing.

Co-authored-by: Maryam Ariyan <maryam.ariyan@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2 years ago[release/6.0] Fix setting timestamp on Windows on readonly files (#62922)
Adam Sitnik [Fri, 7 Jan 2022 16:38:04 +0000 (17:38 +0100)]
[release/6.0] Fix setting timestamp on Windows on readonly files (#62922)

* Fix setting timestamp on Windows on readonly files (#62638)

# Conflicts:
# src/libraries/System.IO.FileSystem/tests/Base/BaseGetSetTimes.cs

* make it compile

* fix build

Co-authored-by: Dan Moseley <danmose@microsoft.com>
2 years ago[release/6.0] WinHttp: always read HTTP/2 streams to the end (#63346)
github-actions[bot] [Fri, 7 Jan 2022 16:37:14 +0000 (09:37 -0700)]
[release/6.0] WinHttp: always read HTTP/2 streams to the end (#63346)

* tests

* enable WINHTTP_OPTION_REQUIRE_STREAM_END on request handles

* set WINHTTP_OPTION_REQUIRE_STREAM_END on the session handle

Co-authored-by: antonfirsov <antonfir@gmail.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 6 Jan 2022 23:59:26 +0000 (23:59 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Making user secrets optional by default (#62917)
github-actions[bot] [Thu, 6 Jan 2022 23:55:37 +0000 (16:55 -0700)]
[release/6.0] Making user secrets optional by default (#62917)

* Making user secrets optional by default

* update test

* Update fix for 6.0.x servicing.

Co-authored-by: Maryam Ariyan <maryam.ariyan@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 6 Jan 2022 20:08:27 +0000 (20:08 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Fix XXHash for stripe size (#61923)
github-actions[bot] [Thu, 6 Jan 2022 20:04:56 +0000 (12:04 -0800)]
[release/6.0] Fix XXHash for stripe size (#61923)

* Fix XXHash for stripe size

* Add servicing properties to System.IO.Hashing

* Run package validation against 6.0.0 packages and enable it for IO Hashing.

Co-authored-by: Tornhoof <tornhoof@gmail.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 6 Jan 2022 19:13:19 +0000 (19:13 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] Change macOS activatin injection failure handling (#63393)
Jan Vorlicek [Thu, 6 Jan 2022 19:07:37 +0000 (20:07 +0100)]
[release/6.0] Change macOS activatin injection failure handling (#63393)

Backport of #59045 to release/6.0

The pthread_kill can fail with ENOTSUP on macOS when the target thread
is a dispatch queue thread. Instead of aborting the process, it is
better to fail to inject the activation and rely on return address
hijacking and other means of syncing with GC.

2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 6 Jan 2022 18:50:52 +0000 (18:50 +0000)]
Merge in 'release/6.0' changes

2 years agoUnify the FlushProcessWriteBuffers mechanism for macOS arm64 / x64 (#63301)
github-actions[bot] [Thu, 6 Jan 2022 18:46:06 +0000 (10:46 -0800)]
Unify the FlushProcessWriteBuffers mechanism for macOS arm64 / x64 (#63301)

The macOS arm64 was using a new mechanism to implement FlushProcessWriteBuffers
because the original one based on a wired memory page doesn't work on arm64.
We have seen people hitting problems with the wired memory page allocation on
x64 in the past due to the fact that wired memory is a scarce resource and
in some cases, e.g. in presence of apps that greedily grab all of the available
wired memory pages, we were unable to initialize coreclr and execute any .NET
application.

This change switches x64 to the same mechanism as arm64 to prevent that issue
from happening and updates the minimum supported x64 macOS to 10.14. That's the
version required for the new APIs the change is using. Apple stopped supporting
10.13 a year ago anyways.

Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Thu, 6 Jan 2022 18:18:39 +0000 (18:18 +0000)]
Merge in 'release/6.0' changes

2 years agoFix named mutexes on OSX to work between arm64 and emulated x64 processes (#62765)
Koundinya Veluri [Thu, 6 Jan 2022 18:14:27 +0000 (10:14 -0800)]
Fix named mutexes on OSX to work between arm64 and emulated x64 processes (#62765)

- The page size is different between arm64 processes and emulated x64 processes
- The shared memory file size is set to the page size and there was a strict check on the file size, leading to an exception from the second process of a different arch that tries to share the same mutex
- Made the file size check less strict, and allowed an arch to increase but not decrease the file size such that it can be mapped at page size granularity
- Fix for https://github.com/dotnet/runtime/issues/62140 in main

2 years agoFix bug where we reference the entry #0 in the pinned plug queue (#60966) (#63351)
Andrew Au [Thu, 6 Jan 2022 18:14:17 +0000 (10:14 -0800)]
Fix bug where we reference the entry #0 in the pinned plug queue (#60966) (#63351)

We reference entry #0 in the pinned plug queue even if there are no pinned plugs at all and thus the pinned plug queue contains left-over data from the mark phase.

The fix is to initialize saved_pinned_plug_index to a value that is invalid as a pinned plug queue index, and only use saved_pinned_plug_index as an index if  is valid.

Co-authored-by: Peter Sollich <petersol@microsoft.com>
2 years agoMerge in 'release/6.0' changes
dotnet-bot [Wed, 5 Jan 2022 19:11:38 +0000 (19:11 +0000)]
Merge in 'release/6.0' changes

2 years ago[release/6.0] bump sourcebuild leg timeout (#63298)
Santiago Fernandez Madero [Wed, 5 Jan 2022 19:08:12 +0000 (13:08 -0600)]
[release/6.0] bump sourcebuild leg timeout (#63298)