platform/upstream/dotnet/runtime.git
3 years agoDisable JIT xarch asserts on gcref/byref computation (#56192)
Bruce Forstall [Fri, 23 Jul 2021 05:36:51 +0000 (22:36 -0700)]
Disable JIT xarch asserts on gcref/byref computation (#56192)

The emitter has asserts that an xarch RMW inc/dec/add/sub of a byref
must have an incoming gcref/byref to be legal. This is (no longer)
true due to extensive use of Span and Unsafe constructs, where we
often see lclheap or other integer typed values cast to byref. Also,
the emitter only updates its GC info when an instruction is generated.
When one of these casts from integer to byref ends up getting the same
register allocated, and its instruction is thus omitted, the emitter
doesn't get the appropriate gcref update (this problem is being
attempted to be solved elsewhere).

For now, disable these asserts.

Re-enable the tests disabled in #54207

Fixes #51728, #54007

3 years agoMake Extensions.FileProviders supported in browser and only unsupport FSW usage ...
David Cantú [Fri, 23 Jul 2021 02:03:47 +0000 (19:03 -0700)]
Make Extensions.FileProviders supported in browser and only unsupport FSW usage (#56189)

* Make Extensions.FileProviders supported in browser and only unsupport FSW usage

* Disable CA1416 only for TryEnableFileSystemWatcher

3 years agoCall the jit shutdown logic on crossgen2 shutdown (#56187)
David Wrighton [Fri, 23 Jul 2021 00:28:07 +0000 (17:28 -0700)]
Call the jit shutdown logic on crossgen2 shutdown (#56187)

- Allows the jit shutdown logic to execute reliably on both Windows and Unix

3 years agoUse checked math with CryptoStream buffer calculations
Jeremy Barton [Fri, 23 Jul 2021 00:04:17 +0000 (17:04 -0700)]
Use checked math with CryptoStream buffer calculations

In .NET Framework, .NET 5, and .NET Core the block scaling logic was used for
`new byte[inputCount / inputBlockSize * outputBlockSize]` (or swap in/out).
That expression throws an OverflowException when the computed size
overflows.

Earlier in .NET 6 we changed to use ArrayPool.Rent.  When ArrayPool.Rent gets a
negative (overflowed) number it instead throws an ArgumentException.

This change restores the OverflowException, so that we're not leaking an
ArgumentException back to the caller.  (While the caller can control the
behavior with the arguments they pass to CryptoStream.Read/Write, the
description and paramName don't map in an obvious manner)

Making the scenario work has virtue, but requires a larger test investment than
we can make at this time.

3 years ago[mono] Mark jit icalls using ICALL_EXPORT so they get exported from libmonosgen.so...
Zoltan Varga [Thu, 22 Jul 2021 23:23:47 +0000 (19:23 -0400)]
[mono] Mark jit icalls using ICALL_EXPORT so they get exported from libmonosgen.so. (#56144)

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

3 years agoJIT: work around issue with GDV and Bboxing (#56126)
Andy Ayers [Thu, 22 Jul 2021 21:56:31 +0000 (14:56 -0700)]
JIT: work around issue with GDV and Bboxing (#56126)

If a call is a GDV candidate and returns a struct via hidden buffer, and that
return value is immediately boxed, the GDV expansion will produce IR in
incorrect order, leading to bad codegen.

This seems to be a rare enough sequence that disabling GDV is a reasonable
workaround for now.

Actually the box expansion is producing IR in the wrong order and GDV fails
to fix the order (unlike inlining, which does fix the order).

Longer term we should avoid producing out of order IR. But that seems a bit
more complicated and may have other CQ impact.

Added a test case.

Closes #53549.

3 years agoFix DAC issue with redefined standard new / delete operators (#55945)
Jan Vorlicek [Thu, 22 Jul 2021 21:39:42 +0000 (23:39 +0200)]
Fix DAC issue with redefined standard new / delete operators (#55945)

I have found that since .NET 6 preview 5, SOS on macOS arm64 crashes
when running basic commands like clrstack due to the fact that
its std::string allocations are done using standard new operator,
but the freeing at some places is done using our overriden delete
operator due to inlining of STL code.

This change removes our redefinitions of those operators for DAC
compilation, so this clash cannot happen.

3 years agoUpdate hosting shutdown doc (#56176)
Eric Erhardt [Thu, 22 Jul 2021 21:08:43 +0000 (16:08 -0500)]
Update hosting shutdown doc (#56176)

3 years agoFix build break (#56179)
Eric Erhardt [Thu, 22 Jul 2021 20:30:46 +0000 (15:30 -0500)]
Fix build break (#56179)

Disable the warning until a proper fix can be made.

See #56178

3 years agoFix DeserializeAsyncEnumerable streaming behavior (#56080)
Eirik Tsarpalis [Thu, 22 Jul 2021 20:29:22 +0000 (23:29 +0300)]
Fix DeserializeAsyncEnumerable streaming behavior (#56080)

Fixes regression introduced by #51702: the ContinueDeserialize method will return 'null' on partial reads so no elements will be yielded by the enumerator until the entire stream has been consumed.

This change reverts to the original implementation where the partially populated queue is being fetched from the ReadStack instead.

3 years agofix queue converter singleton initialization (#56081)
Eirik Tsarpalis [Thu, 22 Jul 2021 20:29:00 +0000 (23:29 +0300)]
fix queue converter singleton initialization (#56081)

3 years agoTranslate SocketError.MessageSize to IPStatus.PacketTooBig in Ping.SendPing[Async...
Filip Navara [Thu, 22 Jul 2021 20:22:49 +0000 (22:22 +0200)]
Translate SocketError.MessageSize to IPStatus.PacketTooBig in Ping.SendPing[Async] (#56092)

* Translate SocketError.MessageSize to IPStatus.PacketTooBig in Ping.SendPing[Async]

* Address feedback

* Remove extra whitespace

3 years ago[iOS/tvOS/MacCatalyst] Disable some of the library tests due to failures (#56074)
Maxim Lipnin [Thu, 22 Jul 2021 19:39:41 +0000 (22:39 +0300)]
[iOS/tvOS/MacCatalyst] Disable some of the library tests due to failures (#56074)

It's to clean up the respective CI staging lanes.

The related issues:

[iOS/tvOS/MacCatalyst] Test failures in System.Diagnostics.Tracing.Tests #56073

[libraries][iOSSimulator] ImageTests.FromFile_NullFileName_ThrowsArgumentNullException fails  #56048

JitInfoIsPopulated failed with after is not greater than before #55712

[MacCatalyst] Test failures in System.Tests.OperatingSystemTests #56084

[MacCatalyst] App crash in System.Text.Json.SourceGeneration.Tests #56085

3 years agoUpdate SDK to 6.0 Preview 5 (#55283)
Viktor Hofer [Thu, 22 Jul 2021 19:27:11 +0000 (21:27 +0200)]
Update SDK to 6.0 Preview 5 (#55283)

* Update SDK to 6.0 Preview 5

Part of https://github.com/dotnet/runtime/issues/55281

* Enable COM support to work around missing symbols in tests

* Update eng/testing/linker/project.csproj.template

* Disable the workload targets

* Disable workloads for wasm builds

For in-tree builds, and tests we don't want to use workloads from dotnet
being used to build these.

For the projects being built on the build machine, we can disable them
via `Directory.Build.props`, and wasm's InTree/LocalBuild props. But for
projects that get built on helix, eg. the runtime tests, we are setting
the property values as environment variables.

* Fix setting envvars for disabling workloads

* Another attempt to fix wasm tests

In preview5, the workload manifest overrides
`$(UsingBrowserRuntimeWorkload)` setting, so pass it on the command
line.

``xml
    <PropertyGroup Condition="'$(RuntimeIdentifier)' == 'browser-wasm'">
        <UsingBrowserRuntimeWorkload Condition="'$(RunAOTCompilation)' == 'true' or '$(UsingMicrosoftNETSdkBlazorWebAssembly)' != 'true'" >true</UsingBrowserRuntimeWorkload>
        <UsingBrowserRuntimeWorkload Condition="'$(UsingBrowserRuntimeWorkload)' == ''" >$(WasmNativeWorkload)</UsingBrowserRuntimeWorkload>
    </PropertyGroup>
```

* Fix host tests after upgrade to P5

In P5 we don't generate .runtimeconfig.dev.json anymore. Some tests started to fail because they relied on the .runtime.dev.json to include local nuget cache in the probing paths.

I changed one of those tests to force-generate .runtimeconfig.dev.json as for the tested scenario it seems to make sense. For the other test I modified it to copy the necessary dependency into the right location instead.

* Fix up reflection to private FileStatus field

* Disable workload resolver for wasm.build.tests, EMSDK run

* Disable workloads for wasm with MSBuildEnableWorkloadResolver=false everywhere

* remove linker workaround

* [wasm] Remove args unnecessary for disabling workloads

* Pass MSBuildEnableWorkloadResolver property to individual trimming projects

Co-authored-by: Juan Sebastian Hoyos Ayala <juhoyosa@microsoft.com>
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Ankit Jain <radical@gmail.com>
Co-authored-by: vitek-karas <vitek.karas@microsoft.com>
Co-authored-by: Eric Erhardt <eric.erhardt@microsoft.com>
Co-authored-by: Anirudh Agnihotry <anirudhagnihotry098@gmail.com>
3 years agoRemove diasymreader from source build (#56116)
David Wrighton [Thu, 22 Jul 2021 19:12:59 +0000 (12:12 -0700)]
Remove diasymreader from source build (#56116)

* Remove diasymreader from source build

* Remove Diasymreader from crossgen2 package in source build scenarios

3 years agoinstrumentation changes (#55888)
Maoni Stephens [Thu, 22 Jul 2021 19:08:27 +0000 (12:08 -0700)]
instrumentation changes (#55888)

We've never had ETW events that had fields about time - we rely on the the timestamps of the ETW events themselves to calculate time. This checkin introduces some new events/event fields that will include time info instead of firing individual events that otherwise don't carry much info, ie, they'd just be there so we could use their timestamps, which would be a nuisance when we have many heaps.

The rationale behind firing events with time already calculated is

1) it does reduce overhead since we don't fire as many events so we can fire these in fewer events for informational level
2) firing individual vents and having the tools interpret them isn't very useful unlike events such as GCStart/GCEnd which can be correlated with other events (eg, you get GCStart, and then get a bunch of other events so you know those happened after a GC started) wheras things like very GC internal things don't have this property, ie, we are not gonna care that "these other events happened during a GC and specifically during the relocaton phase".

---

Added MarkWithType events for marking due to dependent handles, newly promoted due to dead finalizable objects and mark_steal. Perfview needs to be updated to work with this otherwise you can't see the GCStats view (I'm submitting a PR for that).

Recorded time for marking roots (but sizedref is separate), short weak, ScanForFinalization, long weak, relocate, compact and sweep.

Added a new version that includes the size of the object that triggered the event. This is for a request from https://github.com/dotnet/runtime/issues/49424#issuecomment-810457867.

Provided a new rundown GCSettings event that has info on settings hard to get from traces.

Added a GCLOHCompact event which is fired for all heaps (heaps that didn't actually do LOH compact would have values of all 0s). I'm trying to add events that don't require a lot of correlation with other events to interpret. This is to help get an idea how long it takes to compact LOH and how reference rich it is.

Added a verbose level GCFitBucketInfo event which helps us with FL fitting investigation. I'm firing this for 2 things in a gen1 GC:

1) for plugs that allocated with allocate_in_condemned_generations the event will capture all of them with the same bucketing as we do for gen2 FL;

2) for gen2 FL we look at the largest free items that take up 25% of the FL space, or if there are too many of them we stop after walking a certain number of free items as we have to limit the amount of time we are spending here.

---

Fixed issues -

For BGC we were reporting the pinned object count the same as the last FGC..and that causes confusion so fixed that.

Fixed https://github.com/dotnet/runtime/issues/45375

While fixing https://github.com/dotnet/runtime/issues/45375, I noticed we have another bug related to alloc tick which is we are not firing the alloc tick events correctly for LOH and POH since the ETW alloc tracking didn't seperate them... fixed this too.

Added the POH type for GCSegmentTypeMap which was missing in the manifest.

---

Did some cleanup in eventtrace.h - we don't need the info that's not used which means we just ended up duplicating things like _GC_ROOT_KIND in more places than needed.

---

Note, I realize that I do have some inconsistency with the FEAETURE_EVENT_TRACE here, as in, some code should be under an #ifdef check but is not. I will look into a remedy for that with a separate PR.

3 years agoFix EH issues with SPMI and crossgen2 (#56054)
David Wrighton [Thu, 22 Jul 2021 18:43:18 +0000 (11:43 -0700)]
Fix EH issues with SPMI and crossgen2 (#56054)

* Remove last vestiges of the PAL exception handling from the JIT-EE interfaces

* Centralize the tweaks to allow finally behavior for crossgen2 exceptions in SPMI
- Centralize the exception filter to capture data with completely common code
- On unix, capture Crossgen2 triggered exceptions as exception code 1 (As was done for getCallInfo only before)
- Use a bunch of templates to reduce the code bloat in SPMI

With these changes catching exceptions should be more reliable. However, I was unable to reproduce the failure, so I need some jit team expertise to identify if these fixes are good.

Fixes #49563

3 years agoRe-enable test (#56120)
David Wrighton [Thu, 22 Jul 2021 18:41:01 +0000 (11:41 -0700)]
Re-enable test (#56120)

3 years agoUpdate EnumerateLines docs (#55367)
Levi Broderick [Thu, 22 Jul 2021 18:13:24 +0000 (11:13 -0700)]
Update EnumerateLines docs (#55367)

3 years agoImprove Guid parsing performance for "D", "N", "B", and "P" (#55792)
Stephen Toub [Thu, 22 Jul 2021 18:12:17 +0000 (14:12 -0400)]
Improve Guid parsing performance for "D", "N", "B", and "P" (#55792)

* Improve Guid parsing for "D", "N", "B", and "P"

* Update src/libraries/System.Private.CoreLib/src/System/Guid.cs

3 years agoMake polling use the symbolic link target's LastWriteTime (#55664)
David Cantú [Thu, 22 Jul 2021 18:11:49 +0000 (11:11 -0700)]
Make polling use the symbolic link target's LastWriteTime (#55664)

* Relax LinkTarget so it always returns null when steps on an error

* Make polling use the symbolic link target's LastWriteTime

* Fix for the case where the link can change its target

* Add more test cases and exclude them from non-netcoreapp tfms

* Fix project references in ref projects

* Do not use UnsupportedOSPlatforms on test project in order to fix CI issue

* Do not return link's LastWriteTime when target not exists

* Address feedback on tests and improve them to cover more scenarios.

* Make the project unsupported in browser.

* Fix duplicate reference to PlatformAttributes with IncludePlatformAttributes=false

* Disable default items for browser

* Undo unrelated changes to Strings.resx

* Replace Thread.Sleep with Task.Delay, add assertion messages to try to debug CI failures and increase delay between writes

* Replace HasChanged for RegisterChangeCallback in tests

* Add messages to asserts to attempt to debug CI issues

* Add date format to assertion messages.

* Increase delay between writes to one second since OSX doesn't report milliseconds

3 years agoUpdate System.Net.Security Telemetry tests (#55910)
Miha Zupan [Thu, 22 Jul 2021 17:35:54 +0000 (10:35 -0700)]
Update System.Net.Security Telemetry tests (#55910)

* Update System.Net.Security Telemetry tests

* Always return Task from ProcessAuthenticationAsync

* Name bool arguments

Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoStop building RPMs and Debs during PGO builds (#56113)
Andy Gocke [Thu, 22 Jul 2021 17:20:08 +0000 (10:20 -0700)]
Stop building RPMs and Debs during PGO builds (#56113)

3 years ago[wasm] Add $(EmccTotalMemory) to allow custom `-s TOTAL_MEMORY=..` (#56117)
Ankit Jain [Thu, 22 Jul 2021 16:49:45 +0000 (12:49 -0400)]
[wasm] Add $(EmccTotalMemory) to allow custom `-s TOTAL_MEMORY=..` (#56117)

3 years ago[wasm] Fix invariant globalization test (#56121)
Ankit Jain [Thu, 22 Jul 2021 16:37:28 +0000 (12:37 -0400)]
[wasm] Fix invariant globalization test (#56121)

The following commit changed the behavior to throw `CultureNotFoundException`
when creating cultures in invariant mode.

```
commit 04dac7b0fede29d44f896c5fd793754f83974175
Author: Tarek Mahmoud Sayed <tarekms@microsoft.com>
Date:   Thu Jul 1 11:55:05 2021 -0700

    Allow restricting cultures creation with any arbitrary names in Globalization Invariant Mode (#54247)
```

This commit updates the corresponding test in `Wasm.Build.Tests` to
handle that explicitly.

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

3 years agoEnable `EHCONT` for some DLLs and for PGO instrumentation (#55942)
Koundinya Veluri [Thu, 22 Jul 2021 16:25:22 +0000 (09:25 -0700)]
Enable `EHCONT` for some DLLs and for PGO instrumentation (#55942)

* Enable `EHCONT` for some DLLs and for PGO instrumentation

- PGD files used for PGO optimziation need to be collected/produced against binaries with identical compiler features
- Enabled `/guard:ehcont` as a compiler option but not as a linker option
- Enabled `/guard:ehcont` and `/cetcompat` as a linker options for PGO instrumentation only for now
- Once new profile data is published, another PR would follow to enable `/guard:ehcont` and `/cetcompat` as linker options

* Fix build

3 years ago[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade...
dotnet-maestro[bot] [Thu, 22 Jul 2021 16:10:19 +0000 (16:10 +0000)]
[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/xharness dotnet/runtime-assets (#56088)

[main] Update dependencies from dnceng/internal/dotnet-optimization dotnet/arcade dotnet/xharness dotnet/runtime-assets

 - Fix package testing

 - Merge branch 'main' into darc-main-bdcf3772-495a-406e-a53b-da4d8acc1985

3 years agoRemove a few unnecessary state machines from SocketsHttpHandler (#56109)
Stephen Toub [Thu, 22 Jul 2021 15:26:11 +0000 (11:26 -0400)]
Remove a few unnecessary state machines from SocketsHttpHandler (#56109)

3 years agoHostfxr package should depend on host package (#56008)
Nikola Milosavljevic [Thu, 22 Jul 2021 15:20:34 +0000 (08:20 -0700)]
Hostfxr package should depend on host package (#56008)

3 years ago- Enable full float32 support (#56111)
Neale Ferguson [Thu, 22 Jul 2021 09:02:56 +0000 (19:02 +1000)]
- Enable full float32 support (#56111)

-- Add instructions for FP operations: abs[f]/ceil[f]/floor[f]/round[f]/sqrt[f]/trunc[f]
-- Enable these instructions in mono_arch_emit_inst_for_method()
-- Handle return of float32 results
-- Correct rounding mode for OP_LCONV_TO_R_UN processing
- Enable MONO_OPT_LINEAR optimizations
-- Correct prolog processing of structure returned variable
- Rework OP_LOCALLOC for cases where alloc size > 4k
- Add OP_POPCNTxx support
- Minor typo (missing tab)

3 years agoRemove Jozkee from System.Text.Json (#56119)
David Cantú [Thu, 22 Jul 2021 08:11:41 +0000 (01:11 -0700)]
Remove Jozkee from System.Text.Json (#56119)

3 years agoHandle new DOTNET_ in complement to old COMPlus_ envvar prefix on Mono. (#56098)
Johan Lorensson [Thu, 22 Jul 2021 08:04:11 +0000 (10:04 +0200)]
Handle new DOTNET_ in complement to old COMPlus_ envvar prefix on Mono. (#56098)

https://github.com/dotnet/runtime/pull/50507 added support for DOTNET_
prefix for env variables previously using COMPlus_. That change was
however not implemented on Mono, still using COMPlus for some EventPipe,
DiagnosticServer env variables. This fix adds similar support on Mono,
first looking for a DOTNET_ version of the environment variable and if
not found, fallback to old COMPlus_ as fallback.

Documentation for .net6 have been updated to use new names:
https://docs.microsoft.com/en-us/dotnet/core/diagnostics/eventpipe#trace-using-environment-variables

3 years agoImprove MetricEventSource error handling (#56083)
Noah Falk [Thu, 22 Jul 2021 07:24:38 +0000 (00:24 -0700)]
Improve MetricEventSource error handling (#56083)

Enabling multiple instances of a collection tool was causing
both tools to lose their connections and it wasn't obvious from
within the tool what had happened. I modified the behavior so
that once a tool connects successfully it should never be
disconnected and made a distinctive error event so that
the additional tool instances can easily identify they are trying
an unsupported operation.

3 years agouse PoolingAsyncValueTaskMethodBuilder in BufferedFileStreamStrategy (#56095)
Adam Sitnik [Thu, 22 Jul 2021 07:13:57 +0000 (09:13 +0200)]
use PoolingAsyncValueTaskMethodBuilder in BufferedFileStreamStrategy (#56095)

3 years agoRemove disabled tests that depend on the verifier (#56118)
Bruce Forstall [Thu, 22 Jul 2021 05:23:23 +0000 (22:23 -0700)]
Remove disabled tests that depend on the verifier (#56118)

The verifier is not supported in .NET Core.

Fixes #5812

3 years agoConsume PosixSignal in Hosting's ConsoleLifetime (#56057)
Eric Erhardt [Thu, 22 Jul 2021 04:20:48 +0000 (23:20 -0500)]
Consume PosixSignal in Hosting's ConsoleLifetime (#56057)

* Add NetCoreAppCurrent target to Microsoft.Extensions.Hosting

* Handle SIGTERM in Hosting and handle just like SIGINT (CTRL+C)

Don't listen to ProcessExit on net6.0+ in Hosting anymore. This allows for Environment.Exit to not hang the app.
Don't clobber ExitCode during ProcessExit now that SIGTERM is handled separately.

For non-net6.0 targets, only wait for the shutdown timeout, so the process doesn't hang forever.

Fix #55417
Fix #44086
Fix #50397
Fix #42224
Fix #35990

* Remove _shutdownBlock on netcoreappcurrent, as this is no longer waited on
* Change Console.CancelKeyPress to use PosixSignalRegistration SIGINT and SIGQUIT
* Use a no-op lifetime on mobile platforms

* Add docs for shutdown

3 years agoBuild VS installers for WebAssembly and Mobile workloads (#55769)
Jo Shields [Thu, 22 Jul 2021 01:37:24 +0000 (21:37 -0400)]
Build VS installers for WebAssembly and Mobile workloads (#55769)

In order to support generating installers, this change adds the mono.workloads subset and the associated yml.

3 years agoJIT: track memory loop dependence of trees during value numbering (#55936)
Andy Ayers [Thu, 22 Jul 2021 01:03:38 +0000 (18:03 -0700)]
JIT: track memory loop dependence of trees during value numbering (#55936)

Leverage value numbering's alias analysis to annotate trees with the loop
memory dependence of the tree's value number.

First, refactor the `mapStore` value number so that it also tracks the loop
number where the store occurs. This is done via an extra non-value-num arg,
so add appropriate bypasses to logic in the jit that expect to only find
value number args. Also update the dumping to display the loop information.

Next, during VN computation, record loop memory dependence from `mapStores`
with the tree currently being value numbered, whenever a value number comes
from a particular map. There may be multiple such recording events per tree,
so add logic on the recording side to track the most constraining dependence.
Note value numbering happens in execution order, so there is an unambiguous
current tree being value numbered.

This dependence info is tracked via a side map.

Finally, during hoisting, for each potentially hoistable tree, consult the side
map to recover the loop memory dependence of a tree, and if that dependence is
at or within the loop that we're hoisting from, block the hoist.

I've also absorbed the former class var (static field) hosting exclusion into
this new logic. This gives us slightly more relaxed dependence in some cases.

Resolves #54118.

3 years agoBig-endian fixes: various problems in ilasm (#55349)
Ulrich Weigand [Thu, 22 Jul 2021 00:27:39 +0000 (02:27 +0200)]
Big-endian fixes: various problems in ilasm (#55349)

* Byte-swap property and parameter default values of string type

* Prepare custom attribute blobs in little-endian byte order

* Fix byte order of ELEMENT_TYPE_TYPEDEF typespec blobs

* Fix byte order of VTable blobs

3 years agoproposed fix #33727 for illegal instruction in arm (#55502)
old zhu [Thu, 22 Jul 2021 00:05:09 +0000 (08:05 +0800)]
proposed fix #33727 for illegal instruction in arm (#55502)

* proposed fix #33727

* fix for arm checked build error to crossgen the native System.Private.CoreLib.dll

* fix for error:unannotated fall-through between switch labels

* fix clang-format error

* fix clang-format error

* apply format.patch

3 years agoLsra heuristic tuning experiment report (#56103)
Kunal Pathak [Wed, 21 Jul 2021 23:34:07 +0000 (16:34 -0700)]
Lsra heuristic tuning experiment report (#56103)

* lsra tuning experiments

* remove the trailing space

* Review comment

3 years agoUse Enabled/DisabledFeatureSwitches metadata in TrimmingTests (#56107)
Elinor Fung [Wed, 21 Jul 2021 23:30:00 +0000 (16:30 -0700)]
Use Enabled/DisabledFeatureSwitches metadata in TrimmingTests (#56107)

3 years agoMake System.Drawing.Common throw on Unix unless a config switch is set (#55962)
Santiago Fernandez Madero [Wed, 21 Jul 2021 22:59:52 +0000 (15:59 -0700)]
Make System.Drawing.Common throw on Unix unless a config switch is set (#55962)

* Make System.Drawing.Common throw on Unix unless a config switch is set

3 years agoreenable ConnectTimeout_PlaintextStreamFilterTimesOut_Throws test (#55982)
Geoff Kizer [Wed, 21 Jul 2021 22:39:51 +0000 (15:39 -0700)]
reenable ConnectTimeout_PlaintextStreamFilterTimesOut_Throws test (#55982)

* reenable ConnectTimeout_PlaintextStreamFilterTimesOut_Throws test

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years agoFix an issue where we are not injecting more HTTP2 connections when we should (#56062)
Geoff Kizer [Wed, 21 Jul 2021 22:38:27 +0000 (15:38 -0700)]
Fix an issue where we are not injecting more HTTP2 connections when we should (#56062)

* fix an issue where we are not injecting more HTTP2 connections when we should

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Co-authored-by: Stephen Toub <stoub@microsoft.com>
3 years agoRemove QuicStream.ShutdownWriteCompleted method (#55981)
Geoff Kizer [Wed, 21 Jul 2021 22:37:20 +0000 (15:37 -0700)]
Remove QuicStream.ShutdownWriteCompleted method (#55981)

* remove QuicStream.ShutdownWriteCompleted API and associated implementation logic

Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
3 years agoRemove diagnostic printfs inadvertently left in PGO code. (#56024)
Andy Ayers [Wed, 21 Jul 2021 19:44:30 +0000 (12:44 -0700)]
Remove diagnostic printfs inadvertently left in PGO code. (#56024)

3 years agoDisable [QUIC] WriteCanceled_NextWriteThrows on Mock (#56078)
Karel Zikmund [Wed, 21 Jul 2021 18:41:14 +0000 (20:41 +0200)]
Disable [QUIC] WriteCanceled_NextWriteThrows on Mock (#56078)

Disable [QUIC] WriteCanceled_NextWriteThrows on Mock

Disabled test tracked by #55995

3 years agoUpdate dependencies from https://github.com/mono/linker build 20210720.1 (#56086)
dotnet-maestro[bot] [Wed, 21 Jul 2021 18:08:33 +0000 (20:08 +0200)]
Update dependencies from https://github.com/mono/linker build 20210720.1 (#56086)

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21369.3 -> To Version 6.0.100-preview.6.21370.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years agoRe-enable tests for runtime handles in crossgen2 (#56065)
David Wrighton [Wed, 21 Jul 2021 18:02:36 +0000 (11:02 -0700)]
Re-enable tests for runtime handles in crossgen2 (#56065)

3 years agoRevert "throw PNSE for unsupported SSL options in Quic. (#55877)" (#56097)
Karel Zikmund [Wed, 21 Jul 2021 16:59:43 +0000 (18:59 +0200)]
Revert "throw PNSE for unsupported SSL options in Quic. (#55877)" (#56097)

This reverts commit b2107c5e48d2fa5163aa6bf3182a530a04d1533c.

3 years ago[Android][libraries] TimeZoneInfo Android imp (#54845)
Mitchell Hwang [Wed, 21 Jul 2021 16:39:13 +0000 (12:39 -0400)]
[Android][libraries] TimeZoneInfo Android imp (#54845)

Fixes #41867

Android has removed zone.tab, so TimeZoneInfo.Unix.cs will no longer work properly on Android as GetTimeZoneIds directly depends on the zone.tab file. The chain of dependency is as follows

GetSystemTimeZones -> PopulateAllSystemTimeZones -> GetTimeZoneIds -> zone.tab
                TZI.cs                                  TZI.Unix.cs                        TZI.Unix.cs         TZI.Unix.cs
 Where TZI is TimeZoneInfo

zone.tab is a file that is found on the unix system under /usr/share/zoneinfo/
GetTimeZoneIds reads zone.tab to obtain the TimeZoneId in that file
PopulateAllSystemTimeZones caches all the TimeZone Ids in cachedData
GetSystemTimeZones returns a ReadOnlyCollection containing all valid TimeZone’s from the local machine, and the entries are sorted by their DisplayName. It relies on cachedData._systemTimeZones being populated.

The problem is that the time zone data for Android can be found in the file tzdata at the possible locations

/apex/com.android.tzdata/etc/tz/tzdata
/apex/com.android.runtime/etc/tz/tzdata
/data/misc/zoneinfo/tzdata
/system/usr/share/zoneinfo/tzdata

The rest of unix the time zone data can be found in the file zone.tab at

 /usr/share/zoneinfo/zone.tab
Android's TimeZoneInfo implementation should read time zone data from its locations instead of the general /usr/share/zoneinfo/zone.tab path. Moreover, tzdata contains all timezones byte data.

This PR achieves the following:

1. Splits TimeZoneInfo.Unix.cs into TimeZoneInfo.Unix.cs, TimeZoneInfo.Unix.NonAndroid.cs (non-Android), and
    TimeZoneInfo.Unix.Android.cs (Android specific)
2. Adds an interop to obtain the default time zone on Android based on persist.sys.timezone
3. Implements GetLocalTimeZoneCore TryGetTimeZoneFromLocalMachineCore and GetTimeZoneIds for Android
    based on mono/mono implementation
    https://github.com/mono/mono/blob/main/mcs/class/corlib/System/TimeZoneInfo.Android.cs
4. Adds new string resources to throw exceptions
5. Refactors the mono/mono implementation of parsing tzdata

Android tzdata files are found in the format of
Header <Beginning of Entry Index> Entry Entry Entry ... Entry <Beginning of Data Index> <TZDATA>

https://github.com/aosp-mirror/platform_bionic/blob/master/libc/tzcode/bionic.cpp

The header (24 bytes) contains the following information
signature - 12 bytes of the form "tzdata2012f\0" where 2012f is subject to change
index offset - 4 bytes that denotes the offset at which the index of the tzdata file starts
data offset - 4 bytes that denotes the offset at which the data of the tzdata file starts
final offset - 4 bytes that used to denote the final offset, which we don't use but will note.

Each Data Entry (52 bytes) can be used to generate a TimeZoneInfo and contain the following information
id - 40 bytes that contain the id of the time zone data entry timezone<id>
byte offset - 4 bytes that denote the offset from the data offset timezone<id> data can be found
length - 4 bytes that denote the length of the data for timezone<id>
unused - 4 bytes that used to be raw GMT offset, but now is always 0 since tzdata2014f (L).

When GetLocalTimeZoneCore TryGetTimeZoneFromLocalMachineCore or GetTimeZoneIds are called, an android timezone data instance is instantiated and loaded by attempting to load a tzdata file that can be found at four locations mentioned earlier. The file is parsed by first loading the header which contains information about where the data index and data begin. The data index is then parsed to obtain the timezone and the corresponding bytes location in the file to fill the three arrays _ids _byteOffsets _lengths. These arrays are referenced to obtain the corresponding byte data for a timezone, and functions from TimeZoneInfo.Unix.cs are leveraged to create a TimeZoneInfo from there.

3 years ago[wasm] Fix regression in compiling .bc -> .o files (#56063)
Ankit Jain [Wed, 21 Jul 2021 15:47:18 +0000 (11:47 -0400)]
[wasm] Fix regression in compiling .bc -> .o files (#56063)

* [wasm] Add back --emit-llvm that got removed mistakenly, in an earlier commit

.. found thanks to Jerome Laban.

* [wasm] Set EmccCompile's messages to MessageImportance.Low by default.

.. and to MessageImportance.Normal if `$(EmccVerbose)==true`.

* [wasm] Quote filenames passed to emcc compile command line

* Add more blazorwasm tests - for debug/release, aot/relinking

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

* [wasm] Fix regression in compiling bitcode -> .o

The `-emit-llvm` arg has been incorrectly added, and removed from the
args used for compiling .bc->.o .

This commit fixes it, and adds a crude test for it, so we don't regress
again.

* Fix build

3 years agoResolve ILLink warnings in System.Linq.Expressions (Final) (#55856)
Eric Erhardt [Wed, 21 Jul 2021 14:51:16 +0000 (09:51 -0500)]
Resolve ILLink warnings in System.Linq.Expressions (Final) (#55856)

* Resolve ILLink warnings in System.Linq.Expressions (Final)

Suppress ILLink warnings for operator methods now that https://github.com/mono/linker/issues/1821 is resolved.

Add TrimmingTests for Linq.Expressions operators.

Fix #45623

3 years ago[main] Update dependencies from 8 repositories (#55883)
dotnet-maestro[bot] [Wed, 21 Jul 2021 13:15:08 +0000 (15:15 +0200)]
[main] Update dependencies from 8 repositories (#55883)

* Update dependencies from https://dev.azure.com/dnceng/internal/_git/dotnet-optimization build 20210717.5

optimization.linux-x64.MIBC.Runtime , optimization.windows_nt-x64.MIBC.Runtime , optimization.windows_nt-x86.MIBC.Runtime , optimization.PGO.CoreCLR
 From Version 1.0.0-prerelease.21365.5 -> To Version 1.0.0-prerelease.21367.5

* Update dependencies from https://github.com/dotnet/runtime build 20210719.2

Microsoft.NETCore.DotNetHost , Microsoft.NETCore.DotNetHostPolicy , Microsoft.NETCore.ILAsm , runtime.native.System.IO.Ports , Microsoft.NET.Sdk.IL , System.Runtime.CompilerServices.Unsafe , System.Text.Json
 From Version 6.0.0-preview.7.21361.10 -> To Version 6.0.0-rc.1.21369.2

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

Microsoft.NET.Workload.Emscripten.Manifest-6.0.100
 From Version 6.0.0-rc.1.21365.1 -> To Version 6.0.0-rc.1.21369.1

* Update dependencies from https://github.com/dotnet/arcade build 20210719.3

Microsoft.DotNet.XUnitExtensions , Microsoft.DotNet.VersionTools.Tasks , 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.21366.1 -> To Version 6.0.0-beta.21369.3

* Update dependencies from https://github.com/dotnet/icu build 20210719.1

Microsoft.NETCore.Runtime.ICU.Transport
 From Version 6.0.0-rc.1.21366.2 -> To Version 6.0.0-rc.1.21369.1

* Update dependencies from https://github.com/dotnet/llvm-project build 20210719.1

runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk , runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools
 From Version 11.1.0-alpha.1.21362.1 -> To Version 11.1.0-alpha.1.21369.1

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

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.21358.1 -> To Version 6.0.0-beta.21369.1

* Update dependencies from https://github.com/dotnet/hotreload-utils build 20210719.1

Microsoft.DotNet.HotReload.Utils.Generator.BuildTool
 From Version 1.0.1-alpha.0.21364.1 -> To Version 1.0.1-alpha.0.21369.1

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
3 years ago[aot] Don't direct pinvoke objc_msgSend family on Apple (#55845)
Aleksey Kliger (λgeek) [Wed, 21 Jul 2021 11:26:17 +0000 (07:26 -0400)]
[aot] Don't direct pinvoke objc_msgSend family on Apple (#55845)

3 years agoFix outerloop System.Buffers tests after s_trimBuffers removal (#56068)
Stephen Toub [Wed, 21 Jul 2021 10:12:46 +0000 (06:12 -0400)]
Fix outerloop System.Buffers tests after s_trimBuffers removal (#56068)

We deleted this switch.  Turns out there were outerloop tests looking for it.

3 years agoDisallow widening for explicit tailcalls (#55989)
Jakob Botsch Nielsen [Wed, 21 Jul 2021 09:29:36 +0000 (11:29 +0200)]
Disallow widening for explicit tailcalls (#55989)

It is a runtime detail that the managed calling convention widens return
values, so only allow this behavior for opportunistic tailcalls.

Fix #55253

3 years agoRemoved AppContext switch checking from S.N.Quic (#56027)
Marie Píchová [Wed, 21 Jul 2021 08:24:09 +0000 (08:24 +0000)]
Removed AppContext switch checking from S.N.Quic (#56027)

3 years agoConvert the last crossgen tests to use crossgen2 (#56061)
David Wrighton [Wed, 21 Jul 2021 08:08:52 +0000 (01:08 -0700)]
Convert the last crossgen tests to use crossgen2 (#56061)

- take advantage of the AlwaysUseCrossGen2 flag instead of manually updating all the crossgen commands
- remove version bubbles test. We have much more complex testing for that scenario now
- remove regular crossgen logic from the script generator

3 years ago[debugger] Export mono_debugger_agent_unhandled_exception to avoid usage of Debugger...
Thays Grazia [Wed, 21 Jul 2021 07:37:55 +0000 (04:37 -0300)]
[debugger] Export mono_debugger_agent_unhandled_exception to avoid usage of Debugger.Mono_UnhandledException (#55963)

3 years agoAdd back regex tests from reverted .* optimization (#56070)
Stephen Toub [Wed, 21 Jul 2021 06:18:20 +0000 (02:18 -0400)]
Add back regex tests from reverted .* optimization (#56070)

3 years ago[libraries][Android][iOSSimulator] Remove Active Issues from tests no longer failing...
Mitchell Hwang [Wed, 21 Jul 2021 06:15:52 +0000 (02:15 -0400)]
[libraries][Android][iOSSimulator] Remove Active Issues from tests no longer failing due to properly set feature switches (#55974)

3 years agothrow PNSE for unsupported SSL options in Quic. (#55877)
Tomas Weinfurt [Wed, 21 Jul 2021 03:12:31 +0000 (20:12 -0700)]
throw PNSE for unsupported SSL options in Quic. (#55877)

* throw PNSP for unsupported SSL options

* add missing resource file change

* fix spacing

3 years agocheck handle before shutdown in quic connection Dispose (#56047)
Tomas Weinfurt [Wed, 21 Jul 2021 03:10:23 +0000 (20:10 -0700)]
check handle before shutdown in quic connection Dispose (#56047)

* check handle before shutdown in quic connection Dispose

* add comment

3 years agoDisable Http2_ServerSendsInvalidSettingsValue_Error (#56041)
Karel Zikmund [Wed, 21 Jul 2021 02:54:55 +0000 (04:54 +0200)]
Disable Http2_ServerSendsInvalidSettingsValue_Error (#56041)

Tracked by #1581

3 years agodisable ClientSettingsReceived_Success on Mock (#56064)
Tomas Weinfurt [Wed, 21 Jul 2021 02:18:51 +0000 (19:18 -0700)]
disable ClientSettingsReceived_Success on Mock (#56064)

3 years agoDisable test Connect_DualMode_MultiAddressFamilyConnect_RetrievedEndPoints_Success...
Karel Zikmund [Wed, 21 Jul 2021 02:13:10 +0000 (04:13 +0200)]
Disable test Connect_DualMode_MultiAddressFamilyConnect_RetrievedEndPoints_Success on Linux (#56002)

* Disable test Connect_DualMode_MultiAddressFamilyConnect_RetrievedEndPoints_Success on Linux

Disabled test tracked by #55053

* Update Connect.cs

3 years agoDisable implicit namespace imports (#56046)
Santiago Fernandez Madero [Wed, 21 Jul 2021 02:08:38 +0000 (19:08 -0700)]
Disable implicit namespace imports (#56046)

* Disable implicit namespace imports

3 years agoRe-enable async method state machine clearing test (#56007)
Stephen Toub [Wed, 21 Jul 2021 01:48:39 +0000 (21:48 -0400)]
Re-enable async method state machine clearing test (#56007)

3 years ago[wasm][debugger] Fix step behavior (#55915)
Thays Grazia [Wed, 21 Jul 2021 01:32:42 +0000 (22:32 -0300)]
[wasm][debugger] Fix step behavior  (#55915)

* Creating test to close 49143.

* Creating test to close https://github.com/dotnet/runtime/issues/49141

* Adding test for https://github.com/dotnet/runtime/issues/49218.

* Fix behavior of step to be the same of what we see when debugging using debugger-libs+mono or coreclr.
Fix error message of evaluate calling methods.
Adding test for https://github.com/dotnet/runtime/issues/49142

* Improving test to test what @radical asked.

* Changing what was suggested by @radical.

3 years ago[main] Update dependencies from mono/linker (#55813)
dotnet-maestro[bot] [Wed, 21 Jul 2021 01:07:25 +0000 (18:07 -0700)]
[main] Update dependencies from mono/linker (#55813)

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21362.3 -> To Version 6.0.100-preview.6.21365.1

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21362.3 -> To Version 6.0.100-preview.6.21366.2

* Suppress type hierarchy warnings

Suppress type hierarchy warnings for
DynamicallyAccessedMembers attribute on types that
have members with RequiresUnreferencedCode (or derived
types with such members).

* Feedback

Remove unnecessary local method

* Fix typo

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

Microsoft.NET.ILLink.Tasks
 From Version 6.0.100-preview.6.21362.3 -> To Version 6.0.100-preview.6.21369.3

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
3 years agoHandle contained BITCAST for STORE_LCL_FLD (#55852)
Kunal Pathak [Tue, 20 Jul 2021 22:23:59 +0000 (15:23 -0700)]
Handle contained BITCAST for STORE_LCL_FLD (#55852)

* Do not mark BITCAST as contained for STORE_LCL_FLD

* Add unit test

* Handle contained BITCAST in STORE_LCL_FLD

* Return 100

3 years agoRevert "Eliminate backtracking in the interpreter for patterns with .* (#51508)...
Stephen Toub [Tue, 20 Jul 2021 22:07:00 +0000 (18:07 -0400)]
Revert "Eliminate backtracking in the interpreter for patterns with .*  (#51508)" (#56031)

This reverts commit 7eb749c8b78609865edcad67f57084aa382632a3.

3 years agoRevamp caching scheme in PoolingAsyncValueTaskMethodBuilder (#55955)
Stephen Toub [Tue, 20 Jul 2021 22:06:25 +0000 (18:06 -0400)]
Revamp caching scheme in PoolingAsyncValueTaskMethodBuilder (#55955)

* Revamp caching scheme in PoolingAsyncValueTaskMethodBuilder

The current scheme caches one instance per thread in a ThreadStatic, and then has a locked stack that all threads contend on; then to avoid blocking a thread while accessing the cache, locking is done with TryEnter rather than Enter, simply skipping the cache if there is any contention.  The locked stack is capped by default at ProcessorCount*4 objects.

The new scheme is simpler: one instance per thread, one instance per core.  This ends up meaning fewer objects may be cached, but it also almost entirely eliminates contention between threads trying to rent/return objects.  As a result, under heavy load it can actually do a better job of using pooled objects as it doesn't bail on using the cache in the face of contention.  It also reduces concerns about larger machines being more negatively impacted by the caching.  Under lighter load, since we don't cache as many objects, it does mean we may end up allocating a bit more, but generally not much more (and the size of the object we do allocate is a reference-field smaller).

* Address PR feedback

3 years agoFix tizen arm32 issue. (#55987)
Sergey Andreenko [Tue, 20 Jul 2021 22:05:33 +0000 (15:05 -0700)]
Fix tizen arm32 issue. (#55987)

* Add asserts that we don't expect LONG copies on arm32.

* Fix tizen.

3 years agoHTTP/3 & QUIC: fix abort read on dispose and cancellation (#55724)
Natalia Kondratyeva [Tue, 20 Jul 2021 21:08:51 +0000 (23:08 +0200)]
HTTP/3 & QUIC: fix abort read on dispose and cancellation (#55724)

Fix abort on cancellation for HTTP/3 content stream, fix dispose when read was aborted by cancellation token.
Fixes #48624

3 years agoUse MethodInfo.Equals to judge equality and remove special comparator
FatTiger [Tue, 20 Jul 2021 20:53:46 +0000 (04:53 +0800)]
Use MethodInfo.Equals to judge equality and remove special comparator

Fix #453285

3 years agoDisable test Connect_DualMode_DnsConnect_RetrievedEndPoints_Success on Linux (#56003)
Karel Zikmund [Tue, 20 Jul 2021 20:31:55 +0000 (22:31 +0200)]
Disable test Connect_DualMode_DnsConnect_RetrievedEndPoints_Success on Linux (#56003)

Disabled test tracked by #54677 and #55709

3 years agoSet use shell execute (#56010)
Mateo Torres-Ruiz [Tue, 20 Jul 2021 19:38:28 +0000 (12:38 -0700)]
Set use shell execute (#56010)

3 years agoFix System.Data.SqlClient dependency version on compat pack (#55956)
Santiago Fernandez Madero [Tue, 20 Jul 2021 19:13:19 +0000 (12:13 -0700)]
Fix System.Data.SqlClient dependency version on compat pack (#55956)

3 years agoDisable SendStreamLimitRequestsConcurrently_Succeeds (#56001)
Karel Zikmund [Tue, 20 Jul 2021 17:49:33 +0000 (19:49 +0200)]
Disable SendStreamLimitRequestsConcurrently_Succeeds (#56001)

Disabled test tracked by #56000

3 years agoAdd profile-use-only mode for MultiCoreJit (#55005)
Gleb Balykov [Tue, 20 Jul 2021 17:40:19 +0000 (20:40 +0300)]
Add profile-use-only mode for MultiCoreJit (#55005)

* Add profile-use-only mode for MultiCoreJit

- memory consumption is reduced if profile is not gathered
- disk/flash life is increased if profile is not saved each time

* Remove non-set m_fAppxMode

3 years agoPrepare for arcade changes that enable testing of meta-packages (#55976)
Eric StJohn [Tue, 20 Jul 2021 17:36:08 +0000 (10:36 -0700)]
Prepare for arcade changes that enable testing of meta-packages (#55976)

3 years ago[QUIC] Fix cancelling shutdown completion source (#55993)
Natalia Kondratyeva [Tue, 20 Jul 2021 17:21:45 +0000 (19:21 +0200)]
[QUIC] Fix cancelling shutdown completion source (#55993)

Fixes #55706

3 years agoremove unnecessary call (#55795)
Tomas Weinfurt [Tue, 20 Jul 2021 17:20:51 +0000 (10:20 -0700)]
remove unnecessary call (#55795)

* remove unnecessary call

* fix typo

3 years agomitigation for quic tests hangs (#55985)
Tomas Weinfurt [Tue, 20 Jul 2021 17:07:20 +0000 (10:07 -0700)]
mitigation for quic tests hangs (#55985)

3 years agoFix #51171: Eager validation of named options (#55922)
Nikita Balabaev [Tue, 20 Jul 2021 16:39:01 +0000 (18:39 +0200)]
Fix #51171: Eager validation of named options (#55922)

3 years agoDisable QuicStreamTests_MsQuicProvider.ReadOutstanding_ReadAborted_Throws (#55997)
Karel Zikmund [Tue, 20 Jul 2021 14:58:59 +0000 (16:58 +0200)]
Disable QuicStreamTests_MsQuicProvider.ReadOutstanding_ReadAborted_Throws (#55997)

Disable test: System.Net.Quic.Tests.QuicStreamTests_MsQuicProvider.ReadOutstanding_ReadAborted_Throws

Tracked by #55948

3 years agoFix x86 Linux build with clang < 10 (#55924)
Jan Vorlicek [Tue, 20 Jul 2021 13:51:45 +0000 (15:51 +0200)]
Fix x86 Linux build with clang < 10 (#55924)

There is a bug in clang that was fixed in version 10 and that causes
the build of the src/coreclr/vm/i386/jithelp.S to fail with
'error: cannot use more than one symbol in memory operand'.
The problem is that it doesn't support the `offset` keyword and
it thinks it is just another symbol.

The fix is to use att syntax for the offending instruction.

3 years agoReplace a few unnecessary uses of Convert.ToString (#55831)
Stephen Toub [Tue, 20 Jul 2021 13:29:20 +0000 (09:29 -0400)]
Replace a few unnecessary uses of Convert.ToString (#55831)

* Replace a few unnecessary uses of Convert.ToString

* Update src/libraries/System.Private.Xml/src/System/Xml/Schema/ContentValidator.cs

Co-authored-by: Christopher Watford <83599748+watfordsuzy@users.noreply.github.com>
Co-authored-by: Christopher Watford <83599748+watfordsuzy@users.noreply.github.com>
3 years agoFix % used in PerCoreLockedStacks (#55959)
Stephen Toub [Tue, 20 Jul 2021 13:28:45 +0000 (09:28 -0400)]
Fix % used in PerCoreLockedStacks (#55959)

* Fix % used in PerCoreLockedStacks

s_lockedStackCount will be a const in tier 1, and the JIT can optimize % by a const to something other than idiv.

* Address PR feedback

3 years agoDisable implicit imports in tools (#55828)
Andrii Kurdiumov [Tue, 20 Jul 2021 13:23:47 +0000 (19:23 +0600)]
Disable implicit imports in tools (#55828)

3 years agoComplete Http2Stream after sending Reset or EndOfStream to server (#55835)
Alexander Nikolaev [Tue, 20 Jul 2021 13:09:01 +0000 (15:09 +0200)]
Complete Http2Stream after sending Reset or EndOfStream to server (#55835)

It changes the order of Complete and Send Reset/Send EndOfStream operations to prevent creation of a new Http2Stream while the old one has not yet written the final frame to wire.

Fixes #1586

3 years agoCleanup iOS/Android samples to use xharness (#55926)
Alexander Köplinger [Tue, 20 Jul 2021 10:14:22 +0000 (12:14 +0200)]
Cleanup iOS/Android samples to use xharness (#55926)

Instead of manually calling adb or simctl.

3 years agoadd RID for Alpine 3.14 (#55857)
Tomas Weinfurt [Tue, 20 Jul 2021 03:42:04 +0000 (20:42 -0700)]
add RID for Alpine 3.14 (#55857)

3 years agoUpdate analyzer rulesets (#55925)
Stephen Toub [Tue, 20 Jul 2021 02:44:43 +0000 (22:44 -0400)]
Update analyzer rulesets (#55925)

3 years agofix discrepancy in STJ test namespaces (#55958)
Eirik Tsarpalis [Tue, 20 Jul 2021 02:44:20 +0000 (05:44 +0300)]
fix discrepancy in STJ test namespaces (#55958)

3 years agoImprove crossgen2 help text (#55977)
David Wrighton [Tue, 20 Jul 2021 02:29:13 +0000 (19:29 -0700)]
Improve crossgen2 help text (#55977)

- Add handling of "-?" and no command line arguments.
- Print out default values for --targetos and --targetarch
- Describe behavior of response files
- Describe the behavior of the -- switch
- Describe in much greater detail the valid values for the --instruction-set switch

Fix #47486

Co-authored-by: Jan Kotas <jkotas@microsoft.com>
3 years agoDisable ConnectTimeout_PlaintextStreamFilterTimesOut_Throws (#55932)
Karel Zikmund [Tue, 20 Jul 2021 01:44:54 +0000 (03:44 +0200)]
Disable ConnectTimeout_PlaintextStreamFilterTimesOut_Throws (#55932)

Disable test ConnectTimeout_PlaintextStreamFilterTimesOut_Throws

Disabled test tracked by #55931