platform/upstream/dotnet/runtime.git
3 years agoUse GC.AllocateUninitializedArray in MemoryStream.ToArray (#50692)
Bruce Bowyer-Smyth [Mon, 5 Apr 2021 02:19:41 +0000 (12:19 +1000)]
Use GC.AllocateUninitializedArray in MemoryStream.ToArray (#50692)

* Use GC.AllocateUninitializedArray in MemoryStream.ToArray

* Apply suggestions from code review

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoFix SHL/SHR/SAR PerfScores (#49620)
Pent Ploompuu [Sun, 4 Apr 2021 23:17:27 +0000 (02:17 +0300)]
Fix SHL/SHR/SAR PerfScores (#49620)

* Fix SHL/SHR/SAR PerfScore

* Tune MUL/IMUL latency.

* Sum memory + instruction latency.
Fix some RCR/RCL latencies also.

* Fix DIV/IDIV latencies

* Address PR feedback

3 years agoJIT: fixes for mixed PGO/nonPGO compiles (#50633)
Andy Ayers [Sun, 4 Apr 2021 18:18:42 +0000 (11:18 -0700)]
JIT: fixes for mixed PGO/nonPGO compiles (#50633)

Always scale inlinee counts, independent of the pgo status of the
call site and inlinee, even if we have to scale inlinee counts to zero.

Get rid of `setBBWeight` and `modifyBBWeight` as they are attractive
nuisances that lead to bad habits. Use `inherit` and `scale` instead as
new counts should always be based on old.

Account for cases where there are methods in the inline tree with PGO
data but the root method doesn't have PGO, and vice versa.

3 years agoRemove code that references resolved issues (#50698)
Aaron Robinson [Sun, 4 Apr 2021 14:19:27 +0000 (07:19 -0700)]
Remove code that references resolved issues (#50698)

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210403.1 (#50697)
dotnet-maestro[bot] [Sun, 4 Apr 2021 09:25:20 +0000 (09:25 +0000)]
Update dependencies from https://github.com/mono/linker build 20210403.1 (#50697)

[main] Update dependencies from mono/linker

3 years agoObsolete message should contain property name. (#50693)
Aaron Robinson [Sun, 4 Apr 2021 04:11:00 +0000 (21:11 -0700)]
Obsolete message should contain property name. (#50693)

3 years agoFix FreeBSD __NumProc calculation (#50691)
Adeel Mujahid [Sun, 4 Apr 2021 02:48:46 +0000 (05:48 +0300)]
Fix FreeBSD __NumProc calculation (#50691)

3 years ago[main] Update dependencies from dotnet/arcade (#50685)
dotnet-maestro[bot] [Sat, 3 Apr 2021 20:29:12 +0000 (20:29 +0000)]
[main] Update dependencies from dotnet/arcade (#50685)

[main] Update dependencies from dotnet/arcade

 - Revert changes to publish-using-darc.ps1

https://github.com/dotnet/arcade/issues/6987

3 years ago[mono] AOT instances of SZGenericArrayEnumerator for primitive types, its needed...
Zoltan Varga [Sat, 3 Apr 2021 11:03:00 +0000 (07:03 -0400)]
[mono] AOT instances of SZGenericArrayEnumerator for primitive types, its needed by the IEnumerable wrappers for arrays. (#50681)

3 years agoReenable tests after recent impacting JIT fix (#50679)
Aaron Robinson [Sat, 3 Apr 2021 10:20:49 +0000 (03:20 -0700)]
Reenable tests after recent impacting JIT fix (#50679)

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210401.3 (#50642)
dotnet-maestro[bot] [Sat, 3 Apr 2021 08:04:52 +0000 (08:04 +0000)]
Update dependencies from https://github.com/mono/linker build 20210401.3 (#50642)

[main] Update dependencies from mono/linker

3 years agoFix some linker annotations in S.CM.TypeConverter (#50593)
Prashanth Govindarajan [Sat, 3 Apr 2021 07:25:21 +0000 (00:25 -0700)]
Fix some linker annotations in S.CM.TypeConverter (#50593)

3 years ago[main] Update dependencies from dotnet/arcade dotnet/xharness (#50553)
dotnet-maestro[bot] [Sat, 3 Apr 2021 07:23:54 +0000 (09:23 +0200)]
[main] Update dependencies from dotnet/arcade dotnet/xharness (#50553)

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Ricardo Arenas <riarenas@microsoft.com>
3 years agoRemove duplicate WaitHandle tests from src/tests (#50677)
Aaron Robinson [Sat, 3 Apr 2021 06:26:10 +0000 (23:26 -0700)]
Remove duplicate WaitHandle tests from src/tests (#50677)

3 years agoReenable readytorun/coreroot_determinism since referenced issues are closed. (#50676)
Aaron Robinson [Sat, 3 Apr 2021 06:24:02 +0000 (23:24 -0700)]
Reenable readytorun/coreroot_determinism since referenced issues are closed. (#50676)

* Both referenced issues have been closed.

* Other tests that are disable with closed issue.

3 years agoAdd GC committed bytes counter (#50604)
Sung Yoon Whang [Sat, 3 Apr 2021 05:48:55 +0000 (22:48 -0700)]
Add GC committed bytes counter (#50604)

* Add GC committed bytes counter

* Add tests

* fix test

3 years agoUse a smart pointer to prevent Zap memory leak (#50425)
Omair Majid [Sat, 3 Apr 2021 05:26:36 +0000 (01:26 -0400)]
Use a smart pointer to prevent Zap memory leak (#50425)

We allocate a Zap in CreatePDBWorker, but we never deallocate it.
Assuming the object instance is no longer needed, this fixes a memory
leak.

3 years agoAdd a System.Text.Json threat model doc (#50541)
Layomi Akinrinade [Sat, 3 Apr 2021 04:30:24 +0000 (21:30 -0700)]
Add a System.Text.Json threat model doc (#50541)

* Add a System.Text.Json threat model doc

* Address review feedback

3 years agoAnnotate Interop APIs that always throw PNSE as Obsolete (#50666)
Aaron Robinson [Sat, 3 Apr 2021 02:07:19 +0000 (19:07 -0700)]
Annotate Interop APIs that always throw PNSE as Obsolete (#50666)

* Annotate Interop APIs that always throw PNSE as Obsolete

3 years agoEnable limited Apple Silicon GCStress testing (#50117)
Steve MacLean [Sat, 3 Apr 2021 01:06:40 +0000 (21:06 -0400)]
Enable limited Apple Silicon GCStress testing (#50117)

* Enable limited Apple Silicon GCStress testing

* Mark providervalidation GCStressIncompatible

tracing/eventpipe/providervalidation test generates 100k events and takes a very long time
in GCStress. Mark it GCStressIncompatible.

* Mark profiler/transitions GCStressIncompatible for Apple Silicon

* Apple Silion mark VolatileTest_op_* GCStressIncompatible

* Disable more 50381 failures

* Disable Apple Silicon GcStress timeouts

3 years agoAdd a missing fclose in jitutils MethodSet constructor (#50282)
Omair Majid [Sat, 3 Apr 2021 00:49:51 +0000 (20:49 -0400)]
Add a missing fclose in jitutils MethodSet constructor (#50282)

The file methodSetFile is never used outside of the constructor, but the
file is never closed, leaking a resource handle. Lets close it manually.

3 years agoDisable test VerifyInMemoryDirectoryInfo_IsNotEmpty to address issue 50648 (#50660)
Carlos Sanchez [Fri, 2 Apr 2021 23:33:58 +0000 (16:33 -0700)]
Disable test VerifyInMemoryDirectoryInfo_IsNotEmpty to address issue 50648 (#50660)

3 years agoKeep blittable layout class In/Out by default (#50655)
Elinor Fung [Fri, 2 Apr 2021 23:09:37 +0000 (16:09 -0700)]
Keep blittable layout class In/Out by default (#50655)

3 years agoMake Microsoft.NETCore.Platforms pack from CSProj (#50468)
Eric StJohn [Fri, 2 Apr 2021 22:42:55 +0000 (15:42 -0700)]
Make Microsoft.NETCore.Platforms pack from CSProj (#50468)

* Use CSProj for packing Platforms package

* Port GenerateRuntimeGraph task

This ports the GenerateRuntimeGraph task from arcade as of
https://github.com/dotnet/arcade/tree/d005a8ce6bb81129f9c3a4a907e1b7ccbf2504d5

* Refactor GenerateRuntimeGraph into separate files

* Add test for GenerateRuntimeGraph

* Fix up path to runtime.json

* Don't filter inner builds when building Platforms task

* Skip tests RuntimeGraph task tests on some platforms

* Exclude browser from testing instead of wasm

* Another try at suppressing testing on Browser

3 years agoDisable test, to mitigate failures from https://github.com/dotnet/runtime/issues...
Jo Shields [Fri, 2 Apr 2021 22:05:24 +0000 (18:05 -0400)]
Disable test, to mitigate failures from https://github.com/dotnet/runtime/issues/50238 (#50241)

3 years agoAdd back missing gcstress0xf pipeline. (#50618)
Aaron Robinson [Fri, 2 Apr 2021 21:51:49 +0000 (14:51 -0700)]
Add back missing gcstress0xf pipeline. (#50618)

3 years agoAdd PhysicalMemoryLimit capabilities for /proc/meminfo OS's like Linux. (#47783)
Steve Molloy [Fri, 2 Apr 2021 21:51:29 +0000 (14:51 -0700)]
Add PhysicalMemoryLimit capabilities for /proc/meminfo OS's like Linux. (#47783)

* Add PhysicalMemoryLimit capabilities for non-Windows OS's.

* Use GC.GetGCMemoryInfo as primary source for non-windows.

* Don't bother with /proc/meminfo

* Support this down to 3.1

* Don't need to protect against 'browser' platform in 3.1.

3 years agoDisable Test49826 for ilasm round-trip testing (#50649)
Bruce Forstall [Fri, 2 Apr 2021 20:43:43 +0000 (13:43 -0700)]
Disable Test49826 for ilasm round-trip testing (#50649)

Tracking issue: https://github.com/dotnet/runtime/issues/49985

3 years agoCorrecting proclib function that did not adhere to filemap wrappers (#50643)
monojenkins [Fri, 2 Apr 2021 19:55:42 +0000 (15:55 -0400)]
Correcting proclib function that did not adhere to filemap wrappers (#50643)

During our upgrade of the mono runtime we ran into a situation where `mono_pe_file_map` was being called as part of opening an image now on android. This function did not currently adhere to the filemap wrapper functions so the difference in data types being used by Unity caused crashes.

Co-authored-by: UnityAlex <UnityAlex@users.noreply.github.com>
3 years agoshould be GetThreadNULLOk (otherwise debugger crashes in checked) (#50614)
Vladimir Sadov [Fri, 2 Apr 2021 18:08:03 +0000 (11:08 -0700)]
should be GetThreadNULLOk (otherwise debugger crashes in checked) (#50614)

3 years agoFix setting or getting pointer fields with reflection (#50460)
Aleksey Kliger (λgeek) [Fri, 2 Apr 2021 18:00:28 +0000 (14:00 -0400)]
Fix setting or getting pointer fields with reflection (#50460)

Setting a pointer via reflection incorrectly added an extra layer of
indirection, and getting a pointer via reflection incorrectly
dereferenced the value once.

As a result, setting and then getting only via reflection worked
correctly, but doing either step by directly accessing the field and the
other via reflection was broken.

Also adjusts `FieldInfoTest` to test this, for both static and instance
fields (the set path especially is different for those.)

Fixes https://github.com/mono/mono/issues/20872

This change is released under the MIT license.

Co-authored-by: Sebastian Paarmann <sebastian@s-paarmann.de>
3 years agoMoving Suppress message to assembly level and adding Scope in order to get right...
Jose Perez Rodriguez [Fri, 2 Apr 2021 16:23:28 +0000 (09:23 -0700)]
Moving Suppress message to assembly level and adding Scope in order to get right suppressing behavior (#50626)

* Moving Suppress message to assembly level and adding Scope in order to get right suppressing behavior

* Fixing indentation

3 years agoUse EVP_PKEY for RSA signing operations
Jeremy Barton [Fri, 2 Apr 2021 16:10:08 +0000 (09:10 -0700)]
Use EVP_PKEY for RSA signing operations

With this change all RSA private key operations (excluding import/export) use the EVP_PKEY APIs.

* RSAPaddingProcessor is no longer used in conjunction with the private keys, on Linux.
* The pal_rsa.c copy of HasPrivateKey has been removed.

3 years agoMore precise descriptor for Mono's Enum/String types (#50640)
Marek Safar [Fri, 2 Apr 2021 16:08:36 +0000 (18:08 +0200)]
More precise descriptor for Mono's Enum/String types (#50640)

3 years ago[iOS/tvOS] Fix TargetOS case-sensitivity in tests (#50582)
Maxim Lipnin [Fri, 2 Apr 2021 15:36:44 +0000 (18:36 +0300)]
[iOS/tvOS] Fix TargetOS case-sensitivity in tests (#50582)

* Fix TargetOS case-sensitivity in tests

* Fix TargetOS in AppleAppBuilder

* Remove the switch

3 years agoAllow exact duplicate input entries when bundling single file (#50476)
Vitek Karas [Fri, 2 Apr 2021 14:02:56 +0000 (07:02 -0700)]
Allow exact duplicate input entries when bundling single file (#50476)

SDK can (and will) produce inputs for bundling which contain exact duplicate entries (same source path and same target relative path). Currently publishing such app as non-single-file works just fine (files are overwritten), but publishing it as single-file fails.

Fixing this in the SDK seems like a rather complex problem - see dotnet/sdk#16576 for more details.

There's no harm in allowing exact duplicates and ignoring them when bundling (only one copy of the file is bundled) as that will be the same behavior as non-single-file publish.

If the duplicates are not exact (different source path) then still reject those. SDK currently allows that, but it's very problematic (effectively random output).

3 years ago[wasm] Fix the handling of float arguments in the icall table generator. (#50627)
Zoltan Varga [Fri, 2 Apr 2021 10:49:29 +0000 (06:49 -0400)]
[wasm] Fix the handling of float arguments in the icall table generator. (#50627)

The runtime icall tables use "single" instead of "float".

3 years agoRemove AssemblyName from SPC descriptor (#50605)
Marek Safar [Fri, 2 Apr 2021 08:46:08 +0000 (10:46 +0200)]
Remove AssemblyName from SPC descriptor (#50605)

It's not needed as the runtime bridge uses MonoAssemblyName

3 years agoRemove unused MonoIOError file (#50610)
Marek Safar [Fri, 2 Apr 2021 08:22:24 +0000 (10:22 +0200)]
Remove unused MonoIOError file (#50610)

3 years agoUse existing HexConvertor method for ascii to hex digit conversion (#50558)
Marek Safar [Fri, 2 Apr 2021 08:11:05 +0000 (10:11 +0200)]
Use existing HexConvertor method for ascii to hex digit conversion (#50558)

3 years agomono_breakpoint_clean_code always returns TRUE. (#50599)
monojenkins [Fri, 2 Apr 2021 07:08:11 +0000 (03:08 -0400)]
mono_breakpoint_clean_code always returns TRUE. (#50599)

Co-authored-by: jaykrell <jaykrell@users.noreply.github.com>
3 years agoSimplify Comparer_get_Default (#50602)
Egor Bogatov [Fri, 2 Apr 2021 05:10:39 +0000 (08:10 +0300)]
Simplify Comparer_get_Default (#50602)

3 years agoDisable test b426654 for GCStress (#50628)
Bruce Forstall [Fri, 2 Apr 2021 04:54:00 +0000 (21:54 -0700)]
Disable test b426654 for GCStress (#50628)

It has been failing with timeouts on GCStress=3.

Tracking issue: https://github.com/dotnet/runtime/issues/50615

3 years ago[mono] Add back mono_register_config_for_assembly (#50584)
Aleksey Kliger (λgeek) [Fri, 2 Apr 2021 04:33:28 +0000 (00:33 -0400)]
[mono] Add back mono_register_config_for_assembly (#50584)

Can't drop API symbols.

3 years agoSplit up complicated assert into parts. (#50620)
Aaron Robinson [Fri, 2 Apr 2021 02:29:46 +0000 (19:29 -0700)]
Split up complicated assert into parts. (#50620)

In an effort to narrow down a hard to repro GCStress issue, the assert
is being split into parts.

3 years agoDisable stackoverflowtester under gcstress (#50617)
Bruce Forstall [Fri, 2 Apr 2021 02:17:21 +0000 (19:17 -0700)]
Disable stackoverflowtester under gcstress (#50617)

This test currently fails under many gcstress legs.

Tracking issue: https://github.com/dotnet/runtime/issues/46279

3 years agoDisable TestDynamicAssembly tests (#50592)
Bruce Forstall [Fri, 2 Apr 2021 01:49:55 +0000 (18:49 -0700)]
Disable TestDynamicAssembly tests (#50592)

These fail under GCStress.

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

3 years agoFix formatting string for assembly MVID mismatch (#50474)
Tomáš Rylek [Fri, 2 Apr 2021 01:24:14 +0000 (18:24 -0700)]
Fix formatting string for assembly MVID mismatch (#50474)

During development of the MVID check change I at some point ended
up with mismatched printf specifiers and arguments. This change fixes
this inconsistency.

Thanks

Tomas

3 years agoPool the underlying list and dictionary in scopes. (#50463)
David Fowler [Fri, 2 Apr 2021 00:04:24 +0000 (17:04 -0700)]
Pool the underlying list and dictionary in scopes. (#50463)

- This change pools a set of scopes assuming they are short lived.
- One breaking change is that after disposal, pooled scopes will throw if services are accessed afterwards on the scope.
- Modified test to throw after dispose

3 years agoFix variable reference (#50623)
Bill Wert [Thu, 1 Apr 2021 23:35:08 +0000 (16:35 -0700)]
Fix variable reference (#50623)

3 years agoFix x86 warning on latest VS dogfood (#50607)
Jan Kotas [Thu, 1 Apr 2021 23:21:35 +0000 (16:21 -0700)]
Fix x86 warning on latest VS dogfood (#50607)

* Fix x86 warning on latest VS dogfood

* Delete unnecessary warning disable

3 years agoExclude tvOS aot functional test from ci run (#50591)
Steve Pfister [Thu, 1 Apr 2021 21:23:01 +0000 (17:23 -0400)]
Exclude tvOS aot functional test from ci run (#50591)

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

3 years agoAndroid scenario fixes (#50596)
Bill Wert [Thu, 1 Apr 2021 19:00:27 +0000 (12:00 -0700)]
Android scenario fixes (#50596)

* fix path to workitems

* update queue

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210331.1 (#50555)
dotnet-maestro[bot] [Thu, 1 Apr 2021 18:30:40 +0000 (20:30 +0200)]
Update dependencies from https://github.com/mono/linker build 20210331.1 (#50555)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.2.21180.4 -> To Version 6.0.100-preview.2.21181.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoFix dumping R2R embedded PGO data (#50533)
David Wrighton [Thu, 1 Apr 2021 17:47:20 +0000 (10:47 -0700)]
Fix dumping R2R embedded PGO data (#50533)

- Handle case where assembly has no embedded pgo data
- Handle case where method in file has no embedded pgo data but some other methods do

3 years agoSupport DOTNET_ prefix (#50507)
Aaron Robinson [Thu, 1 Apr 2021 17:20:22 +0000 (10:20 -0700)]
Support DOTNET_ prefix (#50507)

* Support and prefer DOTNET_ prefix.

Add support for EnableDOTNETPrefix to disable respecting the DOTNET_ prefix.

Enable environment variable caching on non-Windows platforms.

3 years agoFix GC overreporting with generics context + GS cookie (#50544)
Bruce Forstall [Thu, 1 Apr 2021 16:36:19 +0000 (09:36 -0700)]
Fix GC overreporting with generics context + GS cookie (#50544)

This is a case of a generics context in `this` where we need to keep
`this` alive (but aren't required to by the VM) with a GS cookie check
(due to "JitStress: STRESS_UNSAFE_BUFFER_CHECKS"), and maybe other
JitStress modes, where `genEmitGSCookieCheck` decides to use `rcx`
to load the cookie, even though it is alive. `this` is also mostly
in a register, but it reported live as a stack slot. When the GS
cookie label gets created, the "codegen" gc info hasn\92t been updated
with the killed register, so the emitter label gets the wrong GC info
and brings rcx back alive just for the `nop`. GC cookie checks kind
of do their own register allocation since they\92re part of the epilogs.

The GS cookie code checks for keep alive using "lvRegister", but that
isn't set, since the cookie is mostly alive in a stack slock, not
always in a register. Use `lvIsInReg()` instead, so GS cookie check
will use RDX to load the cookie instead.

Fixes #50404

3 years agoFix default nothrow behavior for MethodIL.GetObject (#50539)
Jan Kotas [Thu, 1 Apr 2021 15:31:07 +0000 (08:31 -0700)]
Fix default nothrow behavior for MethodIL.GetObject (#50539)

3 years agoFix closing tag (#50552)
Maxim Lipnin [Thu, 1 Apr 2021 14:31:37 +0000 (17:31 +0300)]
Fix closing tag (#50552)

Fixing the oversight in #50475

3 years agoFree temporary enums on failure (#50471)
Tom Deseyn [Thu, 1 Apr 2021 13:56:14 +0000 (15:56 +0200)]
Free temporary enums on failure (#50471)

* Free temporary enums on failure

* PR feedback

3 years agoDelete missed mono/netcore from the documentation (#50557)
SingleAccretion [Thu, 1 Apr 2021 13:27:57 +0000 (16:27 +0300)]
Delete missed mono/netcore from the documentation (#50557)

3 years agoSet iOSSimulator as TargetOS in case of empty value for the iOS functional tests...
Maxim Lipnin [Thu, 1 Apr 2021 06:54:57 +0000 (09:54 +0300)]
Set iOSSimulator as TargetOS in case of empty value for the iOS functional tests (#50475)

3 years agoAdd Random.Shared (#50297)
Stephen Toub [Thu, 1 Apr 2021 05:32:03 +0000 (01:32 -0400)]
Add Random.Shared (#50297)

* Add Random.Shared

* Disable on wasm test requiring parallelism

3 years agoBring up tvOS x64 staging pipeline leg (#50326)
Steve Pfister [Thu, 1 Apr 2021 04:24:08 +0000 (00:24 -0400)]
Bring up tvOS x64 staging pipeline leg (#50326)

Contributes to #33381

3 years ago[AndroidCrypto] Fix some leaks from missed local ref releases (#50534)
Elinor Fung [Thu, 1 Apr 2021 04:14:29 +0000 (21:14 -0700)]
[AndroidCrypto] Fix some leaks from missed local ref releases (#50534)

3 years agoFix A/V in ApplyUpdate API (#50452)
Mike McLaughlin [Thu, 1 Apr 2021 03:39:07 +0000 (20:39 -0700)]
Fix A/V in ApplyUpdate API (#50452)

* Fix A/V in ApplyUpdate API

Add thread suspend around the update API.

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

* Remove thread suspension; switch to ResetCodeEntryPoint()

3 years agoAdd class as a target for RequiresUnreferencedCodeAttribute (#50064)
Tlakaelel Axayakatl Ceja [Thu, 1 Apr 2021 03:19:34 +0000 (20:19 -0700)]
Add class as a target for RequiresUnreferencedCodeAttribute (#50064)

3 years agoRemove a bunch of X509 PAL closures from FindCore
Stephen Toub [Thu, 1 Apr 2021 00:35:42 +0000 (20:35 -0400)]
Remove a bunch of X509 PAL closures from FindCore

3 years agoCleanup name of test exclusion itemgroup (#50513)
Alexander Köplinger [Thu, 1 Apr 2021 00:10:14 +0000 (02:10 +0200)]
Cleanup name of test exclusion itemgroup (#50513)

Follow up from feedback in https://github.com/dotnet/runtime/pull/50332

3 years agoAdd ExceptionDispatchInfo.SetRemoteStackTrace (#50392)
Levi Broderick [Thu, 1 Apr 2021 00:08:42 +0000 (17:08 -0700)]
Add ExceptionDispatchInfo.SetRemoteStackTrace (#50392)

3 years agoStop skipping entire System.Net.Http functional test suite on Android (#50509)
Elinor Fung [Thu, 1 Apr 2021 00:06:50 +0000 (17:06 -0700)]
Stop skipping entire System.Net.Http functional test suite on Android (#50509)

It is skipped based on flakiness/slowness on a Checked/Debug runtime, which we are not currently
using for Android tests. Put the test suite under Android test ProjectExclusions instead.

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210330.4 (#50481)
dotnet-maestro[bot] [Thu, 1 Apr 2021 00:06:35 +0000 (20:06 -0400)]
Update dependencies from https://github.com/mono/linker build 20210330.4 (#50481)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.2.21180.1 -> To Version 6.0.100-preview.2.21180.4

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoBig-endian fix: Accessing OBJECTHEADER in ImageConverter (#50499)
Ulrich Weigand [Thu, 1 Apr 2021 00:06:05 +0000 (02:06 +0200)]
Big-endian fix: Accessing OBJECTHEADER in ImageConverter (#50499)

* Big-endian fix: Accessing OBJECTHEADER in ImageConverter

The GetBitmapStream routine in ImageConverter is supposed to
skip an embedded OBJECTHEADER structure.  However, this
structure needs to be read in little-endian mode, not in
native byte order.

Fixes the ImageConverterTest.ImageWithOleHeader test on
big-endian systems.

* Update src/libraries/System.Drawing.Common/src/System/Drawing/ImageConverter.cs

Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoAvoid closure in WebSocketHandle.ConnectAsync (#50502)
Stephen Toub [Thu, 1 Apr 2021 00:05:51 +0000 (20:05 -0400)]
Avoid closure in WebSocketHandle.ConnectAsync (#50502)

3 years agoFix accidental closure in Regex.Replace (#50512)
Stephen Toub [Thu, 1 Apr 2021 00:05:10 +0000 (20:05 -0400)]
Fix accidental closure in Regex.Replace (#50512)

And sprinkle some "static" around to help avoid this in the future.

3 years agofix XML tag (#50523)
Bill Wert [Wed, 31 Mar 2021 22:54:45 +0000 (15:54 -0700)]
fix XML tag (#50523)

3 years agoFix linux test legs (#50518)
Bill Wert [Wed, 31 Mar 2021 22:43:50 +0000 (15:43 -0700)]
Fix linux test legs (#50518)

3 years ago[main] Update dependencies from dotnet/arcade dotnet/icu dotnet/xharness dotnet/llvm...
dotnet-maestro[bot] [Wed, 31 Mar 2021 21:46:37 +0000 (21:46 +0000)]
[main] Update dependencies from dotnet/arcade dotnet/icu dotnet/xharness dotnet/llvm-project (#50416)

[main] Update dependencies from dotnet/arcade dotnet/icu dotnet/xharness dotnet/llvm-project

 - Revert publishing branch changes

https://github.com/dotnet/arcade/issues/6987

 - reintroduce publishing branch workaround

https://github.com/dotnet/arcade/issues/6987

3 years agoFix msquic.dll loading (#50506)
Natalia Kondratyeva [Wed, 31 Mar 2021 21:40:43 +0000 (23:40 +0200)]
Fix msquic.dll loading (#50506)

3 years agoReenable Android.Device_Emulator.Aot.Test.csproj (#50332)
Alexander Köplinger [Wed, 31 Mar 2021 21:39:24 +0000 (23:39 +0200)]
Reenable Android.Device_Emulator.Aot.Test.csproj (#50332)

* Reenable Android.Device_Emulator.Aot.Test.csproj

Closes https://github.com/dotnet/runtime/issues/49757

* Update tests.proj

3 years agoAvoid closure in ValidationContext if serviceProvider is null (#50483)
Stephen Toub [Wed, 31 Mar 2021 21:25:52 +0000 (17:25 -0400)]
Avoid closure in ValidationContext if serviceProvider is null (#50483)

3 years agoadd android scenarios (#50407)
Bill Wert [Wed, 31 Mar 2021 21:06:48 +0000 (14:06 -0700)]
add android scenarios (#50407)

3 years agoFix usage of process_vm_readv in createdump (#50477)
Juan Hoyos [Wed, 31 Mar 2021 20:34:25 +0000 (13:34 -0700)]
Fix usage of process_vm_readv in createdump (#50477)

* Fix usage of process_vm_readv in createdump; fallback to pread64

* No-op logging

3 years agoProhibit BF unless the app opts in (#48527)
Prashanth Govindarajan [Wed, 31 Mar 2021 20:08:23 +0000 (13:08 -0700)]
Prohibit BF unless the app opts in (#48527)

* Prohibit BF unless the app opts in

* Address feedback

* First unit test

* 2nd unit test. Checkpoint

* sq

* sq

* sq

* Address Levi's feedback

* sq

* Address nits

* Linker changes and tests

* sq

* sq

* Linker warnings ids

* Address comments

* Change trimming test so linker can detect a pattern

* sq

* Address comments

* sq

Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
3 years ago[AndroidCrypto] Make SslStreamCertificateContext treat an empty chain as not finding...
Elinor Fung [Wed, 31 Mar 2021 19:09:35 +0000 (12:09 -0700)]
[AndroidCrypto] Make SslStreamCertificateContext treat an empty chain as not finding intermediates (#50195)

3 years agoAlso build bundleproj for PGO (#50434)
Andy Gocke [Wed, 31 Mar 2021 19:08:18 +0000 (12:08 -0700)]
Also build bundleproj for PGO (#50434)

I previously disabled publishing all but Microsoft.NETCore.App.sfxproj,
which publishes the dotnet-runtime-internal package. This is almost, but
not quite, the right package. It doesn't contain the host dependencies,
although it does contain the right runtime files. The right package is
Microsoft.NETCore.App.bundleproj, which builds dotnet-runtime. Unfortunately,
I didn't catch this in manual testing because I think copying over the temp
bits reused the host dependencies from the previous install location. I've
wiped this from scratch and it looks fine now. (crossed fingers)

3 years agoAdd option for building a test exe as single file (#42972)
Andy Gocke [Wed, 31 Mar 2021 18:34:05 +0000 (11:34 -0700)]
Add option for building a test exe as single file (#42972)

* Add option for building a test exe as single file

* Remove left over test

* Add target to exclude references from single-file

* First attempt at adding a CI job

* Opt-in specific libraries for single-file testing support

Start with System.Collections as all tests pass.

* Config testing using single-file in build.cmd

* Change yml suffix name to SingleFile

* Windows_NT_x64 -> windows_x64

* Fix for helix queueing

* Respond to host rename

* Change TargetOS to check for windows

* chmod test exe on linux

* Direct singlefilehost to the locally built copy

* Adjust singlefilehost copy+call

* Add .exe suffix on Windows

* Move libraries after hosts build to allow for libs.test to depend on hosts build

* Split up host and libs packaging and tests

* Move host packaging

* Move pretest up

* Move packages up as well

* Reorder libs pretest and libs.packages

* Add isSingleFile build parameter to limit Linux Helix jobs

* Typo

* Change conditional check

* Fix yml

* Fix yml

* Fix neq

* Fix subsets

* Typo

* Fix

* Adjust assert

* Include code from Michal to skip failing test

* Remove empty ItemGroup

* Update src/libraries/Common/tests/SingleFileTestRunner/SingleFileTestRunner.cs

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
* Update eng/testing/tests.singlefile.targets

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
* Apply suggestions from code review

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
* Use ProjectExclusions

* Update eng/testing/tests.singlefile.targets

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
* Revert changes

* Remove host build from tests

Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
3 years agoRefactor missing reference errors to allow not throwing for all cases (#50437)
David Wrighton [Wed, 31 Mar 2021 17:50:25 +0000 (10:50 -0700)]
Refactor missing reference errors to allow not throwing for all cases (#50437)

- Build the concept of a cacheable resolution failure
- Plumb it through the Ecma type loader and the required public api surfaces
- Use it within the Mibc parser to avoid throwing

3 years agoSupport private SuperPMI MCH file stores (#50268)
Bruce Forstall [Wed, 31 Mar 2021 17:41:10 +0000 (10:41 -0700)]
Support private SuperPMI MCH file stores (#50268)

* Support private SuperPMI MCH file stores

In addition to the default Azure Storage SuperPMI location,
support private data stores via the new `-private_store` argument
to `replay` and `asmdiffs`. Private stores are typically file
system locations, or, on Windows, UNC paths.

There already exists the `-mch_files` argument, which allows you
to use any specified set of MCH files. However, when specifying
`-mch_files`, only those files are used and the normal stores are
ignored.

The private store mechanism is more convenient in some scenarios,
as it treats the specified private stores equivalently to the default
Azure Storage store.

In addition, both private stores and `-mch_files` handle downloading
ZIP files, un-ZIPping, and caching their contents.

Finally, a new top-level command `upload-private` is introduced to
help create private stores by specifying a set of MCH files to
use. It ZIP compresses the files to upload.

* Fix `-base_jit_path`

If `-base_jit_path` is specified on the command line, ensure it is a
full path before using it.

3 years agoAdd IsWellKnownStringComparer methods (#50312)
Levi Broderick [Wed, 31 Mar 2021 17:30:24 +0000 (10:30 -0700)]
Add IsWellKnownStringComparer methods (#50312)

3 years ago[mono] Fix the handling of jit icall wrappers in mono_aot_method_hash (), the name...
Zoltan Varga [Wed, 31 Mar 2021 17:21:16 +0000 (13:21 -0400)]
[mono] Fix the handling of jit icall wrappers in mono_aot_method_hash (), the name might be different at runtime if DISABLE_JIT is set. (#50482)

3 years agoUpdate testing-android.md (#50484)
Fan Yang [Wed, 31 Mar 2021 17:03:27 +0000 (13:03 -0400)]
Update testing-android.md (#50484)

3 years agoRename CreateInstanceT_StructWithoutDefaultConstructor_ThrowsMissingMethodException...
Eric Erhardt [Wed, 31 Mar 2021 16:13:49 +0000 (11:13 -0500)]
Rename CreateInstanceT_StructWithoutDefaultConstructor_ThrowsMissingMethodException test (#50191)

This doesn't throw an exception, so the test shouldn't be named "ThrowsMissingMethodException"

3 years agoFix a crash in WriteMethodProfileDataLogFile (#50473)
Dong-Heon Jung [Wed, 31 Mar 2021 15:42:59 +0000 (00:42 +0900)]
Fix a crash in WriteMethodProfileDataLogFile (#50473)

pEmitter is not assigned in https://github.com/dotnet/runtime/pull/50242

3 years agoAdd AsyncMethodBuilderOverride and PoolingAsyncValueTaskMethodBuilders (#50116)
Stephen Toub [Wed, 31 Mar 2021 13:30:24 +0000 (09:30 -0400)]
Add AsyncMethodBuilderOverride and PoolingAsyncValueTaskMethodBuilders (#50116)

* Add AsyncMethodBuilderOverride and PoolingAsyncValueTaskMethodBuilders

* Revise based on C# LDM changes to model

* Fix API compat errors

3 years agoAllow bounded channel to be created with drop delegate (#50331)
Ivan Beňovic [Wed, 31 Mar 2021 11:13:59 +0000 (13:13 +0200)]
Allow bounded channel to be created with drop delegate (#50331)

* Bounded channel can be created with drop delegate.

- Add additional CreateBounded overload with delegate parameter that will be called when item is being dropped from channel
- Added unit tests

* Fix typo in comment.

* Apply suggestions from code review

Co-authored-by: Stephen Toub <stoub@microsoft.com>
* Call drop delegate outside of lock statement.

* Use overload of CreateBounded method instead of calling ctor directly.

* Code review suggestions refactor.

* Move Monitor.Enter before try and use local scoped parent variable everywhere.

* Drop delegate should not be called while sync lock is held.

Enqueuing of new item should be done while sync lock is being held.
Added additional tests.

* Rerun gitlab CI.

* Do not run deadlock test for bounded channels if platform do not support threading.

* Apply suggestions from code review

Co-authored-by: Ivan Benovic <ivan.benovic@innovatrics.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoFix typo in `string.Join` (#50467)
xtqqczze [Wed, 31 Mar 2021 11:02:11 +0000 (12:02 +0100)]
Fix typo in `string.Join` (#50467)

Follow-up #44032.

3 years ago[FileStream] Rename "Legacy" to "Net5Compat" (#50470)
Adam Sitnik [Wed, 31 Mar 2021 11:01:20 +0000 (13:01 +0200)]
[FileStream] Rename "Legacy" to "Net5Compat" (#50470)

* rename Legacy => Net5Compat (System.Private.CoreLib)

* rename Legacy => Net5Compat (test projects)

3 years ago[interp] Fix tracing (#50415)
Vlad Brezae [Wed, 31 Mar 2021 08:32:05 +0000 (11:32 +0300)]
[interp] Fix tracing (#50415)

3 years agoAdd tracking a recursion depth in System.IO.FileSystem (#48148)
Ilya [Wed, 31 Mar 2021 08:02:48 +0000 (13:02 +0500)]
Add tracking a recursion depth in System.IO.FileSystem (#48148)

* Add tracking a depth recursion in System.IO.FileSystem

* Update src/libraries/System.IO.FileSystem/src/System/IO/EnumerationOptions.cs

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
* Fix docs

* Address feedbacks

* Fix typo

* Add MaxRecursionDepth value check

* Fix net48 build: Add string to MS.IO.Redist resx file

* Fix test and initialization.

* Address feedback

Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
Co-authored-by: David Cantu <dacantu@microsoft.com>