github-actions[bot] [Wed, 8 Sep 2021 17:39:13 +0000 (10:39 -0700)]
[release/6.0] Always write sample events in EventPipe based on sample frequency. (#58761)
* Always write sample events in EventPipe based on sample frequency.
If no managed frames (including helper frames) are located on stack,
sample was dropped and not emitted into EventPipe. This cause issues
in tooling that try to do thread time calculations based on sample,
especially in cases where embedded threads returned to native
code during several samples before calling back into runtime. In such
scenarios the last sampled event would be prolonged, giving false
information that that stackframe lasted much longer than it really did.
Always writing samples into EventPipe will also visualize time an attached
thread spend outside of runtime, not running managed code.
* Adjust included profiler samples.
Only include external samples still on top fram (no callstack) or
managed/external samples includig a callstack.
Co-authored-by: lateralusX <lateralusx.github@gmail.com>
github-actions[bot] [Wed, 8 Sep 2021 17:38:57 +0000 (10:38 -0700)]
Make sure EventPipe streaming thread won't write session->streaming_thread after session free. (#58710)
In case where ep_disable is called by a different thread (close IPC command)
there was a race between streaming threads setting
session->streaming_thread to NULL and IPC command triggering a call
to disable_holding_lock and freeing session.
Resetting the streaming_thread in streaming thread must happens before
it signals its shutdown event to prevent the race.
Co-authored-by: lateralusX <lateralusx.github@gmail.com>
Alexander Köplinger [Wed, 8 Sep 2021 07:32:11 +0000 (09:32 +0200)]
Change namespace of embedded Cecil in ILStrip task (#58763)
We hit a case where the ILStrip task assembly is IL-merged with a few other task assemblies on the Xamarin side which causes a clash because of trying to merge different Mono.Cecil versions.
Rename the Mono.Cecil used here to avoid that clash. Brings in https://github.com/dotnet/runtime-assets/pull/169
github-actions[bot] [Wed, 8 Sep 2021 07:15:46 +0000 (09:15 +0200)]
[release/6.0] Add System.Net.Http ServerCertificateCustomValidationCallback ILLink Suppression (#58508)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
github-actions[bot] [Wed, 8 Sep 2021 04:45:29 +0000 (22:45 -0600)]
[release/6.0] Fix detection of unsupported links (#58399)
* Fix detection of unsupported links
* Add Directory.Exists check
* Fix CI issue caused by local testing code
Co-authored-by: David Cantu <dacantu@microsoft.com>
github-actions[bot] [Wed, 8 Sep 2021 04:43:25 +0000 (22:43 -0600)]
Stop using ERR_GET_FUNC, since it has been removed in OSSL3 Beta2. (#57879)
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
github-actions[bot] [Wed, 8 Sep 2021 01:50:45 +0000 (19:50 -0600)]
fix ValueTuple source generation support (#58723)
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
github-actions[bot] [Wed, 8 Sep 2021 01:49:28 +0000 (19:49 -0600)]
[release/6.0] Increase some of the DnsEndPointTest timeouts (#58617)
* Increase some of the DnsEndPointTest timeouts
* remove accidental comment
* PassingTestTimeout -> PassingTestShortTimeout & PassingTestLongTimeout
* undo renaming PassingTestTimeout
* remove whitespaces VS inserted
* whitespaces
* whitespaces
Co-authored-by: Anton Firszov <antonfir@gmail.com>
github-actions[bot] [Wed, 8 Sep 2021 01:40:01 +0000 (19:40 -0600)]
[release/6.0] The signal enum in the native library should match the managed code. (#58682)
* The signal enum in the native library should match the managed code.
* PosixSignalRegistrationTests.Unix: validate signal pal mapping (#58711)
* PosixSignalRegistrationTests.Unix: validate signal pal mapping
* Use InvariantCulture for pid ToString
* Invoke kill through shell.
* Remove InvariantCulture
Co-authored-by: James Truher <jimtru@microsoft.com>
Co-authored-by: Tom Deseyn <tom.deseyn@gmail.com>
github-actions[bot] [Tue, 7 Sep 2021 23:30:26 +0000 (16:30 -0700)]
[release/6.0] Skip allocation for ZeroInit writeThru intervals (#58767)
* Do not allocate register if ZeroInit/EHWriteThru
* Update the comments about zero-init heuristics
* jit format
Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
github-actions[bot] [Tue, 7 Sep 2021 18:18:08 +0000 (11:18 -0700)]
[release/6.0] Support JsonConverterFactory with src-gen (#58652)
* Support JsonConverterFactory with src-gen
* Support property factory converters
* Fixup merge ordering; add tests
* Ensure context helper methods properly generated for implicit context types
Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
github-actions[bot] [Tue, 7 Sep 2021 17:46:01 +0000 (11:46 -0600)]
[release/6.0] add TLS 1.3 support to WinHttp (#58718)
* add TLS 1.3 support to WinHttp
* remove extra line
* fix comment
* add check if WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 is supported
Co-authored-by: wfurt <tweinfurt@yahoo.com>
github-actions[bot] [Tue, 7 Sep 2021 17:37:46 +0000 (10:37 -0700)]
[release/6.0] Undo struct promotion on "RetInd" code path (#58602)
* TOREVERT: small repro case
* Fix the undone struct promotion for return
* Display lclVar number
* Revert "TOREVERT: small repro case"
This reverts commit
9ef80ba45d52257f0b2b33404206ecda3823c92c.
* Add test case
* jit format
* Combine the condition
* Add an assert to catch the missing places
* Remove unneeded variable setting from csproj
Co-authored-by: Kunal Pathak <Kunal.Pathak@microsoft.com>
github-actions[bot] [Tue, 7 Sep 2021 17:36:54 +0000 (10:36 -0700)]
Add support for variance to IDIC (#58670)
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
github-actions[bot] [Tue, 7 Sep 2021 17:35:56 +0000 (10:35 -0700)]
[release/6.0] [mini] Don't add unbox tramopline on generic DIM calls (#58585)
* [mini] Don't add unbox tramopline on generic DIM calls
Don't unbox a valuetype `this` if the generic method is a DIM
Fixes https://github.com/dotnet/runtime/issues/58394
* Add regression test
Co-authored-by: Aleksey Kliger <alklig@microsoft.com>
github-actions[bot] [Tue, 7 Sep 2021 17:27:24 +0000 (10:27 -0700)]
Disable offending H/3 op causing server errors (#58541)
Co-authored-by: ManickaP <mapichov@microsoft.com>
github-actions[bot] [Tue, 7 Sep 2021 15:30:43 +0000 (17:30 +0200)]
[release/6.0] [mono] win32 implementation of g_get_current_dir (#58555)
Co-authored-by: Radek Doulik <radekdoulik@gmail.com>
Viktor Hofer [Sat, 4 Sep 2021 08:42:06 +0000 (10:42 +0200)]
Replace S.S.Permissions ref with AccessControl in S.S.C.Xml (#58666)
56894f09aaac6e635136dec68dfc174159911796 brought the
System.Security.AccessControl library and package back but
in the change, the reference in System.Security.Cryptography.Xml
to System.Security.Permissions wasn't replaced with the reference
to System.Security.AccessControl.
github-actions[bot] [Fri, 3 Sep 2021 18:59:45 +0000 (12:59 -0600)]
Disable fast path serialization for types with properties using custom converters. (#58571)
Co-authored-by: Eirik Tsarpalis <eirik.tsarpalis@gmail.com>
github-actions[bot] [Fri, 3 Sep 2021 18:30:37 +0000 (11:30 -0700)]
[release/6.0] Fix crossgen2 calli GC hole by unifying MethodDesc/MethodSignature IsMarshallingRequired logic (#58609)
* Unify MethodDesc/MethodSignature IsMarshallingRequired logic
For unmanaged calli crossgen2 was not properly checking all necessary
conditions for a pinvoke being required. In particular it did not check
for managed byrefs. Unify the MethodDesc/MethodSignature logic to get
all the checks.
Fix #58259
* Add a simple regression test
* Fix test build
Co-authored-by: Jakob Botsch Nielsen <jakob.botsch.nielsen@gmail.com>
github-actions[bot] [Fri, 3 Sep 2021 17:27:28 +0000 (10:27 -0700)]
run System.IO.Tests .NET 5 compat tests on every OS (#58613)
Co-authored-by: Adam Sitnik <adam.sitnik@microsoft.com>
github-actions[bot] [Fri, 3 Sep 2021 14:59:27 +0000 (16:59 +0200)]
Fix source-build on the s390x platform (#58618)
* Do not disable Mono in source-build if it is the primary runtime
Co-authored-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Maxim Lipnin [Fri, 3 Sep 2021 11:46:00 +0000 (14:46 +0300)]
Fix Console.Write on iOS (#56713) (#58559)
Backport of https://github.com/dotnet/runtime/pull/56713
github-actions[bot] [Fri, 3 Sep 2021 00:13:52 +0000 (18:13 -0600)]
Pass a null getter\setter with [JsonIgnore] and src gen (#58572)
Co-authored-by: Steve Harter <steveharter@users.noreply.github.com>
github-actions[bot] [Thu, 2 Sep 2021 23:19:14 +0000 (16:19 -0700)]
[release/6.0] Cleaned up version of earlier PR #48601. (#58544)
* Cleaned up version of earlier PR #48601.
* Address code review feedback.
* Take out changes in dt_high_frag_p - probably no longer necessary.
Remove changes for the heap_hard_limit case - we'll do those later.
Fixed another place where I had called generation_sizes instead of generation_size.
* Fixed parameter for call to generation_size.
* Update comment to the more explicit version in .NET Framework.
* Added parentheses around an expression to address code review feedback.
Co-authored-by: Peter Sollich <petersol@microsoft.com>
github-actions[bot] [Thu, 2 Sep 2021 20:43:20 +0000 (13:43 -0700)]
[release/6.0] In reset_memory, check settings.entry_memory_load ... (#58543)
* In reset_memory, check settings.entry_memory_load in addition to g_low_memory_status - it looks like the latter won't be set on Linux.
* Factor out common logic for detecting high memory load.
* Make high_memory_load_p a member function of gc_heap and rename to dt_high_memory_load_p.
Co-authored-by: Peter Sollich <petersol@microsoft.com>
github-actions[bot] [Thu, 2 Sep 2021 20:43:02 +0000 (13:43 -0700)]
Fix trim_youngest_desired for the case of high memory load and huge main memory - the return value should never be larger than total_new_allocation. (#58538)
Co-authored-by: Peter Sollich <petersol@microsoft.com>
github-actions[bot] [Thu, 2 Sep 2021 18:57:34 +0000 (12:57 -0600)]
[release/6.0] [HTTP/3] Fix content stream read hang (#58460)
* Fix HTTP/3 content stream read hang
* Fix hang if full data frame is not available
Co-authored-by: Natalia Kondratyeva <knatalia@microsoft.com>
Michael Simons [Thu, 2 Sep 2021 18:23:57 +0000 (13:23 -0500)]
Conditionally pack symbols based on keepNativeSymbols (#58565)
* Conditionally pack symbols based on keepNativeSymbols
* Fix casing issue
* Add clarifing comment
github-actions[bot] [Thu, 2 Sep 2021 18:02:07 +0000 (11:02 -0700)]
[release/6.0] Notify Reference Tracker runtime of disconnect at the right time (#58533)
* Notify Reference Tracker runtime of disconnect at the right time
Based on misunderstanding of SyncBlock clean-up modes the indication of
when an Native Object Wrapper was being collected was being done after
the wrapper's Finalizer was run. However, this information must be conveyed
prior to wrapper finalization and synchronously during the GC.
* Review feedback.
Co-authored-by: Aaron Robinson <arobins@microsoft.com>
github-actions[bot] [Thu, 2 Sep 2021 17:31:48 +0000 (10:31 -0700)]
Fix dump generation segfault in DAC (#58537)
Issue: https://github.com/dotnet/runtime/issues/58525
Co-authored-by: Mike McLaughlin <mikem@microsoft.com>
github-actions[bot] [Thu, 2 Sep 2021 16:37:45 +0000 (10:37 -0600)]
Schedule http & ssl stress runs for release/6.0 (#58272)
Co-authored-by: Anton Firszov <antonfir@gmail.com>
Aaron Kunkle [Thu, 2 Sep 2021 16:28:18 +0000 (09:28 -0700)]
Turn off release branch in perf-slow.yml for release/6.0 (#58512)
* Disable release/6.0 for perf-slow.yml
* Remove trigger
* Specify no trigger
Ulises Hernandez [Thu, 2 Sep 2021 14:28:40 +0000 (07:28 -0700)]
Use new Hosted build pools (#58484)
Viktor Hofer [Thu, 2 Sep 2021 12:06:41 +0000 (14:06 +0200)]
Merge pull request #58516 from dotnet-maestro-bot/merge/release/6.0-rc1-to-release/6.0
[automated] Merge branch 'release/6.0-rc1' => 'release/6.0'
dotnet-maestro[bot] [Thu, 2 Sep 2021 12:00:43 +0000 (14:00 +0200)]
Update dependencies from https://github.com/dotnet/emsdk build
20210901.1 (#58526)
Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
From Version 6.0.0-rc.2.21430.4 -> To Version 6.0.0-rc.2.21451.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
github-actions[bot] [Thu, 2 Sep 2021 07:00:51 +0000 (09:00 +0200)]
[release/6.0] [MonoVM] Fix calculation of code size for AOT assemblies mixing JIT and LLVM (#58503)
Co-authored-by: Filip Navara <navara@emclient.com>
Nikola Milosavljevic [Wed, 1 Sep 2021 19:58:40 +0000 (12:58 -0700)]
Create copy of RPMs for CBL Mariner (#58465)
Aleksey Kliger (λgeek) [Wed, 1 Sep 2021 18:08:12 +0000 (14:08 -0400)]
Merge branch 'release/6.0' into merge/release/6.0-rc1-to-release/6.0
Anirudh Agnihotry [Wed, 1 Sep 2021 17:31:25 +0000 (10:31 -0700)]
fix stable package proj versioning support (#58474)
github-actions[bot] [Wed, 1 Sep 2021 17:08:38 +0000 (10:08 -0700)]
[release/6.0-rc1] [debugger] Avoid calling debugger_agent_single_step_from_context when thread is not attached yet (#58480)
* Fixes https://devdiv.visualstudio.com/DevDiv/_workitems/edit/1383962
* Fix {
Co-authored-by: Thays <thaystg@gmail.com>
github-actions[bot] [Wed, 1 Sep 2021 15:45:42 +0000 (17:45 +0200)]
Fix X509ChainElementCollection_CopyTo_NonZeroLowerBound_ThrowsIndexOutOfRangeException test on Android (#58489)
It started to fail because the validity of the MicrosoftDotComSslCertBytes expired on 2021-08-29 22:17:02.
Since this test doesn't need to validate a specific expiration time we can just set the VerificationTime on the chain like we do in other tests.
Fixes https://github.com/dotnet/runtime/issues/58416
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
github-actions[bot] [Wed, 1 Sep 2021 14:37:45 +0000 (08:37 -0600)]
[release/6.0] [QUIC] Add QuicStream.WaitForWriteCompletionAsync (#58415)
Viktor Hofer [Wed, 1 Sep 2021 13:40:46 +0000 (15:40 +0200)]
[release/6.0] Bring back System.Security.AccessControl package (#57816)
* Bring back System.Threading.AccessControl pkg
Fixes https://github.com/dotnet/runtime/issues/54341
* Fix S.Security.Permissions dependencies
* Fix .NETFramework configurations
* Add ILLink Descriptors file to workaround Trimmer removing an interface from a type
* add .LibraryBuild suffix to descriptors file
Co-authored-by: Jose Perez Rodriguez <joperezr@microsoft.com>
Michael Simons [Wed, 1 Sep 2021 13:38:24 +0000 (08:38 -0500)]
Don't always build source build with ci flag (#58457)
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>
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>
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>
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>
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>
Tarek Mahmoud Sayed [Tue, 31 Aug 2021 19:46:07 +0000 (12:46 -0700)]
Fix TimeZoneInfo.HasIanaId when using Local Time Zone (#58414)
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>
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>
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>
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>
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.
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>
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>
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.
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'
dotnet-maestro[bot] [Mon, 30 Aug 2021 13:24:37 +0000 (15:24 +0200)]
Update dependencies from https://github.com/dotnet/emsdk build
20210830.3 (#58357)
Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
From Version 6.0.0-rc.1.21429.1 -> To Version 6.0.0-rc.1.21430.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
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>
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>
Viktor Hofer [Mon, 30 Aug 2021 12:34:41 +0000 (14:34 +0200)]
Update Versions.props
Viktor Hofer [Mon, 30 Aug 2021 12:33:14 +0000 (14:33 +0200)]
Update Versions.props
Viktor Hofer [Mon, 30 Aug 2021 12:32:44 +0000 (14:32 +0200)]
Update Version.Details.xml
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
Andrew Au [Fri, 27 Aug 2021 22:48:42 +0000 (15:48 -0700)]
Fix GetGenerationBounds under USE_REGIONS (#57101) (#58277)
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>
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>
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>
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>
Jo Shields [Fri, 27 Aug 2021 18:20:01 +0000 (14:20 -0400)]
Give tvOS a special value for Personal/MyDocuments (#58056)
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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'
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>
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>
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>
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>
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>
Drew Scoggins [Thu, 26 Aug 2021 16:20:03 +0000 (09:20 -0700)]
Fix trigger paths for perf_slow.yml (#58079)
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)