Cory Nelson [Thu, 6 Aug 2020 19:43:49 +0000 (12:43 -0700)]
QUIC and HTTP/3 fixes (#40468)
Update/fix MsQuic P/invoke layer.
Fix a race condition in MsQuicListener setting MsQuicConnection.Connected.
Some MsQuic cleanup.
Remove (un-reviewed) HttpVersion.Version30 and SslApplicationProtocol.Http3 APIs.
Fix Alt-Svc support.
Make Alt-Svc tests timeout properly.
Geoff Kizer [Thu, 6 Aug 2020 19:20:25 +0000 (12:20 -0700)]
map TcpListener APM methods to Task-based methods (#40476)
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Andy Ayers [Thu, 6 Aug 2020 19:01:01 +0000 (12:01 -0700)]
JIT: Properly handle a switch opt case during early flow opts (#40434)
Don't try rethreading statement lists if we're doing and early flow opt.
Fixes #40195.
Santiago Fernandez Madero [Thu, 6 Aug 2020 18:35:48 +0000 (11:35 -0700)]
Revert " Define SIGSTOP for architecture mips (#40299)" (#40470)
This reverts commit
0f7370baa68c5809f93095cbce9bf614f44cc731.
Steve Sanderson [Thu, 6 Aug 2020 18:25:59 +0000 (19:25 +0100)]
Simplify JS interop for Blazor WebAssembly (#40467)
Larry Ewing [Thu, 6 Aug 2020 18:19:59 +0000 (13:19 -0500)]
Re-enable debug_levels less than zero to indicate debugging without debug logging (#40458)
Drew Scoggins [Thu, 6 Aug 2020 17:35:56 +0000 (10:35 -0700)]
Add nodejs and npm install steps (#40474)
Tomáš Rylek [Thu, 6 Aug 2020 16:39:42 +0000 (18:39 +0200)]
Fix several typos in bash script generation for Crossgen2 (#40417)
Zoltan Varga [Thu, 6 Aug 2020 14:52:46 +0000 (10:52 -0400)]
[wasm] Fix GC support in ves_icall_get_trace (). (#40384)
* [wasm] Fix GC support in ves_icall_get_trace ().
* Fix a c++-ism.
Eirik Tsarpalis [Thu, 6 Aug 2020 11:28:06 +0000 (12:28 +0100)]
[System.Console] Fix manual test (#39460)
* do not report '\n' as Ctrl+Enter on unix
* add macos instructions
* add windows test instructions
Sergey Andreenko [Thu, 6 Aug 2020 07:57:33 +0000 (00:57 -0700)]
Check more patterns for retBuffer. (#40340)
* Check more patterns for retBuffer.
We force return buffers containing GC pointers to be on the stack and before we make a copy we check if the return buffer is already on the stack. Fix the check by adding `LCL_VAR_ADDR`, `ADD(LCL_VAR_ADDR, CNST)` patterns.
* Clear `EnableExtraSuperPmiQueries` during SPMI replay.
It is set during collection for easier test of struct promotion enhancements but it could let to chk/rel diffs if used during replay.
Marek Safar [Thu, 6 Aug 2020 07:42:59 +0000 (09:42 +0200)]
Remove EventSourceAttribute usages when EventSource feature is disabled (#40329)
SUN Guoyun [Thu, 6 Aug 2020 05:06:02 +0000 (13:06 +0800)]
Define SIGSTOP for architecture mips (#40299)
define SIGSTOP 19 is just ok for architecture x86、arm、s390、powerpc and so on.
but others architecture has different values.
Co-Authored-By: hev <wangrui@loongson.cn>
Oleksandr Tymoshenko [Thu, 6 Aug 2020 04:58:39 +0000 (07:58 +0300)]
Fix Docker cross-build command (#40433)
Levi Broderick [Thu, 6 Aug 2020 04:16:21 +0000 (21:16 -0700)]
Improve dictionary & hashset lookup perf for OrdinalIgnoreCase (#36252)
Miha Zupan [Thu, 6 Aug 2020 02:56:52 +0000 (04:56 +0200)]
Add HeaderEncodingSelector to MultipartContent (#39169)
* Add HeaderEncodingSelector to MultipartContent
* Test cleanup
* Avoid WriteLatin1 logic duplication
* Move to common HeaderEncodingSelector<TContext>
* Fix indentation
Larry Ewing [Thu, 6 Aug 2020 02:28:31 +0000 (21:28 -0500)]
Consider debug levels less than zero disabled (#40429)
Steve MacLean [Thu, 6 Aug 2020 01:54:00 +0000 (21:54 -0400)]
Fix -numproc script handling (#40437)
Jeremy Koritzinsky [Thu, 6 Aug 2020 00:52:34 +0000 (17:52 -0700)]
Fix crossgenning of sparse COM interface types on non-Windows and add test (#40404)
imhameed [Thu, 6 Aug 2020 00:49:12 +0000 (17:49 -0700)]
[mono] Don't save byref `System.Void` into `MonoDomain::typeof_void`. (#40405)
`mono_type_get_object_checked` will return the `MonoReflectionType`
referred to by `MonoDomain::typeof_void` if present. If a byref
`System.Void` is stored in this field, then
`get_ContainsGenericParameters` applied to `System.Void` will loop
indefinitely, because our implementation of
`get_ContainsGenericParameters` expects `GetElementType` to yield a
`MonoReflectionType` with one layer of "type function application"
removed.
Fixes https://github.com/dotnet/runtime/issues/37489.
Drew Scoggins [Wed, 5 Aug 2020 23:12:54 +0000 (16:12 -0700)]
Turnoff wasm runs for CI (#40421)
Eric StJohn [Wed, 5 Aug 2020 22:59:28 +0000 (15:59 -0700)]
Refactor Microsoft.Extensions TargetFrameworks (#40397)
I went through every Microsoft.Extensions project to try to either
reduce the number of TargetFrameworks they build for, or add
a TargetFramework to avoid the need of bringing an additional
dependency on Microsoft.Bcl.AsyncInterfaces.
Thays Grazia [Wed, 5 Aug 2020 22:34:41 +0000 (19:34 -0300)]
[wasm] Moving wasm debugger to dotnet/runtime (#40146)
* Moving Wasm debugger to dotnet/runtime
The build is working.
The tests are running.
- make -C src/mono/wasm/ run-debugger-tests
Santiago Fernandez Madero [Wed, 5 Aug 2020 22:22:51 +0000 (15:22 -0700)]
Build Globalization native shim as C++ and don't define __typeof (#40352)
* Build Globalization native shim as C++ and don't define __typeof
intrinsic
* PR Feedback, use TYPEOF in all shims
Tanner Gooding [Wed, 5 Aug 2020 22:16:05 +0000 (15:16 -0700)]
Adding support for X86Base.CpuId (#40167)
* Adding support for X86Base.CpuId
* Rename getcpuid and getextcpuid to __cpuid and __cpuidex, respectively
* Removing xchg from the Unix x64 __cpuid implementation
* Add a comment as to why the X86/X86Base/CpuId test limits the checked vendors
* Apply suggestions from code review
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Adding back a missing parentheses
* Fixing a typo in the isGenuineIntel check
* Avoid a conflict around cpuInfo
* Avoid an implicit cast when comparing the cpuidInfo
* Separate the __cpuidex qcall into coreclr and mono specific variants
* Add the partial modifier to the X86Base.PlatformNotSupported.cs file
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
John Salem [Wed, 5 Aug 2020 21:39:45 +0000 (14:39 -0700)]
[test] fix hang in macOS variants of reverse diagnostics server tests (#40225)
Co-authored-by: Noah Falk <noahfalk@users.noreply.github.com>
Drew Scoggins [Wed, 5 Aug 2020 21:38:10 +0000 (14:38 -0700)]
Add wasm runs (#39548)
* Add WASM microbenchmark runs
This commit adds WASM microbenchmark support to the perf lab.
* Increase timeout for first run
* Add runkind
* Update proj file selection
Mikel Blanchard [Wed, 5 Aug 2020 20:45:22 +0000 (13:45 -0700)]
System.Diagnostics.Activity Perf Improvement (#40362)
Vlad Brezae [Wed, 5 Aug 2020 20:04:00 +0000 (23:04 +0300)]
[mono] Pass delegate target when using CreateDelegate (#40321)
* Pass delegate target when using CreateDelegate
* [tests] Add test that checks `this` with CreateDelegate API
David Wrighton [Wed, 5 Aug 2020 19:54:45 +0000 (12:54 -0700)]
Add support for reporting byrefs to RVA static fields of collectible assemblies (#40346)
- Keep track of all RVA static field locations
- For assemblies loaded from PE files, use a range that is the entire PE range
- For assemblies dynamically created, use piecemeal ranges for each individual RVA static field
- Report byref references via the GcReportLoaderAllocator mechanism in PromoteCarefully
- Add a test to cover this scenario, and thread statics
- disable test on Mono, as it doesn't pass there yet
Steve Sanderson [Wed, 5 Aug 2020 19:10:13 +0000 (20:10 +0100)]
In mono_wasm_invoke_js_marshalled, pass through treatResultAsVoid parameter (#39435)
Shay Rojansky [Wed, 5 Aug 2020 19:02:13 +0000 (22:02 +0300)]
Add savepoint API to DbTransaction (#34561)
Closes #33397
Werner Mairl [Wed, 5 Aug 2020 18:48:57 +0000 (20:48 +0200)]
Issue 39764 fix: Host and Application Lifetime Notifications (#39832)
Carol Eidt [Wed, 5 Aug 2020 18:33:30 +0000 (11:33 -0700)]
Transform dead late arg store to NOP (#40348)
When deleting a dead store, preserve the GTF_LATE_ARG and transform it to NOP.
Fix #39742
Geoff Kizer [Wed, 5 Aug 2020 17:48:27 +0000 (10:48 -0700)]
remove dead code (#40363)
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Fredrik Høisæther Rasch [Wed, 5 Aug 2020 16:50:22 +0000 (18:50 +0200)]
Add BindConfiguration extension method for OptionsBuilder (#39825)
Adam Sitnik [Wed, 5 Aug 2020 16:25:25 +0000 (18:25 +0200)]
Mark System.Security.Cryptography.OpenSsl as unsupported on Windows, fixes #40101 (#40377)
Adam Sitnik [Wed, 5 Aug 2020 16:24:03 +0000 (18:24 +0200)]
Mark existing Windows-specific APIs without a version number, fixes #40095 (#40375)
David Wrighton [Wed, 5 Aug 2020 16:10:15 +0000 (09:10 -0700)]
When invoking class constructor ensure class is initialized (#40293)
When invoking the class constructor method via reflection invoke, ensure that the class constructor is run via the standard run class constructor pathway instead of running it explicitly. Do the same for module constructors.
Adam Sitnik [Wed, 5 Aug 2020 11:47:50 +0000 (13:47 +0200)]
Rename MinimumOSPlatformAttribute and RemovedInOSPlatformAttribute (#40371)
* rename attributes:
* MinimumOSPlatformAttribute -> SupportedOSPlatformAttribute
* RemovedInOSPlatformAttribute -> UnsupportedOSPlatformAttribute
* update src and ref files
* update .targets file
* update comment ;)
Anton Firszov [Wed, 5 Aug 2020 11:32:28 +0000 (13:32 +0200)]
Unix: throw PNSE from BeginAccept/EndAccept that attempts to receive a buffer (#40292)
Resolve #32633
- BeginAccept/EndAccept overloads which are attempting to also receive a buffer are currently only supported on Windows, therefore PNSE is thrown on Unix
- When the operation is supported, the returned buffer is never null, therefore the out byte[] buffer parameters are altered to be non-nullable
Michal Strehovský [Wed, 5 Aug 2020 10:59:48 +0000 (12:59 +0200)]
Do not trim generic interfaces implemented by arrays (#40260)
Logic within the CoreCLR VM depends on the order of methods on these interfaces to find methods on SZArrayHelper.
SZArrayHelper is already rooted from MscorlibBinder, but the interface methods are referenced only implicitly through their slots and need a dedicated entry.
Viktor Hofer [Wed, 5 Aug 2020 07:40:55 +0000 (09:40 +0200)]
Fix corerun binplacing in testhost (#40341)
Fixes https://github.com/dotnet/runtime/issues/40215
dotnet-maestro[bot] [Wed, 5 Aug 2020 05:08:27 +0000 (05:08 +0000)]
[master] Update dependencies from dotnet/icu dotnet/llvm-project mono/linker (#40268)
[master] Update dependencies from dotnet/icu dotnet/llvm-project mono/linker
- Updates:
- Microsoft.NET.ILLink.Tasks: from 5.0.0-preview.3.20378.1 to 5.0.0-preview.3.20403.5
- Updates:
- Microsoft.NETCore.Runtime.ICU.Transport: from 5.0.0-preview.8.20378.2 to 5.0.0-preview.8.20403.1
- Updates:
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.win-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.osx.10.12-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Tools: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- runtime.linux-x64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk: from 9.0.1-alpha.1.20365.1 to 9.0.1-alpha.1.20403.1
- Fix linker tests by fixing some warnings, and suppressing reflection warnings during the linker tests.
- Merge remote-tracking branch 'upstream/master' into UpdateLinker
- Suppress IL2008;IL2009 on non-Windows linker tests.
- Suppress more linker warnings on non-Windows.
- Suppress more linker warnings
Kevin Jones [Wed, 5 Aug 2020 05:01:13 +0000 (01:01 -0400)]
Clean up more byte packing/unpacking. (#40334)
Sergey Andreenko [Wed, 5 Aug 2020 04:02:17 +0000 (21:02 -0700)]
Remove potential NULLCHECK creation after LIR on arm32. (#40349)
* Use `TransformUnusedIndirection` in LIR liveness.
* Use `TYP_INT` as `TransformUnusedIndirection` does.
* fix grammar.
Larry Ewing [Wed, 5 Aug 2020 03:58:54 +0000 (22:58 -0500)]
Add runtime feature checks for 5.0 browser (#40347)
Eric Erhardt [Wed, 5 Aug 2020 02:13:21 +0000 (21:13 -0500)]
Annotate Extensions.Options to make it linker friendly (#40294)
* Annotate Extensions.Options to make it linker friendly
Fix #40236
Marek Safar [Wed, 5 Aug 2020 02:00:13 +0000 (04:00 +0200)]
Add Browser specific PersistedFiles implementation (#39350)
* Add Browser specific PersistedFiles implementation
Simplified the implementation removes dependency on several native calls
which all return only default values.
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Maryam Ariyan [Wed, 5 Aug 2020 00:25:03 +0000 (17:25 -0700)]
Add LoggerColorBehavior (#40221)
Zoltan Varga [Tue, 4 Aug 2020 22:18:21 +0000 (18:18 -0400)]
[wasm] Make mono_wasm_get_obj_type () GC safe by doing all object access before calling into the runtime. (#40312)
Part of the fix for https://github.com/dotnet/runtime/issues/40132.
Koundinya Veluri [Tue, 4 Aug 2020 22:02:35 +0000 (18:02 -0400)]
Don't suspend for debugger while holding the slot backpatching lock (#40060)
- Mostly reverted the previous workaround for the issue (commit
fc06054a774e28a5a47bbe862adcf03251abb43c)
- Added a forbid-suspend-for-debugger region in preemptive GC mode
- Added a crst holder type that acquires a lock and enters the forbid region
- Where the slot backpatching lock would be taken where cooperative GC mode may be entered inside that lock, the new crst holder is used
- When a suspend for debugger is requested, a thread in preemptive GC mode that is in the forbid region is considered not yet suspended and is synched later similarly to threads in cooperative GC mode
Fixes https://github.com/dotnet/runtime/issues/37278
Alexander Köplinger [Tue, 4 Aug 2020 20:25:58 +0000 (22:25 +0200)]
Mono: Ensure tasklets are removed in netcore build (#40324)
Tasklets were an old mono-specific extension for continuations that is no longer relevant.
Santiago Fernandez Madero [Tue, 4 Aug 2020 19:59:46 +0000 (12:59 -0700)]
Make macOS targets in global build job template default to 120 minutes timeout (#40330)
Alexander Köplinger [Tue, 4 Aug 2020 19:48:16 +0000 (21:48 +0200)]
Fix warning in debugger-agent.c (#40325)
```
CC libmono_dbg_la-debugger-agent.lo
/Users/runner/work/1/s/src/mono/mono/mini/debugger-agent.c:1088:9: warning: unused variable 'argv' [-Wunused-variable]
char *argv [ ] = {
```
Bruno Garcia [Tue, 4 Aug 2020 19:44:28 +0000 (15:44 -0400)]
fix typo: fuitful -> fruitful (#40333)
Sung Yoon Whang [Tue, 4 Aug 2020 19:17:16 +0000 (12:17 -0700)]
Add more runtime GC counters (#38851)
* Add more GC counters
* Cleanup
* Change size of last GC stats arrays from total_generation_count to max_generation
* add asserts and fix error
* fix typo
* Fix Windows build
* Remove pause time / time between GC counters as discussed in design PR
* revert changes to GC for unused counters
* more unnecessary changes
* build fix
* last bit of undoing changes
* CR feedback
Layomi Akinrinade [Tue, 4 Aug 2020 18:43:24 +0000 (11:43 -0700)]
Add step to run linker on entire runtime pack during libraries build (#40172)
* Add step to run linker on entire runtime pack during libraries build
* Address feedback
* Only run for NetCoreAppCurrent
* Include appropriate S.P.CoreLib
* Address review feedback
* Add common property group for shared linker args; remove unneeded changes from PR
* Rename illink-sharedframeworks.targets to illink-sharedframework.targets
* Address review feedback
Jeremy Koritzinsky [Tue, 4 Aug 2020 18:04:05 +0000 (11:04 -0700)]
Minimum CMake downgrade for Linux (#39044)
Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Jan Vorlicek <janvorli@microsoft.com>
Tomas Weinfurt [Tue, 4 Aug 2020 17:28:04 +0000 (10:28 -0700)]
cleanup schannel pal (#39755)
* cleanup schannel pal
* fix netfx
Larry Ewing [Tue, 4 Aug 2020 17:09:27 +0000 (12:09 -0500)]
Fix logger output. (#40291)
Zoltan Varga [Tue, 4 Aug 2020 17:06:36 +0000 (13:06 -0400)]
[runtime] Handle null byref returns in runtime invokes. (#40071)
* [runtime] Handle null byref returns in runtime invokes.
Fixes https://github.com/dotnet/runtime/issues/39380.
* Reenable fixed test
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Larry Ewing [Tue, 4 Aug 2020 16:50:39 +0000 (11:50 -0500)]
Normalize array magic numbers and remove switch (#40279)
Kenneth Pouncey [Tue, 4 Aug 2020 14:57:14 +0000 (16:57 +0200)]
[browser][io] Workaround for issue MoveDirectory (#40310)
* [browser][io] Workaround for issue MoveDirectory
- Issue workaround while waiting for emscripten fix. https://github.com/dotnet/runtime/issues/40305
- The following code checks for the existence of the source and destination directories which replaces the same code in the emscripten code.
emscripten tracking issue: https://github.com/emscripten-core/emscripten/issues/11804
* Update src/libraries/System.IO.FileSystem/src/System/IO/FileSystem.Unix.cs
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Stephen Toub [Tue, 4 Aug 2020 14:31:40 +0000 (10:31 -0400)]
Fix hang in HTTP/2 handling of canceling credit waits (#40243)
* Re-combine CreditWaiter and CancelableCreditWaiter
The split was to optimize the case when there's no cancellation token, but based on the evolution of the codebase, that doesn't really happen, and it makes the common cancellation case a bit more expensive (and convoluted).
* Fix hang in HTTP/2 handling of canceling credit
The CreditWaiter took a lock to protect its ManualResetValueTaskSourceCore state. The lock was also shared with its parent. This could result in a situation where the parent was holding the lock and called into the CreditWaiter to dispose of it and in turn dispose of the registration with the CancellationToken. That registration could have represented an in-flight cancellation callback, which would also try to take the lock in order to complete the MRVTSC. And since CancellationTokenRegistration.Dispose blocks waiting for an in-flight cancellation callback to complete, this could deadlock, with a thread holding the lock while waiting for another thread that tries to take the lock to make forward progress.
This fixes it simply by avoiding the lock entirely and instead using a simple compare-exchange to protect the right to complete the MRVTSC.
* Address PR feedback
Alexander Nikolaev [Tue, 4 Aug 2020 14:12:11 +0000 (16:12 +0200)]
Xml docs for SocketsHttpHandler's IsSupported and EnableMultipleHttp2Connections (#40308)
Fixes #39489
Jan Kotas [Tue, 4 Aug 2020 13:42:19 +0000 (06:42 -0700)]
Cleanup EventSource (#40204)
* Move StubEnvironment.cs to Microsoft.Diagnostics.Tracing.EventSource.Redist
* Delete ES_BUILD_PCL and ES_BUILD_AGAINST_DOTNET_V35
Alexander Köplinger [Tue, 4 Aug 2020 13:40:00 +0000 (15:40 +0200)]
Bump timeout in global-build.yml for debug runtime builds (#40309)
A good build of the `runtime-live-build` pipeline takes between 45-55mins for the debug runtime configurations already so we sometimes run into the 60mins default Azure DevOps timeout if we happen to catch a slow machine.
Bumping the timeout to 120mins like we do in other pipelines to fix this.
Austin Wise [Tue, 4 Aug 2020 11:08:56 +0000 (04:08 -0700)]
Reduce binary size by moving data definitions out of headers. (#40254)
Marie Píchová [Tue, 4 Aug 2020 10:51:04 +0000 (12:51 +0200)]
Increased timeouts, fixed indentation. (#40273)
Steve Pfister [Tue, 4 Aug 2020 09:44:58 +0000 (05:44 -0400)]
[Wasm] Enable System.Data.Common tests (#39463)
Disable the tests that require SQL Server.
Co-authored-by: Steve Pfister <steve.pfister@microsoft.com>
Co-authored-by: Maxim Lipnin <v-maxlip@microsoft.com>
Alexander Köplinger [Tue, 4 Aug 2020 09:39:15 +0000 (11:39 +0200)]
WASM: Pump timer queue in xharness when running unit tests (#40278)
* WASM: Pump timer queue in xharness when running unit tests
We only pumped the threadpool but we didn't pump the timer queue inside the xharness runner, so in the case of Task.Delay() it'll schedule a callback on the timer queue and that will never happen which leads to the infinite loop waiting for the test to finish.
To fix that we call an internal method to pump the timer queue like we do for the threadpool.
Requires an xharness bump to include https://github.com/dotnet/xharness/pull/290
Fixes https://github.com/dotnet/runtime/issues/38931
* Don't nullref if no timers were started
Maxim Lipnin [Tue, 4 Aug 2020 08:01:22 +0000 (11:01 +0300)]
[wasm] Modify System.Net.Request to throw PNSE on Browser WASM (#40274)
* [wasm] Modify System.Net.Request to throw PNSE on Browser WASM
* [wasm] Re-enable System.ComponentModel.EventBasedAsync.Tests.BackgroundWorkerTests.TestFinalization test
* Make the CS0809 build warning depend on if PNSE assembly is going to be generated
* Update src/libraries/System.Net.Requests/src/System.Net.Requests.csproj
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
* Remove redundant condition
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Geoff Kizer [Tue, 4 Aug 2020 04:44:37 +0000 (21:44 -0700)]
improve exception message when HTTP2 connection establishment fails (#40251)
Co-authored-by: Geoffrey Kizer <geoffrek@windows.microsoft.com>
Koundinya Veluri [Tue, 4 Aug 2020 04:17:46 +0000 (00:17 -0400)]
Change new thread's affinity after thread starts, from the same thread, as a workaround for Snap (#40205)
- Snap's default strict confinement doesn't allow setting the affinity of a different thread, and currently doesn't allow `sched_setaffinity(<nonzeroPid>, ...)`, which pthread implementation calls
- Switched to use sched_setaffinity(0, ...) where appropriate
Fix for https://github.com/dotnet/runtime/issues/1634 in master
Fan Yang [Tue, 4 Aug 2020 02:11:55 +0000 (22:11 -0400)]
Check if a method is dynamic when transforming internal calls (#40266)
Jan Vorlicek [Tue, 4 Aug 2020 02:10:23 +0000 (04:10 +0200)]
Fix Windows coreclr.dll size regression (#40282)
* Fix Windows coreclr.dll size regression
A recent change has replaced usage of SELECTANY by constexpr to
significantly reduce size of coreclr binaries on Unix. But it has
resulted in about 180kB regression in coreclr.dll size on Windows.
This change gets rid of the constexpr at places that can be reasonably
moved to having declaration in header and definition in a .cpp file.
I've also found a couple of things that are not used anymore, so I have
deleted them.
The only thing where I've moved back to using SELECTANY on Windows is
the DbgIPCEventTypeNames in dbgipcevents.h. That table and the related
GetEventType / GetEventName methods are used in both mscordbi and
coreclr and sharing a .cpp source with the data between those two
libraries was ugly and problematic.
* Fix x86 build
* Fix clang format
* Reflect PR feedback
defined(_MSC_VER)
Santiago Fernandez Madero [Mon, 3 Aug 2020 23:54:10 +0000 (16:54 -0700)]
Fix attribute differences in between refs and implementations (#40185)
* Fix attribute differences in between refs and implementations
* Update APICompat version and address feedback
* Fix builds
* PR Feedback, include attributes for all tfms in S.T.Json ref
SUN Guoyun [Mon, 3 Aug 2020 23:11:05 +0000 (07:11 +0800)]
Use Environment.SystemPageSize to set desireBufferSize (#40247)
PAGE_SIZE is not all 4096 for all architecture, so we can get it by Environment.SystemPageSize
Co-authored-by: Sunguoyun <sunguoyun@loongson.cn>
Aaron Robinson [Mon, 3 Aug 2020 22:30:09 +0000 (15:30 -0700)]
Don't rely on the built-in interface marshaller during COM activation. (#40228)
* Don't rely on the built-in marshaller during activation.
Relying on the built-in marshaller leverages the Class interface approach
which doesn't work for some interface types (e.g. interfaces inheriting
from IDispatch).
This approach is wrong regardless of why given that COM dictates the
returned value must be properly cast the specific interface vtable.
Eugene Rozenfeld [Mon, 3 Aug 2020 21:59:27 +0000 (14:59 -0700)]
Don't remove dead indirections that may throw. (#40226)
Liveness incorrectly removed indirection rhs's of dead assignments.
This change fixes that.
Fixes #39823.
Jeremy Barton [Mon, 3 Aug 2020 21:26:55 +0000 (14:26 -0700)]
Improve default ciphersuites on Linux
The ciphersuites are now server-order preferenced, which matches Windows and macOS.
The ciphersuite list is:
* Anything provided via the CipherSuitePolicy, otherwise
* Anything provided via config (OPENSSL_CONF or default)
* An opinionated default
The opinionated default currently contains one TLS 1.0/1.1 ciphersuite for each of an RSA or ECDSA server certificate,
due to complexities in the current tests with not expecting "there are no valid ciphersuites enabled" errors with asking
for those lower protocol versions explicitly. With TLS 1.0/1.1 still enabled by default the server config does not get an "A"
from SslLabs out of the box; followup work will increase test robustness and remove that fallback.
Tarek Mahmoud Sayed [Mon, 3 Aug 2020 21:03:42 +0000 (14:03 -0700)]
Add ActivityContext parsing APIs (#40183)
* Add ActivityContext parsing APIs
* Address the feedback
Tomas Weinfurt [Mon, 3 Aug 2020 20:08:46 +0000 (13:08 -0700)]
fix regression in ChannelBinding/NTLM auth (#40222)
* fix regression in ChannelBinding/NTLM auth
* fix index
Eric Erhardt [Mon, 3 Aug 2020 20:08:04 +0000 (15:08 -0500)]
Fix the trimming tests to link non-app assemblies correctly. (#40246)
The PrepareForILLink target will pass any ManagedAssemblyToLink that isn't marked as IsTrimmable=true to a TrimmerRootAssembly. This will cause the assembly to be passed to the linker with `-a`, which means the asesmbly won't be fully trimmed. So any assembly outside of the runtimepack will be passed with -a (for example Microsoft.Extensions.*).
Fix this by moving to BeforeTargets=PrepareForILLink and marking the single application assembly as a root.
David Wrighton [Mon, 3 Aug 2020 20:03:23 +0000 (13:03 -0700)]
Type verification in tests (#40186)
- Enable type layout verification in crossgen2 test passes
Product bugs found/fixed
- Fix type blittability issue found during enabling this test.
- HFA encoding was not correct for Arm64, and did not have R2R defined constants
- Fix type layout verification infrastructure issues
- Do not generate type layout checks or verification if the offset is 24 bits or larger
- Only load approx enclosing type when verifying, instead of enclosing type (this avoids asserts)
Anirudh Agnihotry [Mon, 3 Aug 2020 19:46:34 +0000 (12:46 -0700)]
Generating the verison and other macros on the fly (#39670)
* generating the header on the fly
* add feedback from other pr
* simplify includePath
* address feedbacl
* simplify the includePath code
Maryam Ariyan [Mon, 3 Aug 2020 17:54:37 +0000 (10:54 -0700)]
Allow increased log level filtering for event source logger (#40165)
Tomas Weinfurt [Mon, 3 Aug 2020 17:26:34 +0000 (10:26 -0700)]
fix ReceiveMessageFromPacketInfo in DualMode ReceiveMessageFromAsync (#39249)
* add test
* fix dual mode on windows
* fix linux
* Update src/libraries/System.Net.Sockets/src/System/Net/Sockets/SocketAsyncEventArgs.Windows.cs
Alexander Nikolaev [Mon, 3 Aug 2020 16:28:48 +0000 (18:28 +0200)]
IsSupported reports SocketsHttpHandler availability on different platforms (#40271)
Fixes #39489
Eirik Tsarpalis [Mon, 3 Aug 2020 16:24:09 +0000 (17:24 +0100)]
Fix nullable annotations for ImmutableArray cast methods (#40084)
* Fix nullable annotations for ImmutableArray cast methods,
Fixes #39799
* address feedback
Alexander Köplinger [Mon, 3 Aug 2020 14:05:00 +0000 (16:05 +0200)]
Fix ICU_CFLAGS in mono configure.ac (#40263)
We need to set these defines so we don't use obsolete ICU functions and cause warnings, just like we do in the CMakeLists.txt version..
dotnet-maestro[bot] [Mon, 3 Aug 2020 12:00:09 +0000 (12:00 +0000)]
Update dependencies from https://github.com/dotnet/xharness build
20200802.1 (#40256)
[master] Update dependencies from dotnet/xharness
- Updates:
- Microsoft.DotNet.XHarness.CLI: from 1.0.0-prerelease.20380.2 to 1.0.0-prerelease.20402.1
- Microsoft.DotNet.XHarness.TestRunners.Xunit: from 1.0.0-prerelease.20380.2 to 1.0.0-prerelease.20402.1
Maxim Lipnin [Mon, 3 Aug 2020 11:52:12 +0000 (14:52 +0300)]
[wasm] Re-enable some Microsoft.Extensions.Logging.Tests tests on browser-wasm. (#40255)
Marie Píchová [Mon, 3 Aug 2020 11:11:52 +0000 (13:11 +0200)]
HTTP agnostic loopback server. (#40144)
Edward Kazuya Carlson [Sun, 2 Aug 2020 18:04:56 +0000 (11:04 -0700)]
Added variable number for tracking (#39861)
Eric Erhardt [Sun, 2 Aug 2020 18:01:19 +0000 (13:01 -0500)]
Annotate DependencyInjection to make it linker friendly (#40227)
* Annotate DependencyInjection to make it linker friendly
Fix #39745
Eric Erhardt [Sun, 2 Aug 2020 18:00:21 +0000 (13:00 -0500)]
Fix ILLink warnings for removed attributes when Debugger.IsSupported is false (#40048)
When Debugger.IsSupported feature switch is false, we trim unnecessary attributes in the code - specifically attributes like CompilerGeneratedAttribute and StackTraceHiddenAttribute. However, we still have code accessing these attributes, which causes the ILLinker to warn that it is removing the attributes, but code still uses them.
To fix this, remove these attributes from being trimmed when Debugger.IsSupported is false. Instead these attributes will be preserved always so things like "is anonymous type" checks and stack trace tostring will behave correctly.
Fix #39707
Adeel Mujahid [Sun, 2 Aug 2020 17:45:52 +0000 (20:45 +0300)]
Remove netstandard packaging infra (#40239)
Alexander Köplinger [Sun, 2 Aug 2020 16:13:00 +0000 (18:13 +0200)]
Reenable ExceptionDispatchInfo.SetCurrentStackTrace test on WASM (#40241)
It was fixed by https://github.com/dotnet/runtime/pull/40031.