Eirik Tsarpalis [Mon, 29 Aug 2022 20:29:56 +0000 (21:29 +0100)]
Add missing System.Net.Http.Json API docs (#74770)
* Add missing System.Net.Http.Json API docs
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Update src/libraries/System.Net.Http.Json/src/System/Net/Http/Json/HttpClientJsonExtensions.Delete.cs
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
Eirik Tsarpalis [Mon, 29 Aug 2022 20:29:12 +0000 (21:29 +0100)]
Add missing System.Collections API docs (#74767)
Shay Rojansky [Mon, 29 Aug 2022 19:04:17 +0000 (22:04 +0300)]
Move distributed transaction test to OleTxTests (#74747)
NonMsdtcPromoterTests.PSPENonMsdtcGetPromoterTypeMSDTC was triggering
an MSDTC distributed transaction on Windows, but without the proper
checks/resiliency. Moved to OleTxTests.
Fixes #74170
Vladimir Sadov [Mon, 29 Aug 2022 18:09:35 +0000 (11:09 -0700)]
[NativeAOT] enable background GC on Unix (#74735)
* enable for unix+arm64
* include softwarewritewatch.cpp
* make the unix crst recursive
* enable ww on Unix x64
* enabled card bundles
* comment
Ankit Jain [Mon, 29 Aug 2022 17:54:48 +0000 (13:54 -0400)]
[wasm] Disable firefox debugger tests for rolling builds (#74753)
.. because they are unstable right now. They will still be run on PRs
though.
Fixes https://github.com/dotnet/runtime/issues/74640 .
Filip Navara [Mon, 29 Aug 2022 16:56:01 +0000 (18:56 +0200)]
Disable KerberosExecutor on LinuxBionic, it doesn't have GSSAPI libraries (#74709)
Alhad Deshpande [Mon, 29 Aug 2022 16:29:28 +0000 (21:59 +0530)]
Ppc64le bug fixes (#74746)
This PR fixes below 2 github issues:
1. Stack unwinding segmentation fault occurring in System.Runtime.Tests, fixed [74069](https://github.com/dotnet/runtime/issues/74069)
2. Conditional branching g_assert occurring in PCR2 tests[74057](https://github.com/dotnet/runtime/issues/74057)
Fixes #74069
Fixes #74057
Co-authored-by: Sapana Khemkar <sapana.khemkar@ibm.com>
Co-authored-by: Sapana-Khemkar <94051076+Sapana-Khemkar@users.noreply.github.com>
Co-authored-by: vikasgupta8 <vikas.gupta8@ibm.com>
Eric StJohn [Mon, 29 Aug 2022 16:10:47 +0000 (09:10 -0700)]
Add Nick to fabric-bot config (#74666)
Meri Khamoyan [Mon, 29 Aug 2022 15:55:18 +0000 (19:55 +0400)]
#50868 enable configuration json tests on Android (#74647)
Meri Khamoyan [Mon, 29 Aug 2022 15:53:45 +0000 (19:53 +0400)]
#50866 enable configuration functional test on android (#74651)
David Cantú [Mon, 29 Aug 2022 15:44:13 +0000 (10:44 -0500)]
Add support for indefinite length arrays (#74215)
* Add support for indefinite length arrays
* Update src/libraries/System.Security.Cryptography.Cose/src/System/Security/Cryptography/Cose/CoseHeaderMap.cs
Co-authored-by: campersau <buchholz.bastian@googlemail.com>
* Validate indefinite-length arrays length up-front for fixed-lengh arrays
* Update src/libraries/System.Security.Cryptography.Cose/src/System/Security/Cryptography/Cose/CoseMessage.cs
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Co-authored-by: campersau <buchholz.bastian@googlemail.com>
Co-authored-by: Jeremy Barton <jbarton@microsoft.com>
Tlakaelel Axayakatl Ceja [Mon, 29 Aug 2022 15:21:30 +0000 (08:21 -0700)]
Annotate System.Runtime.Serialization for AOT warnings (#74663)
Annotate System.Runtime.Serialization for AOT warnings
Modify current RUC warnings where they use the word `Type` starting with uppercase to just `type` to be consistent with the rest of the framework
Michal Strehovský [Mon, 29 Aug 2022 13:55:23 +0000 (22:55 +0900)]
Mark UnmanagedCallersOnlyTest as NativeAOT incompatible (#74546)
* Mark UnmanagedCallersOnlyTest as NativeAOT incompatible
* Also remove from issues.targets
Thays Grazia [Mon, 29 Aug 2022 12:55:26 +0000 (09:55 -0300)]
[wasm][debugger] Fix chinese character in project name (#74516)
* Fix chinese character in project name
* Adding more tests as suggested by @radical
Renaming variable as suggested by @radical
* Update src/mono/wasm/debugger/tests/debugger-test-chinese-char-in-path-ㄨ/debugger-test-chinese-char-in-path-ㄨ.csproj
Co-authored-by: Ankit Jain <radical@gmail.com>
Lakshan Fernando [Mon, 29 Aug 2022 11:36:03 +0000 (04:36 -0700)]
Discourage using explicit package references to ILCompiler to publish (#74591)
* Show a warning when an explicit package reference to ILCompiler is added
* Apply suggestions from code review
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Fix issue 27239
* Apply suggestions from code review
Co-authored-by: Sven Boemer <sbomer@gmail.com>
* exclude the warning for direct targets file invoke cases
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
Shay Rojansky [Mon, 29 Aug 2022 11:20:35 +0000 (14:20 +0300)]
Retry logic for distributed transactions test (#74648)
To make them resilient in the face of MSDTC flakiness in CI.
Fixes #74120
Stephen Toub [Mon, 29 Aug 2022 11:13:08 +0000 (07:13 -0400)]
Fix mentioned default value of DOTNET_TC_OnStackReplacement_InitialCounter (#74729)
Jakob Botsch Nielsen [Mon, 29 Aug 2022 10:18:47 +0000 (12:18 +0200)]
JIT: Clone all local addresses when importing `dup` (#72714)
Roslyn emits `dup` for the field address when compound assignment
operators are used on struct fields. We would previously spill this
address leading us to mark such structs as address exposed and disabling
promotion.
Also allow removing unnecessary casts in cases like
```
ASG
LCL_FLD ubyte V00
CAST int <- ubyte <- int
...
```
we only allowed this cast removal for LCL_VAR and IND before, which led
to unnecessary new casts in some cases with this change.
Jakob Botsch Nielsen [Mon, 29 Aug 2022 09:42:29 +0000 (11:42 +0200)]
Fix signature for 64-bit delegate profiling helper (#74500)
* Fix signature for 64-bit delegate profiling helper
I missed updating the signature of the 64-bit variant here when the
vtable and delegate profiling helpers were originally split up.
Fix #74295
* JIT: Randomly collect 64-bit counts
Add some testing.
* Disable collecting 64 bit counters on 32-bit
This needs some work so disable it for now.
Johan Lorensson [Mon, 29 Aug 2022 08:26:03 +0000 (10:26 +0200)]
Use System.Numerics.IEqualityOperators.op_Equality in SpanHelper.T.cs where possible. (#74567)
* Use System.Numerics.IEqualityOperators.op_Equality in SpanHelper.T.cs.
Workaround crash hit by https://github.com/dotnet/runtime/issues/74179
making sure we avoid hitting codepath emitting this null pointer checks.
The full fix includes codegen fixes as well, but will be performed
in separate PR. There are still locations in SpanHelper.T.cs that uses
Equal virtual call on value types that could be managed pointers to
value types, but that code has remained the same for the last
4 years to 15 months and have not hit this issue in the past.
* Re-enable globalization tests disabled in #74433.
Edison Henrique Andreassy [Sun, 28 Aug 2022 02:29:57 +0000 (23:29 -0300)]
Convert SHFileOperation error to Win IO error (#74607)
Qiao Pengcheng [Sat, 27 Aug 2022 23:01:00 +0000 (07:01 +0800)]
[LoongArch64] supporting `src/tests/run.sh` on LA64. (#74470)
* [LoongArch64] supporting `src/tests/run.sh` on LA64.
* amend getting the `arch` for CR.
Hafthor Stefansson [Sat, 27 Aug 2022 22:49:59 +0000 (18:49 -0400)]
Non-canonical NaN tests for Vector Equals method (Issue #68710) (#74517)
* Non-canonical NaN tests for Vector Equals method (Issue #68710)
* remove System.Half tests since Vectors do not support .Equals on those yet
* address PR comments
* address PR comments
* adds Vector64, Vector128 and Vector256 tests
* address PR comment - fix incorrect snan
Co-authored-by: Hafthor Stefansson <hstefansson@microsoft.com>
Vladimir Sadov [Sat, 27 Aug 2022 15:22:36 +0000 (08:22 -0700)]
[NativeAOT] do not do shutdown for the main thread on Windows (#74679)
* do not do shutdown for the main thread
* specialcase the thread that called RhpShutdown instead
Theodore Tsirpanis [Sat, 27 Aug 2022 13:31:13 +0000 (16:31 +0300)]
Add `[NotNullIfNotNull]` to conversions from `string` to `JsonNode`. (#74643)
Michal Strehovský [Sat, 27 Aug 2022 06:12:29 +0000 (15:12 +0900)]
Don't crash on recursive native layout (#74630)
Fixes dotnet/runtimelab#163.
* We don't have a nice way to pass context around when computing the native type. Use a threadstatic. This is pretty rare.
* We had one more spot where we ran out of stack when we were trying to look for delegates. Remove the need for that code by using the generic `Marshal` API (that we recognize elsewhere). Move the code responsible for warnings to dataflow analysis.
Michal Strehovský [Sat, 27 Aug 2022 05:57:45 +0000 (14:57 +0900)]
Pass over interop tests with NativeAOT (#74627)
* Mark tests as NativeAotIncompatible in project file instead of disabling in issues.targets so that we don't even build them.
* Tweak for COM disabled
* Block some tests on a new issue
Jan Kotas [Sat, 27 Aug 2022 04:21:40 +0000 (21:21 -0700)]
Pass /NOEXP /NOIMPLIB options to the linker when publishing native AOT .exes (#74641)
VS2022 link.exe creates *.lib and *.exp files when linking .exes and prints a message like "Creating library bin\Release\net7.0\win-x64\native\repro.lib and object bin\Release\net7.0\win-x64\native\repro.exp" to the console. These files are not really useful for .exes and the message is unnecessary clutter in the dotnet publish output with NativeAOT.
Pass /NOEXP /NOIMPLIB to the linker to suppress this behavior.
Qiao Pengcheng [Sat, 27 Aug 2022 03:32:01 +0000 (11:32 +0800)]
[LoongArch64] Fix some erros when testing GCstress4. (#74469)
Steve Harter [Sat, 27 Aug 2022 00:59:13 +0000 (19:59 -0500)]
For perf, remove Invoker pattern for fields (#74614)
Aleksey Kliger (λgeek) [Sat, 27 Aug 2022 00:34:40 +0000 (20:34 -0400)]
Revert "[MONO] Move marshal-ilgen into a component (#71203)" (#74674)
This reverts commit
de32c4466489090fdd41574d1be2945fd03ab7f2.
Anton Lapounov [Sat, 27 Aug 2022 00:06:38 +0000 (17:06 -0700)]
Fix unwinding for NativeAOT on Unix x64 (#74673)
Eric Erhardt [Fri, 26 Aug 2022 21:53:12 +0000 (16:53 -0500)]
Enable Console Logging test in NativeAOT (#74381)
Log_WritingScopes_LogsWithCorrectColorsWhenColorEnabled appears to be passing for me in NativeAOT on both Windows and Linux.
Contributes to #73436
Ero [Fri, 26 Aug 2022 20:46:38 +0000 (13:46 -0700)]
Fix some issues in `coreclr/nativeaot/docs/interop.md` (#74656)
Eirik Tsarpalis [Fri, 26 Aug 2022 20:34:07 +0000 (21:34 +0100)]
Remove unneeded references to JsonTypeInfo.PropertyInfoForTypeInfo. (#74594)
* Remove unneeded references to JsonTypeInfo.PropertyInfoForTypeInfo.
* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Metadata/JsonTypeInfo.cs
* Update src/libraries/System.Text.Json/src/System/Text/Json/Serialization/Metadata/JsonTypeInfo.cs
* Address feedback
Tomas Weinfurt [Fri, 26 Aug 2022 19:35:00 +0000 (12:35 -0700)]
fix MaxResponseHeadersLength tests (#74479)
* fix MaxResponseHeadersLength tests
* add EnablePreviewFeatures
* fix winhttp
* feedback from review
* feedback from review
Tomas Weinfurt [Fri, 26 Aug 2022 19:16:21 +0000 (12:16 -0700)]
avoid allocation X509Chain if there is no certificate (#74616)
Steve Pfister [Fri, 26 Aug 2022 18:59:15 +0000 (14:59 -0400)]
[Android] Move linux-bionic leg to runtime-extra-platforms (#74621)
This change moves linux-bionic out of the runtime-staging pipeline and into runtime-extra-platforms. The effect is that all linux-bionic runs will be post PR unless triggered manually.
SingleAccretion [Fri, 26 Aug 2022 18:47:15 +0000 (21:47 +0300)]
Forward-substitute long call on 32 bit targets (#74502)
The multi-reg restrictions do not apply to them.
Tanner Gooding [Fri, 26 Aug 2022 18:45:36 +0000 (11:45 -0700)]
Ensure that the result for PowMod is fully initialized (#74585)
* Adding a regression test for dotnet/performance#2575
* Ensure that the result span is fully initialized.
Marie Píchová [Fri, 26 Aug 2022 18:25:06 +0000 (20:25 +0200)]
[QUIC] Root listener/connection while waiting on new connection/stream event (#74450)
* Fixed GC collecting listener and/or connection while waiting on new connection/stream event
* Minor fixes and cleanups
dotnet-maestro[bot] [Fri, 26 Aug 2022 17:46:27 +0000 (17:46 +0000)]
[main] Update dependencies from 9 repositories (#73968)
[main] Update dependencies from 9 repositories
- Merge branch 'main' into darc-main-
1b91a625-558f-4732-8098-
a4d9458b1134
- Merge branch 'main' into darc-main-
1b91a625-558f-4732-8098-
a4d9458b1134
Steve Pfister [Fri, 26 Aug 2022 15:45:20 +0000 (11:45 -0400)]
Move Mono FreeBSD and Linux armv6 legs to the runtime-community pipeline (#74622)
Avoids running these legs per PR in runtime-staging and places them in a more appropriate place.
Steve Harter [Fri, 26 Aug 2022 15:08:41 +0000 (10:08 -0500)]
Fix typo in test (#74610)
Adeel Mujahid [Fri, 26 Aug 2022 14:07:03 +0000 (17:07 +0300)]
Simplify platform macro definitions in PAL (#73530)
* Simplify platform macro definitions in PAL
* Address CR feedback
* Rename unwinder.cpp to baseunwinder.cpp
* Sync arm64 DAC_CS_NATIVE_DATA_SIZE
Matt Galbraith [Fri, 26 Aug 2022 14:03:16 +0000 (07:03 -0700)]
Testing builds with v3beta pool - newer MacOS (#74609)
Meri Khamoyan [Fri, 26 Aug 2022 14:01:41 +0000 (18:01 +0400)]
#50870 Enabling Microsoft.Extensions.Configuration.Xml tests on android (#74575)
Meri Khamoyan [Fri, 26 Aug 2022 11:36:04 +0000 (15:36 +0400)]
#50878 enable StringSegment tests on Android (#74556)
dotnet-maestro[bot] [Fri, 26 Aug 2022 10:42:38 +0000 (10:42 +0000)]
[main] Update dependencies from dotnet/linker (#74238)
[main] Update dependencies from dotnet/linker
Peter Sollich [Fri, 26 Aug 2022 09:04:17 +0000 (11:04 +0200)]
Issue was that if a BGC thread handles a mark stack overflow, but runs into yet another mark stack overflow on another heap, we set a flag on the region, and the containing heap. However, the BGC handling the other heap may have already decided to move on, and may thus not see the flag. (#74571)
Fix is to set the flag on the heap doing the scan rather than the heap containing the object causing the mark stack stack overflow. The thread handling that heap will indeed recheck the flag and rescan if necessary. This necessitates another change because in the concurrent case, we need each BGC thread to enter mark stack overflow scanning if there was a mark stack overflow on its heap. So we need to propagate the per-heap flag to all the heaps.
Fixed another issue for regions where the small_object_segments local variable in background_process_mark_overflow_internal would be set incorrectly in the non-concurrent case. It would be set to FALSE as soon as all the regions for gen 0 are processed.
Andrew Au [Fri, 26 Aug 2022 08:15:38 +0000 (01:15 -0700)]
Always maintain committed_by_oh when heap_hard_limit is set (#74624)
Andrew Au [Fri, 26 Aug 2022 06:24:21 +0000 (23:24 -0700)]
Allow address == g_gc_highest_address in get_skewed_basic_region_index_for_address (#74543)
Michal Strehovský [Fri, 26 Aug 2022 05:27:33 +0000 (14:27 +0900)]
Revert "Don't NativeAOT crossgen on ARM64 (#74211)" (#74617)
This reverts commit
02c2ba0eb79a3895782267a00108c0c5c657b3ff.
Michal Strehovský [Fri, 26 Aug 2022 05:22:13 +0000 (14:22 +0900)]
Do not run DynamicGenerics on mac (#74618)
Aaron Robinson [Fri, 26 Aug 2022 05:16:27 +0000 (22:16 -0700)]
`DisableRuntimeMarshalling` block Vector types (#74612)
* DisableRuntimeMarshalling block Vector types
When DisableRuntimeMarshalling is set, the runtime should block
a bad-list for blittable types.
This doesn't address the case where the P/Invoke is inlined.
dotnet-maestro[bot] [Fri, 26 Aug 2022 04:29:24 +0000 (23:29 -0500)]
[main] Update dependencies from dotnet/arcade (#74495)
* Update dependencies from https://github.com/dotnet/arcade build
20220823.2
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 7.0.0-beta.22419.1 -> To Version 7.0.0-beta.22423.2
* Update dependencies from https://github.com/dotnet/arcade build
20220824.3
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
From Version 7.0.0-beta.22419.1 -> To Version 7.0.0-beta.22424.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Ahmet İbrahim AKSOY [Fri, 26 Aug 2022 03:34:23 +0000 (06:34 +0300)]
[Unix]: AcceptAsync with existing AcceptSocket support on Unix (#73499)
* Fix: Initial attempt to fix - ut passed
* Update: Forgotten save
* Update: Clear and Dispose ops on handles
* Update: Activate tests for Unix and correct no reuse behavior
* Update: Review Changes
* Update: Deleted forgotten comment
* Update: Review change
Jan Kotas [Fri, 26 Aug 2022 02:54:06 +0000 (19:54 -0700)]
Update documentation for analyzing PR failures (#74615)
Document the recent engineering system improvements
Ankit Jain [Fri, 26 Aug 2022 01:34:54 +0000 (21:34 -0400)]
CI: Tighten the path based triggers for jobs (#74534)
* CI: Tighten the path based triggers for jobs
`subsets`:
- `mono`: exclude all `src/mono/wasm`, since any changes in that will
trigger the wasm jobs anyway
- `runtimetests`: exclude Wasm.Build.Tests, and Wasm.Debugger.Tests,
both of which are in `src/tests/BuildWasmApps`, but are *not* related
to runtime tests.
- `coreclr_jit`: exclude `src/mono/*` completely, unrelated.
Also, exclude `eng/pipelines/common/evaluate-default-paths.yml` from all
the subsets, so changes in that doesn't trigger unncessary builds.
* Address review feedback
Steve Molloy [Thu, 25 Aug 2022 23:00:48 +0000 (16:00 -0700)]
Re-enable MemoryCacheTest.Contains. (#74551)
* Re-enable MemoryCacheTest.Contains. Add a little more info in case of failures.
Aleksey Kliger (λgeek) [Thu, 25 Aug 2022 22:48:00 +0000 (18:48 -0400)]
[mini] Disable passing valuetypes in SIMD registers (#74582)
Partially reverts https://github.com/dotnet/runtime/pull/68991
When LLVM code calls non-LLVM code it will pass arguments in SIMD
registers which the non-LLVM code doesn't expect
Fixes https://github.com/dotnet/runtime/issues/73454 (issue 1)
Tomas Weinfurt [Thu, 25 Aug 2022 21:34:53 +0000 (14:34 -0700)]
update Helix arm64 images (#73963)
* update Helix arm64 images
* update images
* fix conditions
* uopdate docker images
* update containers
* update debian containers
* update ubuntu
* update ubuntu
Aaron Robinson [Thu, 25 Aug 2022 20:23:56 +0000 (13:23 -0700)]
Reenable class-memaccess warning (#74363)
* Reenable class-memaccess warning
* Match x64 logic in emitarm.cpp
* Make GCProtect sections with "gc" variable consistent
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Radek Zikmund [Thu, 25 Aug 2022 19:21:39 +0000 (12:21 -0700)]
Disable ConnectWithRevocation_ServerCertWithoutContext_NoStapledOcsp on NativeAoT (#74561)
* Disable ConnectWithRevocation_ServerCertWithoutContext_NoStapledOcsp on NativeAoT
* Disable tests against #70981 instead
David Wrighton [Thu, 25 Aug 2022 18:56:53 +0000 (11:56 -0700)]
Attempt to reduce test build cost (#74471)
An evaluation of the cost of "Copy native test components to test output folder" indicates that there are 2 major performance bottlenecks in that routine.
There are the findings I had
1. The routine spends significant time loading every test project into msbuild to determine what to do. This processing takes as much as 400ms per test on hardware which has slow IO performance.
2. On Unix platforms, when producing the test script binaries, we make the scripts executable by using chmod. This ALSO takes as long as 400ms on the slowest platforms.
3. Actually copying the native binaries around is extremely cheap and fast, and the cost to generate the test scripts is also fairly low.
This change addresses both of these issues.
1. For the issue that we look into each test project to determine what to do, I observed that for tests which are pri1 tests, when running a pri0 only job, we don't need to even examine any of the tests marked as exclusively pri1. This is a bit of a hack, but it does seem to work quite well.
2. For the chmod issue, since we don't actually maintain the executable bit when sent to helix, I set an msbuild property when generating the scripts during the "Copy native test components to test output folder" to just not set that flag.
Results:
Mac OSX test run jobs take ~8 minutes to run this portion of the build, down from ~27 minutes. Performance improvements are visible on all architectures/OS pairings, but they aren't as dramatic.
Filip Navara [Thu, 25 Aug 2022 16:20:58 +0000 (18:20 +0200)]
Bump Kerberos.NET version in tests (#74554)
Fixes tests on big endian platforms.
Tomas Weinfurt [Thu, 25 Aug 2022 16:13:23 +0000 (09:13 -0700)]
enable SendMailAsync_CanBeCanceled_CancellationToken test (#74545)
Shay Rojansky [Thu, 25 Aug 2022 15:37:38 +0000 (18:37 +0300)]
Disable distributed transaction tests on ARM (#74572)
To unblock CI build failures, works around #74170
Michal Strehovský [Thu, 25 Aug 2022 15:31:29 +0000 (00:31 +0900)]
Allow AsLPArray test to succeed without COM (#74552)
Ankit Jain [Thu, 25 Aug 2022 15:25:22 +0000 (11:25 -0400)]
[wasm] Move all the wasm jobs from runtime-staging to runtime (#73596)
* [wasm] Move stable jobs from runtime-staging to runtime
- library tests: windows
- AOT tests: windows
- Debugger tests (chrome): windows, and linux
- Wasm.Build.Tests: windows
* Move last remaining wasm-firefox tests to runtime too
* Move firefox debugger tests to runtime-extra-platforms
* Fix browser-eventpipe build
```
src/mono/sample/wasm/browser-eventpipe/Program.cs(80,13): error IDE0074: (NETCORE_ENGINEERING_TELEMETRY=Build) Use compound assignment
```
Alexander Köplinger [Thu, 25 Aug 2022 14:41:52 +0000 (16:41 +0200)]
Add server1.pfx to CredScanSuppressions.json (#74559)
**BYPASS_SECRET_SCANNING**
Eric Erhardt [Thu, 25 Aug 2022 14:21:05 +0000 (09:21 -0500)]
Add NuGet package for System.Runtime.Serialization.Schema (#74533)
System.Runtime.Serialization.Schema isn't getting a NuGet package created for it because it doesn't set IsPackable=true.
Jan Kotas [Thu, 25 Aug 2022 13:10:36 +0000 (14:10 +0100)]
Switch to unified fully managed Overlapped implementation (#74532)
This change was attempted before in https://github.com/dotnet/coreclr/pull/23029 and rejected due to performance impact. Things have changed since then that makes it feasible now.
Sockets and file I/O do not use pinning feature of Overlapped anymore. They pin memory on their own using `{ReadOnly}Memory<T>.Pin` instead. It means that the async pinned handles are typically not pinning anything. The async pinned handles come with some extra overhead in this common use case. Also, they cause confusion during GC behavior drill downs. This change removes the support for async pinned handles from the GC:
- It makes the current most common Overlapped use cheaper. It is hard to measure the impact of eliminating async pinned handles exactly since they are just a small part of the total GC costs. The unified fully managed implementation enabled simplificication of the implementation and reduced allocations.
- It gets rid of confusing async pinned handles behavior. The change was actually motivated by a recent discussion with a customer who was surprised by the async pinned handles not pinning anything. They were not sure whether it is expected behavior or whether it is a bug in the diagnostic tools.
Micro-benchmarks for pinning feature of Overlapped are going to regress with this change. The regression in a micro-benchmark that runs Overlapped.Pack/Unpack in a tight loop is about 20% for each pinned object. If there is 3rd party code still using the pinning feature of Overlapped, Overlapped.Pack/Unpack is expected to be a tiny part of the end-to-end async flow and the regression for end-to-end scenarios is expected to be in noise range.
Meri Khamoyan [Thu, 25 Aug 2022 11:10:04 +0000 (15:10 +0400)]
#50575 colorbehavior default should disable colors in android/applemobile (#74496)
* #50575 colorbehavior default should disable colors in android/applemobile
Michal Strehovský [Thu, 25 Aug 2022 10:42:20 +0000 (19:42 +0900)]
Only stack allocate when marshalling Utf8 arguments (#74478)
* Only stack allocate when marshalling Utf8 arguments
Fixes #74394.
* Review feedback
Adam Sitnik [Thu, 25 Aug 2022 09:06:14 +0000 (11:06 +0200)]
Implement proper File System detection for Apple OSes (#74493)
Jan Vorlicek [Thu, 25 Aug 2022 08:45:31 +0000 (10:45 +0200)]
Enable caching of writeable W^X mappings (#74526)
This change enables caching of the last used writeable mapping for
W^X. It was originally disabled by an ifdef, but after we've turned W^X
on by default, performance tests have shown a regression in some regex
tests. I have investigated those and found that they do excessive amount
of jitting (around 50000 methods). Enabling the caching of the last used
writeable mapping fixes the regression completely.
The caching implementation was present in the sources ever since I've
implemented the W^X stuff, but if was disabled by an ifdef. So this
change just defines the related symbol and enables the code.
The caching basically just keeps a writeable mapping after unmapping
until the next mapping request arrives, so it gives an opportunity to
reuse it in case of series of mappings of sequential range of executable
memory, which happens e.g. in the case mentioned.
Simon Rozsival [Thu, 25 Aug 2022 08:04:07 +0000 (10:04 +0200)]
[Android] gRPC client tests (#73060)
* WIP: add gRPC tests
* Fix AOT and trimming
* WIP
* Implement IncludeNetworkSecurityConfig
* Use IncludeNetworkSecurityConfig
* Fix gRPC test
* Avoid git checkout
* Remove unnecessary code
* WIP: start working on CI configuration
* Remove WinHttpHandler
* Fix problem with SSL
* Change server host
* Setup CI (#1)
* Get Docker container building & exported via test build
* Changes
* Add missing pfx certificate
* changes
* cleanup
Co-authored-by: Simon Rozsival <simon@rozsival.com>
* Use tls
* Update yml
* Revert changes to the mono Android sample app
* Bump android image version
* Bump image version
* Enable TLS
* Remove hardcoded package versions
* Update package versions
* Update package versions
* Rename pipeline
* Move interop tests website dependencies versions to Versions.props
* Add cred scan supression for the interop test server private key
* Fix licenses
* Remove dependencies
* Fix path to Versions.props
* Remove unnecessary dependency version
* Fix building docker image
* Change pfx password
Co-authored-by: Jo Shields <directhex@apebox.org>
Peter Sollich [Thu, 25 Aug 2022 08:03:03 +0000 (10:03 +0200)]
Working with StressLogAnalyzer I found yet another issue where we are missing an initialization when re-running the analysis - when you add a format string to look for via the -f option, and then later remove it, it's not actually removed, but is still found. (#74491)
missing an initialization when re-running the analysis - when you add a format string to look for via the -f option, and then later remove it, it's not actually removed, but is still found.
The fix is simply to clear the s_interestingStringTable above the fixed entries.
Michal Strehovský [Thu, 25 Aug 2022 08:02:06 +0000 (17:02 +0900)]
Fix building CLR test tree (#74547)
* If we're only building Pri-0 tests, don't try to AOT compile Pri-1 tests. `_WillCLRTestProjectBuild` is the property that checks for that.
* Targeting pack references get injected in a way that the compiler targets don't see. The compiler targets are written for publish scenarios but we're not doing a publish.
Fixes #68394
Steve Molloy [Thu, 25 Aug 2022 06:55:57 +0000 (23:55 -0700)]
Don't re-use XmlSchemaSet - it's not threadsafe. (#74524)
Anton Lapounov [Thu, 25 Aug 2022 06:20:48 +0000 (23:20 -0700)]
Fix a buffer overrun in GC structures (#74540)
Aaron Robinson [Thu, 25 Aug 2022 04:02:22 +0000 (21:02 -0700)]
Remove all non-functional/non-informational uses of mscorlib. (#74529)
* Remove all non-functional/non-informational uses of mscorlib.
Ankit Jain [Thu, 25 Aug 2022 00:50:25 +0000 (20:50 -0400)]
[wasm] Test, and app host fixes (#74512)
* [wasm] Use explicity allowed ports with playwright, on linux too
Fixes https://github.com/dotnet/runtime/issues/72436 .
* [wasm] Quote path, and arguments for wasm app host
Fixes use of app host on windows, when it's installed in `c:\program
files`.
* Update BrowserRunner.cs
Aleksey Kliger (λgeek) [Thu, 25 Aug 2022 00:00:47 +0000 (20:00 -0400)]
[mono] Assert that we don't need to inflate types when applying DIM overrides (#74379)
Due to rearranging the logic in #64102 we already inflated the interfaces that are generic instances. Inflating again is wrong and will use the wrong generic context.
* use member access, not type punning
* Add regression test for #70190
* Assert that overrides are already inflated how we expect
* remove unused var
* Remove one more inflate, there's nothing to do
In https://github.com/dotnet/runtime/pull/64102#discussion_r790019545 we concluded that this branch is never taken.
* Add link to issue for failing tests
Tanner Gooding [Wed, 24 Aug 2022 23:06:16 +0000 (16:06 -0700)]
Fix FormattingHelpers.CountDigits(UInt128) and add more tests for Int128/UInt128.ToString (#74501)
Pavel Savara [Wed, 24 Aug 2022 21:33:14 +0000 (23:33 +0200)]
improved perf test (#74514)
Tomáš Rylek [Wed, 24 Aug 2022 20:57:17 +0000 (22:57 +0200)]
Remove unnecessary runtime lookup for constrained callvirt (#73823)
In my change adding support for default static virtual interface
method implementations I made a subtle bug that caused
behavioral change for some pre-existing constrained virtual calls
that newly started to require runtime lookup. This is unnecessary
and perf-negative, I have modified the code so that my change
kicks in only for static virtual methods.
Thanks
Tomas
SingleAccretion [Wed, 24 Aug 2022 20:23:00 +0000 (23:23 +0300)]
Allow SIMD-returning calls as arguments (#74184)
* Add a test
* Allow SIMD-returning calls as arguments
As of this change we handle all relevant ABI scenarios.
1) Windows x64:
- SIMD8: returned and passed as "TYP_LONG", fine.
- SIMD12 / SIMD16 / SIMD32: returned and passed via a return buffer, fine.
2) Unix x64:
- SIMD8: returned and passed in one FP register, fine.
- SIMD12 / SIMD16, Vector4: returned and passed in two FP registers, fine.
- SIMD16, Vector128 / SIMD32: returned and passed via a return buffer, fine.
3) x86:
- SIMD8: can be returned via two registers or a return buffer (and is always passed on stack), both are fine.
- SIMD12/SIMD16/SIMD32: returned via a return buffer, passed on stack, fine.
4) ARM64:
- SIMD8, Vector2: returned in two FP registers (and passed as such or "TYP_LONG" under Windows varargs), fine.
- SIMD8, Vector64: returned in one FP register, can be passed as such or as "TYP_LONG" under Windows varargs.
The latter case is now handled correctly in "Lowering::LowerArg".
- SIMD12: returned in three FP registers, passed as such or in two integer registers under Windows varargs, fine.
- SIMD16, Vector4: returned in four FP registers, passed as such, or in two integer registers under Windows varargs, fine.
- SIMD16, Vector128: returned in one FP register, passed as such, or in two integer registers under Windows varargs, fine
(morph will decompose the varargs case into a `FIELD_LIST` via a temp).
Jeremy Koritzinsky [Wed, 24 Aug 2022 17:19:48 +0000 (10:19 -0700)]
Update Microsoft.CodeAnalysis.CSharp.CodeStyle package (#74445)
DeepakRajendrakumaran [Wed, 24 Aug 2022 16:38:00 +0000 (09:38 -0700)]
Allow more than 64 ISA flags for jit interface. (#73965)
Details:
Previously ISA flags were represented as bits in a 64 bit variable.
This limited the total number of possible ISAs to 64. This change
modifies this and starts using an array of 64 bit vars to store ISA flags.
The main changes are in InstructionSetGenerator.cs. This drives a lot of other
changes in this commit which are generated files.
Jan Vorlicek [Wed, 24 Aug 2022 14:12:57 +0000 (16:12 +0200)]
Improve windows hardware exception handling performance (#74426)
* Improve windows hardware exception handling performance
With my recent change that modified hardware exception handling so that
the related managed exception is thrown directly from the vectored
exception handler, the performance of handling such exceptions have
regressed. Several exception handling dotnet/performance microbenchmarks
have regressed upto 15%.
The reason for the regression was the larger number of stack frames
between the exception raising and the actual handler frame. With a
recent change that @AntonLapounov has made to fix process corrupting
exceptions handling, the regression went down to 8%. This change moves
the location where we raise the exception down to the
ClrVectoredExceptionHandlerShim, which means to the closest possible
frame to the managed code.
This gets rid of the regression completely.
Eirik Tsarpalis [Wed, 24 Aug 2022 14:06:21 +0000 (15:06 +0100)]
Expose JsonSerializer.IsReadOnly and MakeReadOnly() APIs. (#74431)
* Expose JsonSerializer.IsReadOnly and MakeReadOnly() APIs.
* Address feedback
SingleAccretion [Wed, 24 Aug 2022 09:42:22 +0000 (12:42 +0300)]
Contain memory operands under casts (#72719)
* Add GenTreeCast::IsZeroExtending
* Cast descriptor support
* XARCH support
* ARM/ARM64 support
TODO: consider using a dedicated IND_EXT oper for ARM/ARM64 instead of containment.
This would allow us to cleany handle all indirections. It would not mean we'd give
up on the casts containment, as we'd still need to handle the "reg optional" case.
IND_EXT will be much like an ordinary IND, but have a "source" and "target" types.
The "target" type would always be int/long, while "source" could be of any integral
type.
This design would be a bit more natural, and nicely separable from casts. However,
the main problem with the current state of things, apart from the fact codegen of
indirections is tied strongly to "GenTreeIndir", is the fact that changing type of
the load can invalidate LEA containment. One would think this is solvable with some
tricks, like re-running containment analysis on an indirection after processing the
cast, but ARM64 codegen doesn't support uncontained LEAs in some cases.
A possible solution to that problem is uncontaining the whole address tree. That
would be messy, but ought to work. An additional complication is that these trees
can contain a lot of contained operands as part of ADDEX and BFIZ, so what would
have to be done first is the making of these into proper EXOPs.
In any case, this is all future work.
Simon Rozsival [Wed, 24 Aug 2022 09:15:22 +0000 (11:15 +0200)]
[wasm-ep] Add missing xharness option to fix server CORS headers (#74410)
Meri Khamoyan [Wed, 24 Aug 2022 08:26:21 +0000 (12:26 +0400)]
Revert "#50575 default case color behaviour is enabled (#74349)" (#74485)
This reverts commit
ad366f29f2328e67b6274e3888121e11627dd64c.
Michal Strehovský [Wed, 24 Aug 2022 07:43:26 +0000 (16:43 +0900)]
Fix naming in interop code generation (#74472)
The name of the method was a lie. The comment was a lie.
Aleksey Kliger (λgeek) [Wed, 24 Aug 2022 07:30:29 +0000 (03:30 -0400)]
[mini] double quote linker path in defined(LD_NAME) case (#74451)
* [mini] double quote linker path in defined(LD_NAME) case
In
https://github.com/dotnet/runtime/commit/
e71a9583b4d6c9bd97edd87cda7f98f232f63530
we started setting a default `LD_NAME` for x86 non-mach targets
Fixes Android x86 builds that specify a `tool_prefix` with spaces in it
* also add an "llvm_only" branch to the defined(LD_NAME) case
Pavel Savara [Wed, 24 Aug 2022 06:09:28 +0000 (08:09 +0200)]
[wasm] improve samples (#74371)
- new sample for DLLImport on wasm
- license headers
- refactor withModuleConfig to advanced sample
- removed withConsoleForwarding from samples
Pavel Savara [Wed, 24 Aug 2022 06:07:17 +0000 (08:07 +0200)]
[wasm] few simple test for JavaScript interop (#74419)