Steve Pfister [Fri, 30 Jul 2021 12:01:57 +0000 (08:01 -0400)]
Enable and tweak ThreadTests on Android (#56578)
Many ThreadTests should be working on Android, so they were enabled. ApartmentState_AttributePresent was changed to skip permanently on Android.
Fixes https://github.com/dotnet/runtime/issues/50577
Steve Pfister [Fri, 30 Jul 2021 11:59:52 +0000 (07:59 -0400)]
Enable skipped CodeDom tests on Android (#56581)
Some C# and VB code generation tests were being skipped due to UseSystemResourceKeys being enabled. It no longer is.
Fixes #50879
Aleksey Kliger (λgeek) [Fri, 30 Jul 2021 11:36:45 +0000 (07:36 -0400)]
[loader] Call managed resolving events for the default ALC (#56398)
* [loader] Call managed resolving events for the default ALC
Refine the work in
https://github.com/dotnet/runtime/commit/
f70b5b7aef21a70478e9b86dba7d996a57a9add9
The issue is that even if we know that the ALC gchandle points to null in
native, we can't automatically skip the call to the managed resolving
event (for native library, for example) because the native event is indirectly
responsible for creating the default ALC managed object.
Instead, check in native if the gchandle is equal to the default ALC's
gchandle (which is initially allocated with a null target) and if so pass
IntPtr.Zero to the managed code, which will call
`AssemblyLoadContext.GEtAssemblyLoadContext (IntPtr gch)` which in turn will
construct the managed object for the default ALC.
Fixes https://github.com/dotnet/runtime/issues/55921
* remove one more early exit
* make a helper function
Stephen Toub [Fri, 30 Jul 2021 10:58:47 +0000 (06:58 -0400)]
Fix divide-by-zero in RuntimeEventSourceHelper.GetCpuUsage on Windows (#56547)
Elinor Fung [Fri, 30 Jul 2021 10:38:23 +0000 (03:38 -0700)]
Remove IIDToInterfaceTemplateCache (#56596)
Neale Ferguson [Fri, 30 Jul 2021 10:32:36 +0000 (20:32 +1000)]
s390x: Additional float32 fixes (#56360)
- Add rmove specification in cpu-s390x.md
- OP_RMOVE implementation in mini-s390x.c
- Correct float instruction lengths
- Disable debug code
- Correct RCONV_TO_I4/RCONV_TO_U4
Tomas Weinfurt [Fri, 30 Jul 2021 09:56:18 +0000 (02:56 -0700)]
Enable disabled QUIC tests (#56590)
With update updated MsQuic on Linux in place (PR #56429) we should pass few more disabled tests.
I did ~200 local runs and I did not see any problems
Fixes #55242
Fixes #55746
Karel Zikmund [Fri, 30 Jul 2021 09:23:15 +0000 (11:23 +0200)]
Disable test SendMoreThanStreamLimitRequests_Succeeds for all QUIC (#56566)
Disable the test also for MsQuic, not just Mock.
Test types:
- System.Net.Http.Functional.Tests.SocketsHttpHandlerTest_Http3_MsQuic
- System.Net.Http.Functional.Tests.SocketsHttpHandlerTest_Http3_Mock
Disabled test tracked by #55957
Alexander Köplinger [Fri, 30 Jul 2021 09:06:25 +0000 (11:06 +0200)]
Fix System.Configuration.ConfigurationManager.Tests on Android and reenable on non-Windows platforms (#56558)
The test assembly got changed to `$(NetCoreAppCurrent)-windows` in https://github.com/dotnet/runtime/commit/
809a06f45161ae686a06b9e9ccc2f45097b91657#diff-4d639cb37fe53cdeae4262c1f5be7936cdd81e3b4f256f9c59ad02ec69b300d9R7 but when talking to Viktor we're not sure why, probably a mistake.
Target `$(NetCoreAppCurrent)` instead so it runs on all platforms and fix a test issue that occurs on Android due to BaseDirectory not having a trailing slash. Fixes https://github.com/dotnet/runtime/issues/37071
Incidentally, that's likely also the reason why the .csproj set `TestDisableAppDomain` so we can remove that as well.
Also replace `TestDisableParallelization` with the assembly attribute equivalent which is what we use everywhere else.
Peter Sollich [Fri, 30 Jul 2021 07:07:03 +0000 (09:07 +0200)]
Move the logic to grow the mark list outside of #ifdef GC_CONFIG_DRIVEN. (#56451)
I put it there by mistake, and didn't notice because for coreclr.dll, GC_CONFIG_DRIVEN is enabled. For clrgc.dll it is not, and when I did perf experiments with regions, I noticed that sometimes we would take very long in plan_phase.
Peter Sollich [Fri, 30 Jul 2021 07:05:34 +0000 (09:05 +0200)]
Optimize region count (#56471)
We have a couple of arrays with an entry per region - instead of iterating over all the regions that we have reserved address space for, iterate just over the regions actually in use.
Arrays affected by this are mark_list_piece_start, mark_list_piece_end, survived_per_region and old_card_survived per_region.
To avoid having inconsistent counts, we get the count of regions actually in use at the start of mark_phase. Any regions added during GC should not matter, because they shouldn't contain any marked objects.
While the region allocator has provisions to allocate regions from the highest addresses down, we don't use that facility now. If we do, the code to iterate through the used regions will need to get more sophisticated. I put an assert that would fire in this case.
Pavel Savara [Fri, 30 Jul 2021 05:56:22 +0000 (07:56 +0200)]
fail fast if the delegate was collected prematurely (#56523)
Bruce Forstall [Fri, 30 Jul 2021 04:50:22 +0000 (21:50 -0700)]
Work around a Linux arm32 unaligned data issue in SuperPMI (#56517)
* Work around a Linux arm32 unaligned data issue in SuperPMI
impImportStaticReadOnlyField reads the data at the address returned by
getFieldAddress. SuperPMI saves and replays this data, but it doesn't
store it at a naturally aligned address. For int64/double (at least),
this is a problem on Linux arm32, which raises a SIGBUS exception on
such unaligned access.
This works around the problem by copying the potentially unaligned data
to a known aligned spot before reading it. This is only done under DEBUG
and when we know we are replaying under SuperPMI.
A proper fix would be to teach SuperPMI about alignment, but that would be
a large and risky change, compared to this small and isolated workaround.
The fixes the non-determinism of #56156.
* Only add alignment adjustment when required
Ankit Jain [Fri, 30 Jul 2021 03:24:48 +0000 (23:24 -0400)]
Wasm.Build.Tests: `RunProcess` - wait for all async handlers to complete (#56520)
Aaron Robinson [Fri, 30 Jul 2021 02:55:40 +0000 (19:55 -0700)]
Test issue for reference tracking in Objective-C (#56441)
* Test issue for reference count in Objective-C
* Review feedback.
David Wrighton [Fri, 30 Jul 2021 01:38:50 +0000 (18:38 -0700)]
Remove requirement that --input-bubble be specified if an instruction set is specified (#56571)
- This was here to protect against ABI breaking changes causing R2R misbehavior
- We don't actually need this as if there is an ABI breaking change, we can detect it at runtime by looking at a combination of the R2R version and the required instruction sets encoded in the R2R image
David Wrighton [Fri, 30 Jul 2021 01:37:04 +0000 (18:37 -0700)]
Workaround crossgen2/ilasm CI test pass incompatibility (#56572)
- The scripts for running crossgen on the app are incompatible with the ilasm/ildasm scripts
- We don't have many of these tests, and they don't test many interesting details for ilasm/ildasm
- Simply disable these tests in the ILasm/ildasm test passes
Fixes #56484
Also, a small drive by fix to not attempt to compile the composite-r2r image. This makes it simple to force the test to re-run crossgen2 by just deleting the IL-CG2 subdirectory of the test
LateApexEarlySpeed [Fri, 30 Jul 2021 00:15:02 +0000 (08:15 +0800)]
issue-50839 handle large int write input. (#53338)
* issue-50839 handle large int write input.
* Also fix Write(ReadOnlySpan); Remove test case because it allocates large object
* Fix comment: add tests.
* Fix comment: use get_position to return _pos; Fix indentation issue.
* Fix spacing
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Co-authored-by: Jeff Handley <jeff.handley@microsoft.com>
Prashanth Govindarajan [Thu, 29 Jul 2021 22:58:53 +0000 (15:58 -0700)]
Add .* and .+ grouping tests for Regex (to capture aspnetcore scenario from recent regression) #56108
* Add a unit test from aspnetcore
* Expand regex backtracking test cases for ASP.NET
* None and Compiled are already covered; remove loop
* Fix typo in comment
* Make corrections to the new unit tests
Co-authored-by: Jeff Handley <jeff.handley@microsoft.com>
Co-authored-by: Jeff Handley <jeffhandley@users.noreply.github.com>
Ilya [Thu, 29 Jul 2021 22:46:54 +0000 (03:46 +0500)]
Avoid throwing in ToString() if the process has already exited (#53979)
* Avoid throwing in ToString() if the process has already exited
* Fix test
alesomas [Thu, 29 Jul 2021 22:09:56 +0000 (00:09 +0200)]
Enable ComWrappers API for cross-platform (#54838)
* Product changes to enable comwrappers on linux
* Some enhancement (ArraySize, Stowed exception exclusion, etc.)
* Further enhancements + gcenv.ee.cpp change for build failures
* Array size definition moved below windows.h
* MockReferenceTrackerRuntime test project changes for Linux
* Use FALLTHROUGH macro in place of [[fallthrough]]
* WeakReference test project changes for Linux
* Moved back comhelpers.h code from xplatform.h
* OBJC_TEST logic to avoid OSX errors
* Fix for GCC pipeline errors
* Arraysize result comparison error
* Fix IID_IReferenceTracker GUID typo
* QueryInterface implementation and other minor changes
* UnknowImpl fix to remove WIN32 constructor cases
* UnknownImpl error fix
* Included ComWrappers Managed tests
* Excluded Unix ComWrappers test for Mono
* Disabled comwrappers test for mono + other code enhancements
* Enable interop info sync block cleanup under FEATURE_COMWRAPPERS
* Fix local instance ComWrappers WeakReference tests
* Enable NativeComWeakHandleInfo under FEATURE_COMWRAPPERS
* weakreferencenative.cpp and ComHelpers.h code enhancements
Co-authored-by: Ubuntu <creditsuisse@BuildVM.hqykqmymov3ebcqudt35mscinc.ax.internal.cloudapp.net>
Co-authored-by: Elinor Fung <elfung@microsoft.com>
Natalia Kondratyeva [Thu, 29 Jul 2021 21:39:44 +0000 (23:39 +0200)]
Fix HTTP/3 ALPN (#56215)
* Fix HTTP/3 ALPN
* Add tests
Pent Ploompuu [Thu, 29 Jul 2021 21:19:10 +0000 (00:19 +0300)]
Enable FileStream length caching with FileShare.Delete (#56465)
* Enable FileStream length caching with FileShare.Delete
* Address PR feedback
Tarek Mahmoud Sayed [Thu, 29 Jul 2021 20:55:17 +0000 (13:55 -0700)]
Fix System.Diagnostics Triple Slashes Comments (#56582)
Tomas Weinfurt [Thu, 29 Jul 2021 20:53:40 +0000 (13:53 -0700)]
improve quic client cert validation options on server (#56491)
Viktor Hofer [Thu, 29 Jul 2021 20:41:52 +0000 (22:41 +0200)]
Delete Microsoft.Private.CoreFx.OOB meta package (#56551)
The AzDO feed shows that the package isn't anymore
(255 total downloads across all 6.0 versions). To help with the pkgproj
to csproj conversion and to simplify meta package infrastructure,
deleting the package.
In addition to that, the meta package was already missing many OOB
libraries, i.e. all Microsoft.Extensions projects and others as they
don't have a pkgproj anymore which the meta package relied on.
Shay Rojansky [Thu, 29 Jul 2021 20:38:03 +0000 (22:38 +0200)]
API fix to System.Data batching API (#56525)
Allow implementations of DbBatchCommandCollection to hide the indexer
with a narrower-typed version for their own implementation of
DbBatchCommand, as elsewhere in ADO.NET.
Fixup for #54467, part of #28633
dotnet-maestro[bot] [Thu, 29 Jul 2021 20:31:06 +0000 (15:31 -0500)]
[main] Update dependencies from mono/linker (#56461)
* Update dependencies from https://github.com/mono/linker build
20210727.1
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21376.2 -> To Version 6.0.100-preview.6.21377.1
* Update dependencies from https://github.com/mono/linker build
20210728.1
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21376.2 -> To Version 6.0.100-preview.6.21378.1
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Tomas Weinfurt [Thu, 29 Jul 2021 20:28:32 +0000 (13:28 -0700)]
pull in new Helix Fedora image (#56429)
* pull in new fefora images
* updated image
Sergey Andreenko [Thu, 29 Jul 2021 19:57:56 +0000 (12:57 -0700)]
Fix Apple arm64 SIMD12(SIMD16) passing. (#56521)
* reenable tests
* Fix the issue.
Tom Deseyn [Thu, 29 Jul 2021 19:23:01 +0000 (21:23 +0200)]
Console.Unix: support backspace during Console.Read (#49649)
* Console.Unix: support backspace during Console.Read
* Perform \n to \r conversion earlier.
Jakob Botsch Nielsen [Thu, 29 Jul 2021 19:08:03 +0000 (21:08 +0200)]
Add Pettis-Hansen sort based on call graph data from .mibc file (#56472)
Can be used by specifying --methodorder PettisHansen when a .mibc file
is passed that has the necessary call graph information. By default,
create-mibc adds this information when kernel call stacks are included in
the trace.
Miha Zupan [Thu, 29 Jul 2021 18:47:37 +0000 (11:47 -0700)]
Add timeouts to SendAsync_CorrectVersionSelected_LoopbackServer (#56546)
Andrew Au [Thu, 29 Jul 2021 18:09:53 +0000 (11:09 -0700)]
Make sure we did suppress console output from tests by using the assemblyLoadContextLoader (#56503)
Manish Godse [Thu, 29 Jul 2021 17:56:07 +0000 (10:56 -0700)]
undo gcname while running crossgen2 within standalone CI (#56361)
* undo gcname while running crossgen2
* Fix couple more R2R tests to ignore standalone gc
* Fix comments based on CR
Zoltan Varga [Thu, 29 Jul 2021 17:30:34 +0000 (13:30 -0400)]
[mono] Fix the long opcode decompose pass when using llvm. (#56535)
It was replacing 64 bit opcodes with 32 bit ones while keeping the input/output 64 bit
vregs, leading to memory overwrites in later passes. Instead simply keep the 64
bit opcodes, llvm can handle them.
Fixes https://github.com/dotnet/runtime/issues/53546.
Thays Grazia [Thu, 29 Jul 2021 17:13:48 +0000 (14:13 -0300)]
[wasm][debugger] Fix javascript tests (#56489)
* Avoid throwing an exception outside the try catch when trying to get DebuggerDisplay and break the debugger.
* Fixing debugger tests that debug JS.
* revert unrelated changes on monosdbhelper.
* Update src/mono/wasm/debugger/DebuggerTestSuite/CallFunctionOnTests.cs
Co-authored-by: Ankit Jain <radical@gmail.com>
* Addressing @radical comments.
Co-authored-by: Ankit Jain <radical@gmail.com>
Stephen Toub [Thu, 29 Jul 2021 16:54:22 +0000 (12:54 -0400)]
Avoid capturing current SynchronizationContext in SocketPal.SendPacketsAsync (#56512)
Manish Godse [Thu, 29 Jul 2021 16:53:06 +0000 (09:53 -0700)]
Change area ownership for R2R (#56557)
* update owners
* Fix whitespace
Zoltan Varga [Thu, 29 Jul 2021 15:56:14 +0000 (11:56 -0400)]
[mono][aot] Emit extra interp entry wrappers for long signatures. (#56414)
Fixes https://github.com/dotnet/runtime/issues/55051.
Andy Ayers [Thu, 29 Jul 2021 15:53:42 +0000 (08:53 -0700)]
JIT: fix pred list maintenance during fgUpdateFlowGraph (#56509)
Handle case where a BBJ_COND block both falls through and branches to
another block, and we want to introduce a block to re-route the fall through.
Closes #56495.
Zoltan Varga [Thu, 29 Jul 2021 15:53:18 +0000 (11:53 -0400)]
[mono] Export jit icalls on osx/catalyst as well. (#56545)
Fixes https://github.com/dotnet/runtime/issues/55000.
Alexander Köplinger [Thu, 29 Jul 2021 15:19:16 +0000 (17:19 +0200)]
Fix IsolatedStorage initialization on Android (#56534)
Android doesn't set an entry assembly so we need to handle that case.
Fixes https://github.com/dotnet/runtime/issues/52332
Zoltan Varga [Thu, 29 Jul 2021 14:49:44 +0000 (10:49 -0400)]
[mono] Fix an uninitialized memory access in the ABCREM pass. (#56508)
Detected by valgrind.
Thays Grazia [Thu, 29 Jul 2021 14:41:43 +0000 (11:41 -0300)]
[debugger] Improve debug after hot reload (#55869)
* Creating more test for hot reload debugging.
* Fixing step on android after hot reload.
* Fix get document information from enc pdb.
* Addressing Aleksey comments.
* Addressing @lambdageek comments and fixing implementation of mono_ppdb_lookup_location
* Fixing compilation on ios.
* Fix android compilation.
Anton Firszov [Thu, 29 Jul 2021 13:57:36 +0000 (15:57 +0200)]
Fix StreamWindowScaleThresholdMultiplier_HighValue_WindowScalesSlower (#56373)
Egor Bogatov [Thu, 29 Jul 2021 13:08:42 +0000 (16:08 +0300)]
Revert "JIT: Drop redundant static initializations from (Equality)Comparer<T>.Default (#50446)" (#56400)
This reverts commit
46e5fe1c9a4584b006601d46063b353338219af0.
Aleksey Kliger (λgeek) [Thu, 29 Jul 2021 13:05:58 +0000 (09:05 -0400)]
[mono] remove redundant DISABLE_PERF_COUNTERS option (#56420)
* [mono] remove redundant DISABLE_PERF_COUNTERS option
There is already a `DISABLE_PERFCOUNTERS` option, which is always set in src/mono/CMakeLists.txt
* fix log profiler in Android builds
Mitchell Hwang [Thu, 29 Jul 2021 12:58:21 +0000 (08:58 -0400)]
[libraries][Android] Re-enable test suites no longer failing with JSON parsing exception for Android arm64 (#56411)
* Temporarily remove test suites from proj level skip to evaluate JSON parsing
* Temporarily enable tests ran on this draft PR
* Remove temporary disabling of arm lanes for Android runtime-staging
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Eric StJohn [Thu, 29 Jul 2021 11:32:37 +0000 (04:32 -0700)]
Fix the build of a couple SLNs (#56483)
Build in VS was broken because of missing projects from SLN and VS
attempting to call GetTargetPath on outer build of AnalyzerReference projects.
Karel Zikmund [Thu, 29 Jul 2021 10:35:05 +0000 (12:35 +0200)]
Disable test ResponseHeadersRead_SynchronizationContextNotUsedByHandler for WinHttpHandler on Win7/Win81 (#56490)
Disable test ResponseHeadersRead_SynchronizationContextNotUsedByHandler for WinHttpHandler on Win7/Win81
Test types:
- System.Net.Http.Functional.Tests.PlatformHandler_HttpClientHandler_Asynchrony_Test
- System.Net.Http.Functional.Tests.PlatformHandler_HttpClientHandler_Asynchrony_Http2_Test
Disabled test tracked by #54034
Bar Arnon [Thu, 29 Jul 2021 08:22:03 +0000 (11:22 +0300)]
Remove Reflection.Emit APIs (#56153)
* Remove Reflection.Emit APIs
Removes all unused leftover APIs
Fix #49452
* Fix the api-compat baseline
* Remove the baseline altogether
* Remove fIsTransient refs from .cpp (as well as .h)
* Remove nIsTransientInternal
* Remove DefineDynamicModule & DefineDocument
* Revert "Remove the baseline altogether"
This reverts commit
ddb0303af94e6126848ef18cd09a70b55775a43b.
* API compat baseline for GetModuleHandleImpl
* Fix Mono
* Match changes in Mono runtime
Peter Sollich [Thu, 29 Jul 2021 08:03:31 +0000 (10:03 +0200)]
Fix two issues with budget smoothing: (#56467)
- We smoothed budgets *across* LOH and POH by mistake
- We didn't do any budget smoothing for LOH and POH in background GCs.
Alexander Köplinger [Thu, 29 Jul 2021 07:57:55 +0000 (09:57 +0200)]
Use Ubuntu instead of macOS pool for evaluate-paths-job.yml (#56479)
The script can run on Ubuntu as well so we can take some work off of the congested macOS pool.
Also set a fetch depth of 2 since that's all we need to calculate the changed paths, this shaves ~40 seconds off that step.
Elinor Fung [Thu, 29 Jul 2021 05:45:28 +0000 (22:45 -0700)]
Pass excludemonofailures in managed test build job for mono (#56434)
* Pass excludemonofailures in managed test build job for mono
* Make test build scripts pass RuntimeFlavor when building tests (not just wrappers)
Tomas Weinfurt [Thu, 29 Jul 2021 05:02:14 +0000 (22:02 -0700)]
avoid NRE in MsQuicConnection ConnectAsync (#56283)
* avoid NRE in MsQuicConnection ConnectAsync
* enable disabled test
* one more place where we set ConnectTcs to null
* use local variable
* feedback from review
Jakob Botsch Nielsen [Thu, 29 Jul 2021 03:45:51 +0000 (05:45 +0200)]
Support 8-byte alignment for 12-byte structs on ARM32 (#56375)
* Support 8-byte alignment for 12-byte structs on ARM32
Through explicit attributes it is possible that 8-byte aligned structs
are 12 bytes in size, so handle this in arm32 when we figure out if we
need an extra spill to keep the alignment.
Fix #42723
* Add a regression test
Steve Pfister [Thu, 29 Jul 2021 03:26:01 +0000 (23:26 -0400)]
Alter RuntimeComponentManifest.targets to use the correct runtime pack (#56431)
Noah Falk [Thu, 29 Jul 2021 02:44:49 +0000 (19:44 -0700)]
Fix EventSource shutdown deadlock (#56453)
Fixes https://github.com/dotnet/runtime/issues/48342
A deadlock was occuring because we held the EventListenersLock
while calling into EventUnregister which will take ETW's own native
lock. In the case of ETW sending an enable/disable notification
these locks are taken in reverse order which triggers a deadlock.
The fix is to ensure that we always order the locks so that any code
path taking both locks always takes the ETW lock first. In this case
it meant accumulating the list of event sources to dispose under
the lock but then exiting the lock prior to calling Dispose() which
will eventually call EventUnregister.
Noah Falk [Thu, 29 Jul 2021 02:43:50 +0000 (19:43 -0700)]
Reenable DiagnosticSource tests (#56500)
A few years ago this test was timing out on ARM64 because of hardware
constraints. I am re-enabling the test to see if this is still an issue
or if the situation has been resolved since then.
Eric StJohn [Thu, 29 Jul 2021 00:45:49 +0000 (17:45 -0700)]
Validate ref project references (#56488)
* Validate that reference assembly projects only reference other reference assembly projects
* Permit ref->src reference if src project produces reference assembly
* Move target to references.targets
David Wrighton [Thu, 29 Jul 2021 00:43:46 +0000 (17:43 -0700)]
Covariant return updates to ecma augments (#56496)
* Covariant return updates to ecma augments
Kunal Pathak [Wed, 28 Jul 2021 22:47:00 +0000 (15:47 -0700)]
RefTypeZeroInit doesn't need treeNode (#56333)
* RefTypeZeroInit doesn't need treeNode
* Add a test case
Noah Falk [Wed, 28 Jul 2021 22:35:49 +0000 (15:35 -0700)]
Add missing doc comments (#56499)
Ankit Jain [Wed, 28 Jul 2021 21:34:02 +0000 (17:34 -0400)]
[wasm] Fix Publish for Blazorwasm projects on VS17 (#56432)
TL;dr `publish` fails on any blazorwasm project with VS17
A recent commit[1] moved initializing `$(_WasmIntermediateOutputPath)` from
a target, to project level `PropertyGroup`. It is set as:
`<_WasmIntermediateOutputPath>$([MSBuild]::NormalizeDirectory($(IntermediateOutputPath), 'wasm'))</_WasmIntermediateOutputPath>`
The `NormalizeDirectory` call converts this to a full path, presumably
using the current directory.
Because we are setting `$(_WasmIntermediateOutputPath)` at the project
level, it gets evaluated during the evaluation phase. And the current
directory doesn't seem to be set to the project directory at that point
in VS. So, `$(_WasmIntermediateOutputPath)` gets a wrong path like:
`C:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\obj\Release\net6.0\wasm`.
And then when actually publishing, it fails to create this directory
with:
`Unable to create directory "C:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\obj\Release\net6.0\wasm\". Access to the path 'C:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\IDE\obj\Release\net6.0\wasm\' is denied.`
Fix:
Set the property in `_InitializeCommonProperties` *target*, at which
point the current directory is correctly set.
Note:
- This doesn't seem to be reproducible outside VS
- It happens only on `publish`, because that's when the wasm targets
come into play.
--
1.
```
commit
d574b032793ae752387d32b97ff9840de17420a2
Author: Ankit Jain <radical@gmail.com>
Date: Mon Jul 19 01:02:01 2021 -0400
[wasm] Add support for using custom native libraries (#55797)
```
Jan Vorlicek [Wed, 28 Jul 2021 20:51:25 +0000 (22:51 +0200)]
Fix redhat arm64 (#52244)
* Fix RHEL 8 ARM64
Clang on ARM64 places the .rodata section into the same segment
as .text. On RHEL 8 ARM64, the kernel is configured for 64kB
memory pages. When we flip the page protection of the page containing
the GS cookie to RW and back to RO, we assume that the cookie lives
in a non-executable memory. This assumption is broken on RHEL 8 and
we end up setting protection of a part of the coreclr code to read
only instead of back to RX.
This change switches the linker we use to lld from the previously
used gnu linker. That linker places .rodata into a different segment
than .text by default. Moreover, I was planning to move to using
lld anyways to use all build tools from LLVM.
* Fix ARM build to use PC relative addresses only
The lld linker has revealed that we were using absolute addresses in some
asm helpers and so load time relocation was necessary. This change fixes
it by replacing all of those by PC relative ones.
* Update docker images used for building runtime
Use new images that have lld linker
* Disable lld linker for s390x
Lakshan Fernando [Wed, 28 Jul 2021 20:50:19 +0000 (13:50 -0700)]
EventSource Manifest Trimmer test (#56463)
* EventSource Manifest Trimmer test
* FB
Tarek Mahmoud Sayed [Wed, 28 Jul 2021 20:02:39 +0000 (13:02 -0700)]
Fix fr-CA culture time formatting and parsing (#56443)
Dan Moseley [Wed, 28 Jul 2021 19:55:10 +0000 (13:55 -0600)]
Update area-owners.md (#56481)
* Update area-owners.md
added area-codeflow so that maestro PR's don't make noise by tagging the infrastructure areas.
* Update area-owners.md
Kunal Pathak [Wed, 28 Jul 2021 19:43:39 +0000 (12:43 -0700)]
Assert if we find undefined use during interval validation (#56439)
* Assert if we find undefined use during interval validation
* Include lastUse check
Andy Ayers [Wed, 28 Jul 2021 19:39:15 +0000 (12:39 -0700)]
JIT: properly update loop memory dependence when loops are removed (#56436)
If a loop is removed (because of unrolling) then the loop dependence
tracking introduced in #55936 and #56184 may not properly update.
So when a loop is removed, walk up the chain of parent loops looking
for one that is not removed, and record the dependence on that parent.
Addresses last part of #54118.
Ulrich Weigand [Wed, 28 Jul 2021 19:07:32 +0000 (21:07 +0200)]
Build support for s390x: corehost (#53949)
* Build the (non-Windows) host binaries with either runtime flavor
* s390x architecture support in get_arch utility
Stephen Toub [Wed, 28 Jul 2021 18:23:01 +0000 (14:23 -0400)]
Fix an assert in PoolingAsyncValueTaskMethodBuilder (#56468)
Maxim Lipnin [Wed, 28 Jul 2021 18:19:20 +0000 (21:19 +0300)]
Re-enable System.IO.FileSystem.DriveInfoTests.DriveInfoUnixTests.PropertiesOfValidDrive on Android (#56462)
Contributes to #42548.
Based on akoeplinger's suggestion #42209 (comment)
Matthew Hill [Wed, 28 Jul 2021 18:15:42 +0000 (06:15 +1200)]
Add validation for MetadataType attribute - Issue #46678 (#51772)
* MetadataType attribute class properties are now validated.
Fix #46678
* Clean up PR #51772
Co-authored-by: Brice Lambson <brice@bricelam.net>
Mike McLaughlin [Wed, 28 Jul 2021 17:35:57 +0000 (10:35 -0700)]
Fix createdump segfault writing crash report json (#56437)
Viktor Hofer [Wed, 28 Jul 2021 16:44:17 +0000 (18:44 +0200)]
Update libraries solution and NuGet.config files (#56430)
* Update slngen and invocation
* Update NuGet.config files
* Update solution files with slngen
Ankit Jain [Wed, 28 Jul 2021 16:35:23 +0000 (12:35 -0400)]
[wasm] Wasm.Build.Tests - try to close down the stdout/err readers (#56180)
Tarek Mahmoud Sayed [Wed, 28 Jul 2021 16:23:51 +0000 (09:23 -0700)]
Fix Neutral Culture Names (#56321)
* Fix Neutral Culture Names
Alexander Köplinger [Wed, 28 Jul 2021 15:10:27 +0000 (17:10 +0200)]
Remove MONO_IOMAP / portability from mono (#56458)
It's not used in netcore mono (since it only works in mono but not the PAL) and judging by the discussion in https://github.com/dotnet/runtime/issues/35299 the consensus is that we should not bring that feature back.
Katelyn Gadd [Wed, 28 Jul 2021 14:59:44 +0000 (07:59 -0700)]
Introduce new AddEventListener and RemoveEventListener APIs on JSObject (#55849)
Introduces new AddEventListener and RemoveEventListener methods on JSObject that create a delegate wrapper with its lifetime managed by the JavaScript GC instead of managed types, to ensure that delegates don't go away while JS is still using them. Migrates BrowserWebSocket to use the new APIs.
Ulrich Weigand [Wed, 28 Jul 2021 14:31:32 +0000 (16:31 +0200)]
Build runtime.native.System.IO.Ports on linux-s390x (#56424)
* Add RID to runtime.native.System.IO.Ports/netcoreapp.rids.props
* Update runtime.native.System.IO.Ports.pkgproj file.
Miha Zupan [Wed, 28 Jul 2021 13:44:03 +0000 (06:44 -0700)]
Disable ResolutionsWaitingOnQueue_ResolutionStartCalledBeforeEnqueued on Mono interpreter (#56457)
Alexander Köplinger [Wed, 28 Jul 2021 13:43:44 +0000 (15:43 +0200)]
Add Android 31 and iOS/tvOS/MacCatalyst 15 to RID graph (#55933)
These OS versions will go stable later this summer.
ChrisVicary [Wed, 28 Jul 2021 13:37:19 +0000 (06:37 -0700)]
Fix for issue 56200 (#56261)
Use InternalFormat when formatting an integer
value as an Enum that uses the FlagsAttribute.
Fix #56200
Co-authored-by: cvicary <cvicary@ea.com>
Karel Zikmund [Wed, 28 Jul 2021 13:28:15 +0000 (15:28 +0200)]
Disable test ConnectWithCertificateForDifferentName_Throws (#56456)
Test: System.Net.Quic.Tests.MsQuicTests.ConnectWithCertificateForDifferentName_Throws
Disabled test tracked by #56454
dotnet-maestro[bot] [Wed, 28 Jul 2021 11:45:08 +0000 (07:45 -0400)]
Update dependencies from https://github.com/mono/linker build
20210726.2 (#56374)
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21370.1 -> To Version 6.0.100-preview.6.21376.2
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Karel Zikmund [Wed, 28 Jul 2021 11:44:51 +0000 (13:44 +0200)]
Cleanup disabled test conditions (#56381)
Thays Grazia [Wed, 28 Jul 2021 10:40:34 +0000 (07:40 -0300)]
[mono] Add GC unsafe transition to mono_unhandled_exception (#56380)
* Fix assert gc_unsafe.
* Update src/mono/mono/metadata/object.c
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Co-authored-by: Aleksey Kliger (λgeek) <akliger@gmail.com>
Adam Sitnik [Wed, 28 Jul 2021 10:16:15 +0000 (12:16 +0200)]
don't fail the file extraction when we can't set last write time (#56370)
Jakob Botsch Nielsen [Wed, 28 Jul 2021 08:27:36 +0000 (10:27 +0200)]
Properly rebuild optimization data when it changes (#56397)
The timestamp of the merged .mibc file was set to when the tool was
invoked, while the inputs have a timestamp from when they were created
in the training scenarios. That means the target to create the merged
.mibc file would not run incrementally until many weeks later.
To fix add an --inherit-timestamp flag to dotnet-pgo that makes the
merged output inherit the max timestamp from the inputs. This is not
ideal as it means incrementally going backwards does not work, but it's
better than the previous behavior.
Fix #53637
Jan Vorlicek [Wed, 28 Jul 2021 08:23:38 +0000 (10:23 +0200)]
Make open function calls in coreclr EINTR resilient on macOS (#56403)
It was reported that on macOS, the open syscall can sometimes
return EINTR if it is interrupted by a signal even if the
signal has a handler installed with SA_RESTART.
There was just one call to open in the coreclr that
didn't have EINTR handled and that can be called on macOS, so
this change fixes it.
There are two places in the libraries in the included 3rd party
code - the brotli and the zlib - that don't have this treatment yet.
We may want to update them unless the policy we have for them is
to make changes upstream.
Viktor Hofer [Wed, 28 Jul 2021 08:12:18 +0000 (10:12 +0200)]
Fix dependency from EventLog to TraceSource ref (#56417)
* Fix dependency from EventLog to TraceSource ref
This regressed with https://github.com/dotnet/runtime/commit/
663c40dbc4ccedf82e38e96391c28695da0e418f. Reference projects should never reference source projects. This is one of the reasons why slngen creates different solution files now.
* Update Microsoft.Extensions.DependencyInjection.Abstractions.csproj
Egor Bogatov [Wed, 28 Jul 2021 05:49:10 +0000 (08:49 +0300)]
Fix comments in asm with JitDiffableDasm=1 (#56416)
* Avoid asserts in DasmDiffable mode
* simplify
* Make formatter happier
* Address feedback
Stephen Toub [Wed, 28 Jul 2021 01:50:15 +0000 (21:50 -0400)]
Catch TcpClient ctor exceptions in FtpWebRequest.CreateConnectionAsync (#56379)
Steve Harter [Wed, 28 Jul 2021 01:35:54 +0000 (20:35 -0500)]
Add interop between serializer and DOMs (#56112)
David Wrighton [Tue, 27 Jul 2021 23:41:19 +0000 (16:41 -0700)]
Fix type loader not recognizing overridden method (#56337)
* Fix type loader not recognizing overridden method
- Result of a bad change when removing support for full stub dispatch in .NET 4.0 timeframe (circa 2008)
- Caused issue when the following set of conditions were all true
- The type implements an interface
- The interface has more virtual methods on it than the number of virtual methods on the base type of the type.
- The base type implements the interface partially (and the partial implementation has a slot number greater than the number of virtual methods on the base type + its base types)
- The type does not re-implement the interface methods implemented by the base type.
- The comment referred to situations where stub dispatch was used to resolve non-virtual calls which is a very long time removed feature and is not applicable to today's codebase.
- Not reachable with versions of C# that shipped before the default interfaces feature, but with that feature became easily reachable. Has been a bug since .NET 4 for handwritten IL.
Fixes #44533
John Salem [Tue, 27 Jul 2021 22:55:00 +0000 (15:55 -0700)]
Prevent Segfault in EventPipe on disable (#56104)
Mateo Torres-Ruiz [Tue, 27 Jul 2021 22:24:16 +0000 (15:24 -0700)]
Update runtimeconfig.json and deps.json paths when these break past the MAX_PATH threshold (#56224)
* Update runtimeconfig paths if we exceed MAX_PATH
* Add test
* PR feedback
* Get apphost for all platforms
* Probe bundle first
Fix return value of realpath
* Check for empty path upfront
Tomáš Matoušek [Tue, 27 Jul 2021 22:16:59 +0000 (15:16 -0700)]
Use native allocator instead of pinning when decompressing embedded PDB (#56336)