Sergey Andreenko [Thu, 5 Aug 2021 19:47:13 +0000 (12:47 -0700)]
Add a forgotten `fgMorphInitBlock` to fix jitstress issue. (#56893)
* reenable the failing tests.
* Fix a jitstress failure on x86.
Elinor Fung [Thu, 5 Aug 2021 19:44:13 +0000 (12:44 -0700)]
Rename interoplibinterface.cpp -> interoplibinterface_comwrappers.cpp (#56921)
David Wrighton [Thu, 5 Aug 2021 19:34:21 +0000 (12:34 -0700)]
Fix CustomAttributeData in the presence of generic attributes (#56879)
* Fix CustomAttributeData in the presence of generic attributes
- Generic attributes need to force the actual exact method to be loaded not just the canonical scenario
- GenericAttribute testing had been disabled due to dotnet/msbuild#6734
- Move GenericAttribute test project to Pri0 as its the only generic custom attribute runtime testing that will occur before .NET 6.0 ships
- Test disabled on Mono as Mono currently doesn't support this feature.
Fixes #56492
Jeff Handley [Thu, 5 Aug 2021 19:10:49 +0000 (15:10 -0400)]
Update the (Get|Set)CompressedStack obsoletions to use SYSLIB0003 (#56874)
* Update the (Get|Set)CompressedStack obsoletions to use SYSLIB0003
* Update test suppression
Tomas Weinfurt [Thu, 5 Aug 2021 18:23:17 +0000 (11:23 -0700)]
fix h/3 ResponseContent with large buffer (#56892)
Johan Lorensson [Thu, 5 Aug 2021 18:19:25 +0000 (20:19 +0200)]
[Mono]: Include IL pdb signature, age and path in EventPipe module events. (#56907)
Vlad Brezae [Thu, 5 Aug 2021 18:07:23 +0000 (21:07 +0300)]
Disable tests on MacCatalyst (#56826)
Due to lack of execute permissions
Jakob Botsch Nielsen [Thu, 5 Aug 2021 17:35:30 +0000 (19:35 +0200)]
Implement DefType.IsUnsafeValueType (#56790)
Co-authored-by: Michal Strehovský <MichalStrehovsky@users.noreply.github.com>
Tomas Weinfurt [Thu, 5 Aug 2021 17:26:00 +0000 (10:26 -0700)]
handle QuicConnectionAbortedException (#56785)
Dan Moseley [Thu, 5 Aug 2021 16:27:25 +0000 (10:27 -0600)]
Update some XML doc comments per feedback (#56886)
* IndentedTextWriter
* StringInfo
* StringSegment
* GHC
* Remove HTML
* feedback
Krzysztof Wicher [Thu, 5 Aug 2021 16:14:46 +0000 (18:14 +0200)]
Respect AppContext.SetData with APP_CONFIG_FILE key (#56748)
* Respect AppContext.SetData with APP_CONFIG_FILE key
* apply feedback (use BaseDirectory and FileCleanupTestBase)
* avoid using GetFullPath with 2 arguments as it's not available everywhere
* trim all directory separators rather than single
* cleanupRootDirectory -> tempDirectory
* fix absolute paths on linux
Buyaa Namnan [Thu, 5 Aug 2021 15:59:52 +0000 (08:59 -0700)]
Fix failling stress test (#56859)
David Cantú [Thu, 5 Aug 2021 15:42:45 +0000 (08:42 -0700)]
Do not prevent Extensions.FileProviders tests from running in browser (#56257)
* Do not prevent Extensions.FileProviders tests from running in CI
* Remove SkipOnPlatform
* Do not throw PNSE for PhysicalFileProvider in browser, fallback to use polling instead
* Use SkipOnPlatform only on tests that use FileSystemWatcher
* Set UsePollingFileWatcher and UseActivePolling for browser to avoid ArgumentNullException in PhysicalFilesWatcher
* Fix Moq CI failures
* Use Assert.Same instead of Assert.Equals
* Disable tests for IChangeToken equality between multiple Watch() calls in Browser
Eirik Tsarpalis [Thu, 5 Aug 2021 15:06:57 +0000 (18:06 +0300)]
Do not overwrite JsonException metadata (#56903)
* Do not overwrite JsonException metadata. Fix #51537.
* remove redundant semicolon
Zoltan Varga [Thu, 5 Aug 2021 13:40:18 +0000 (09:40 -0400)]
[mono] Fix the error handling in a call to interp_create_method_pointer (). (#56883)
Eirik Tsarpalis [Thu, 5 Aug 2021 13:37:55 +0000 (16:37 +0300)]
Eliminate code duplication of OnWriteResume methods of collection converters (#55991)
* remove code duplication in collection converters
* remove code duplication in dictionary converters
Viktor Hofer [Thu, 5 Aug 2021 13:21:32 +0000 (15:21 +0200)]
Build rid specific pkgs under condition and -s390x (#56906)
Build rid specific packages under libraries only when targeting the
primary runtime flavor to avoid duplicate packages being published.
Remove the runtime.native.System.IO.Ports s390x variant as that one
isn't built in official builds and causes the restore of the
meta package runtime.native.System.IO.Ports to fail because of its
missing dependency.
Krzysztof Wicher [Thu, 5 Aug 2021 12:29:55 +0000 (14:29 +0200)]
Add RequiresUnreferencedCode to DefinePInvokeMethod (#56537)
* Add RequiresUnreferencedCode to DefinePInvokeMethod
* adjust message per PR feedback
Mitchell Hwang [Thu, 5 Aug 2021 11:33:47 +0000 (07:33 -0400)]
[libraries][Android] Reenable System.Diagnostics.Debug, System.Net.Http.Json, System.Net.Ping, System.Security.Cryptography.X509Certificates (#56852)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Steve Molloy [Thu, 5 Aug 2021 11:27:14 +0000 (04:27 -0700)]
Disable formatter test on Mono: COM support is disabled on Mono runtime. (#56806)
This particular test is using a COM object, but COM support is
disabled on Mono runtime.
Mitchell Hwang [Thu, 5 Aug 2021 11:24:13 +0000 (07:24 -0400)]
[libraries][Android] Remove System.Threading.Tests activeIssue (#56878)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Kunal Pathak [Thu, 5 Aug 2021 11:20:17 +0000 (04:20 -0700)]
Fix the compilation error (#56889)
Jérôme Laban [Thu, 5 Aug 2021 10:52:55 +0000 (06:52 -0400)]
[wasm][debugger] Ensure debugger is disabled (#56885)
Adeel Mujahid [Thu, 5 Aug 2021 09:09:59 +0000 (12:09 +0300)]
Fix illumos build regressions (#55916)
Co-authored-by: Stephen Toub <stoub@microsoft.com>
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Viktor Hofer [Thu, 5 Aug 2021 09:03:23 +0000 (11:03 +0200)]
Replace all remaining pkgprojs with NuGet Pack task (#56712)
* Runtime specific and doc file packaging fixes
* Replace all remaining pkgprojs with NuGet Pack task
* Avoid NuGet/Home/issues/10368
* Update PackageValidation package to latest
Jan Jahoda [Thu, 5 Aug 2021 08:53:58 +0000 (10:53 +0200)]
Fix lock during SslStream renegotiation request (#56470)
* Change lock and buffer test order
* revert _nestedAuth clearing
* Clear nested lock
* Remove ability to renegotiate again when fail
David Wrighton [Thu, 5 Aug 2021 07:20:54 +0000 (00:20 -0700)]
Make typesystem tests anycpu (#56881)
- Allows running the -test switch with architectures other than the machine local architecture
Fixes #56734
Adam Sitnik [Thu, 5 Aug 2021 05:56:29 +0000 (07:56 +0200)]
Ensure FileStream.Position is correct after a failed|cancelled WriteAsync attempt (#56716)
Eric Erhardt [Thu, 5 Aug 2021 03:40:07 +0000 (22:40 -0500)]
Remove some Linq usages in ComponentModel.Annotations (#56753)
* Remove some Linq usages in ComponentModel.Annotations
Contributes to #56631
* PR feedback
* fixup
Alicia Li [Thu, 5 Aug 2021 03:00:15 +0000 (20:00 -0700)]
Enable WASM AOT microbenchmark run (#55353)
* bring up WASM AOT microbenchmarks run
* bring up WASM AOT microbenchmarks run
* adding diagnostice log for testing
* commend out some jobs while testing to save lab run resource
* commend out some jobs while testing to save lab run resource
* Add WASM AOT in not scheduled run
* Only run selected jobs
* add "ls -l" to print out permission before calling performance-setup.sh
* add "ls -l" to print out permission before calling performance-setup.sh
* Add "--buildTimeout 3600" to benchmarkdotnet to extend default timeout time. Adjust -aotcompilermode format to "--aotcompilermode=wasm".
* Add "--buildTimeout 3600" to benchmarkdotnet to extend default timeout time. Adjust -aotcompilermode format to "--aotcompilermode=wasm".
* Correct runtimeSrcDir value
* Correct --runtimeSrcDir location to $HELIX_CORRELATION_PAYLOAD
* Correct --runtimeSrcDir location to $HELIX_CORRELATION_PAYLOAD
* Remove not used parameters in WASM AOT mode and add temperary diagnostic info
* Remove not used parameters in WASM AOT mode and add temperary diagnostic info
* make \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm to be the root directory of runtime repo source
* Only copy runtime repo source directory to helix payload when it's wasm aot
* Add diagnosic log for testing only
* omite unneeded runtime repo file from helix payload
* omite unneeded runtime repo file from helix payload
* use rsync instead of cp exclusion command since cp doesn't work with sub directory as expected.
* Add temp diagnostic logging, should be removed before PR.
* remove artifacts/obj from helix payload
* remove artifacts/obj from helix payload
* copy back helix job for diagnosis and silent rsync
* For testing only, clone performance repor alicial/hikeMicro-benchmark private branch, which contains copying back helix job folder for diagnosis
* enable rsync verbose for diagnosis
* add --keepfiles for wasm intepreter as well for diagnosis
* Remove temporary diagnostic code
* recover all the jobs in the pipeline
* recover all the jobs in the pipeline
* copy wasm build drop to the location that aot build expects
* using private perf branch to enable binlog for benchmarkdotnet for diagnosis
* comment out none wasm runs temporarily for testing only
* comment out none wasm runs temporarily for testing only
* add "--keepfiles" to keep diagnostic files
* fixed $wasm_dotnet_path/artifacts/BrowserWasm/artifacts path
* instead of copy, move $wasm_dotnet_path/artifacts/BrowserWasm/artifacts/* to save space
* benchmarkdotnet using --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh instead
* benchmarkdotnet using --cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh instead
* add executable permission
* Enable other non run to compare
* Enable other non run to compare
* remove "--cli \$HELIX_CORRELATION_PAYLOAD/dotnet-wasm/dotnet.sh"
* fixes per CR
* copy EMSDK_PATH to expected location in helix payload
* install emsdk
* fix emsdk path
* minor fix
* removed more not used files to reduce helix payload size
* remove more jobs for testing purpose
* Fix the download path
* Add BenchmarkDotNet sources to the payload
* Fix __download__ path
* set BenchmarkDotNetSources to use benchmarkdotnet built from source
* use benchmarkdotnet private branch:alicial/tempwasmaot for BenchmarkDotNetSources
* use benchmarkdonet private branch with BenchmarkDotNetSources option
* Debug prints
* Clone B.NET to different location
Fix rsync exclusion
Add more debug prints
* Move B.NET back, clone upstream B.NET
To avoid:
[INFO] ERROR(S):
[INFO] Option 'BenchmarkDotNetSources' is unknown.
* Use my branch for performance repo
* Revert "set BenchmarkDotNetSources to use benchmarkdotnet built from source"
This reverts commit
bccfadde684922c0440d928224c8e7ec7c220fe9.
To avoid:
[INFO] ERROR(S):
[INFO] Option 'BenchmarkDotNetSources' is unknown.
* Disable one more job I missed in merge
* Switch back to nuget packages for BenchmarkDotNet
* tempararily use pr-alicias-branch to test new fixes
* [mono] Fix invalid memory write
Fixes https://github.com/dotnet/runtime/issues/56526 and probably also
https://github.com/dotnet/runtime/issues/53546
Allocate enough memory when `SIZEOF_REGISTER == 4`, so that code like
defs [ins->dreg + 1] = NULL;
defs [ins->dreg + 2] = NULL;
doesn't write after allocated range.
* [mono] Fix an uninitialized memory access in the ABCREM pass.
Detected by valgrind.
* clean up PR
* add missing param
* fix perf.yml and make wasm interpreter to be consistent with wasm AOT
* comment out more job for fast testing
* remove extra job
* exclude copying __download__ dir instead of delete it.
* add parameters.codeGenType
* fix aot javascriptengine
* correct livelibrariesbuildconfig from release to Release
* install emsdk before copy $source_directory
* add back all the temporarily commented out jobs in perf.yml
* clean up work around code
* minor clean up
* remove performance submodule
* switch back to use performance repo main branch
* add --quiet to git clone
Co-authored-by: Radek Doulik <radekdoulik@gmail.com>
Co-authored-by: Zoltan Varga <vargaz@gmail.com>
Ankit Jain [Thu, 5 Aug 2021 00:52:42 +0000 (20:52 -0400)]
[wasm] System.Data.Tests - add debug info, to help with the test failure (#56838)
`System.Data.Tests.AppDomainsAndFormatInfo.Bug55978` fails sometimes for
wasm:
```
Assert.Equal() Failure
Expected: 2
Actual: 3
Stack trace
at System.Data.Tests.AppDomainsAndFormatInfo.Bug55978()
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
```
To debug the issue, this dumps some state when the test fails.
Issue: https://github.com/dotnet/runtime/issues/47968
Tomas Weinfurt [Thu, 5 Aug 2021 00:26:15 +0000 (17:26 -0700)]
update and enable ReadOutstanding_ReadAborted_Throws test (#56839)
Elinor Fung [Thu, 5 Aug 2021 00:13:35 +0000 (17:13 -0700)]
Remove unnecessary $(llvmParameter) from installer build job (#56858)
Steve Molloy [Wed, 4 Aug 2021 23:43:38 +0000 (16:43 -0700)]
56014 xml writer.create perf regression (#56524)
* Use non-indented XmlWriter to avoid perf hit.
* Add test for issue #46974 which was also fixed by original PR that caused this regression.
Egor Chesakov [Wed, 4 Aug 2021 23:05:52 +0000 (16:05 -0700)]
Enable JIT\SIMD\Vector3Interop_r (#56803)
Fan Yang [Wed, 4 Aug 2021 22:37:34 +0000 (18:37 -0400)]
Disable a failing test and enable a couple fixed tests (#55529)
* Disable a failing test and enabling a couple fixed tests
* Update issue number
* Fix rebase
Tomas Weinfurt [Wed, 4 Aug 2021 22:20:34 +0000 (15:20 -0700)]
enable Alpn_H3_Success test (#56818)
* enable Alpn_H3_Success test
* update
Manish Godse [Wed, 4 Aug 2021 20:15:18 +0000 (13:15 -0700)]
reenable a disabled test (#56841)
Now that a few intermittent issues have been fixed enabling this again.
Eric Erhardt [Wed, 4 Aug 2021 20:06:41 +0000 (15:06 -0500)]
Fix size regression in DependencyInjection (#56843)
With the new 6.0 TFM, we are no longer checking IsDynamicCodeCompiled to fall back to Reflection on Blazor WASM. Thus we are now using IL Ref Emit on WASM.
The issue was the #ifs were no longer correct for the new TFM. I've made the #ifs consistent across DI and DI.Abstractions such that the #ifs are for old TFMs and any new TFM will use the #else block.
Fix #56779
Jan Vorlicek [Wed, 4 Aug 2021 20:00:04 +0000 (22:00 +0200)]
Fix stack overflow reporting from native code (#56774)
* Fix stack overflow reporting from native code
When stack overflow happens in native code, the stack walker is unable
to walk the stack and we end up reporting no call stack at all.
This change fixes it by first unwinding the exception context to the first
managed frame and then letting the stack walker to walk the frames.
* Revert behavior for the Windows x86 case
Tanner Gooding [Wed, 4 Aug 2021 19:28:25 +0000 (12:28 -0700)]
Set the cmake policy for CMP0066 and CMP0067 (#56811)
Jeff Handley [Wed, 4 Aug 2021 18:58:10 +0000 (14:58 -0400)]
Remove old fwlink from Obsolete messages and make message improvements (#56690)
* Remove old fwlink from Obsolete messages and make message improvements
* Thorough review and update of Obsolete messages
* Cleanup
* Make messages about unsupported APIs more consistent
* Update RequiresUnreferencedCodeAttribute messages to be consistent between ref and src
* Cleanup
* Cleanup
* Use 'not supported' instead of 'no longer supported'
* Omit unnecessary error:false from Obsolete attributes. Fix message typo.
* Remove old comment
* PR feedback
David Wrighton [Wed, 4 Aug 2021 18:57:03 +0000 (11:57 -0700)]
Fix explicit layout validator memory alloc problems (#56757)
The ExplicitLayoutValidator currently used an array of bytes one to one with the size of the layout of the class. However, we have some test cases for outrageously large explicit layout structures and classes which cause this approach to OOM in crossgen2.
The fix is to move to a data structure defined in terms of intervals. This is probably a bit slower, but it requires vastly less memory for pathological situations.
Fixes #55164
Fixes #53559
Zoltan Varga [Wed, 4 Aug 2021 18:48:02 +0000 (14:48 -0400)]
[mono] Log a warning instead of crashing when encountering function pointer types in the wasm pinvoke generator. (#56837)
imhameed [Wed, 4 Aug 2021 15:40:46 +0000 (11:40 -0400)]
Minor runtime test cleanup (#56833)
Removes stray debug logging and removes a redundant branch.
See https://github.com/dotnet/runtime/pull/43954#discussion_r682420803 and https://github.com/dotnet/runtime/pull/43954#discussion_r682420941.
Ankit Jain [Wed, 4 Aug 2021 15:30:55 +0000 (11:30 -0400)]
[wasm] Build Wasm.Build.Tests only on the WBT job, on CI (#56769)
* [wasm] Build Wasm.Build.Tests only on the WBT job, on CI
* Update eng/pipelines/runtime.yml
Co-authored-by: Larry Ewing <lewing@microsoft.com>
* Address review feedback
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Vlad Brezae [Wed, 4 Aug 2021 15:29:22 +0000 (18:29 +0300)]
[interp] Retain trace during exception checkpoint (#56825)
When an exception needs to cross a native boundary, it can be caught by the runtime invoke wrapper and this exception will end up as a pending exception. With JIT, the initial managed to native wrapper will check for a pending exception and will use a CEE_MONO_RETHROW opcode in order to preserve the stacktrace. With the interp we do the exception checkpoint outside of the native wrapper, and we need to do it in rethrow fashion (without clearing the original trace).
dotnet-maestro[bot] [Wed, 4 Aug 2021 15:23:51 +0000 (10:23 -0500)]
Update dependencies from https://github.com/mono/linker build
20210803.3 (#56832)
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21402.2 -> To Version 6.0.100-preview.6.21403.3
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Alexander Köplinger [Wed, 4 Aug 2021 14:19:07 +0000 (16:19 +0200)]
Fix build with Xcode 13 / MacOSX12.0.sdk (#56829)
The macOS 12 SDK bundled in Xcode 13 seems to contain a subset of icu headers now which means we're finding utypes.h in `Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.0.sdk/usr/include/unicode` now.
When compiling System.Globalization.Native however we run into this error because ucurr.h isn't included in MacOSX12.0.sdk:
```
In file included from /Users/alexander/dev/runtime/src/libraries/Native/Unix/System.Globalization.Native/pal_casing.c:9:
/Users/alexander/dev/runtime/src/libraries/Native/Unix/System.Globalization.Native/pal_icushim_internal.h:22:10: fatal error: 'unicode/ucurr.h' file not found
#include <unicode/ucurr.h>
^~~~~~~~~~~~~~~~~
1 error generated.
```
To workaround this check for ucurr.h in CMakeLists.txt instead so we continue to find ICU headers from Homebrew.
Aleksey Kliger (λgeek) [Wed, 4 Aug 2021 13:15:26 +0000 (09:15 -0400)]
[hot_reload] Allow benign Param table updates (#56800)
* bump hotreload-utils to one that uses the WatchHotReloadService
necessary for producing nice deltas for code with lambdas
* allow benign param updates
as long as the param name and sequence number stays the same, the edit is allowed.
* [enc] Add test of changes to lambda and enclosing method
Peter Sollich [Wed, 4 Aug 2021 12:47:03 +0000 (14:47 +0200)]
Only decommit parts of regions and the mark array when memory is low. (#56730)
We'll decommit completely free regions if they exceed the budget, but as we'll use the available memory in regions *not* on the free list preferentially, it seems smarter to decommit the tail ends of these regions only when memory is low.
In a simple GCPerfSim Scenario (-tc 10 -tagb 1000 -tlgb 1 on a 10-core box) this made about a 10% difference in run time, the time saved is mainly in the OS - VirtualFree, VirtualAlloc, and KiPageFault.
Bar Arnon [Wed, 4 Aug 2021 12:32:58 +0000 (15:32 +0300)]
Add SslApplicationProtocol.Http3 (#56775)
* Add SslApplicationProtocol.Http3
Fix #1293
* Add XML doc
* Reuse in Http3Connection
* Reuse in tests
* HTTP/3 has no negotiation
* Use SslApplicationProtocol.Http3.ToString() in tests
* Ascending order in ref
Noah Falk [Wed, 4 Aug 2021 11:12:44 +0000 (04:12 -0700)]
Fix MetricsEventSource tests (#56654)
Fixes #55313
The metrics test has to collect different events that
update counters in a specific interval of time. Previously
those intervals were 1 second long but ARM64 appears to
run slowly enough that some of the events didn't complete
until 2 seconds had passed.
I increased the intervals to 5 seconds each. We could go
longer to reduce the risk further, but I am trying not to
make the tests take overly long.
Alexander Nikolaev [Wed, 4 Aug 2021 08:41:26 +0000 (10:41 +0200)]
Enable Http2.SocketSendQueueFull_RequestCanceled_ThrowsOperationCanceled (#56723)
The test should have been already fixed by #56552.
Fixes #44352
Johan Lorensson [Wed, 4 Aug 2021 07:38:35 +0000 (09:38 +0200)]
[Mono]: Add a verbose jit done event into EventPipe MonoProfiler provider. (#56530)
* Add a verbose jit done event into EventPipe MonoProfiler provider.
In order to get full method info in nettrace it is sometimes needed to
include method load verbose info. This can be done using Microsoft-
Windows-DotNETRuntime provider, but when using that it will also setup
a lot of managed diagnostics classes highly affecting startup profiling.
MonoProfiler provider, Microsoft-DotNETRuntimeMonoProfiler already emits
all needed info for advanced low level diagnostics, but currently lacks
verbose method load data when emitting jit done event.
Commit also adds new versions to JitDone as well as ClassLoaded including
generic type info if available as well as dropping use of ClrInstanceId since
it is not used/needed for events that are new.
Tomas Weinfurt [Wed, 4 Aug 2021 05:06:00 +0000 (22:06 -0700)]
make Quic AcceptStreamAsync concurrent safe (#56768)
* make AcceptStreamAsync concurrent safe
* feedback from review
David Fowler [Wed, 4 Aug 2021 04:57:33 +0000 (21:57 -0700)]
Added tests for EnvironmentVariablesConfigurationProvider.ToString() (#56778)
- Check the format in tests
- Updated the ref
Manish Godse [Wed, 4 Aug 2021 02:01:45 +0000 (19:01 -0700)]
disable token info in traces. (#56780)
Though token+offset is useful for certain scenarios, they might not be usable for majority of scenarios. So disabling them by default.
Thays Grazia [Wed, 4 Aug 2021 01:44:23 +0000 (22:44 -0300)]
[debugger] Fix debugger.break behavior (#56788)
* Fix debugger.break behavior.
* Fix line number of other tests that uses Debugger.Break.
Zoltan Varga [Wed, 4 Aug 2021 01:37:34 +0000 (21:37 -0400)]
[mono][wasm] Allow setting env variables with '=' characters in the test runner. (#56802)
Sergey Andreenko [Wed, 4 Aug 2021 00:04:17 +0000 (17:04 -0700)]
Ecma edit for `conv.ovf.<to type>.un`. (#56450)
* Add a conv conformance test.
* Fix Ecma description.
* Fix the test.
* Update docs/design/specs/Ecma-335-Augments.md
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
* Disable VN optimizations on arm64 because of the bug.
* add a new chapter.
* fix space
* Fix format.
* exclude the test on mono
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
Jeff Handley [Tue, 3 Aug 2021 23:28:42 +0000 (19:28 -0400)]
Mark HandleProcessCorruptedStateExceptionsAttribute as obsolete (#56664)
Nikola Milosavljevic [Tue, 3 Aug 2021 23:00:08 +0000 (16:00 -0700)]
Enable SxS install of previews on Mac OS (#56797)
imhameed [Tue, 3 Aug 2021 22:49:26 +0000 (18:49 -0400)]
CoreCLR runtime tests + Mono on the x64 iOS simulator (#43954)
This creates another `runtime-staging` lane, named "Build iOSSimulator x64
Release AllSubsets_Mono_RuntimeTests", that will eventually run the runtime
test suite against Mono's non-LLVM JIT on the iOS simulator on amd64 hosts.
Failing tests are added to the exclusion lists in issues.targets.
The tests aren't set to run yet, because they currently take a very long time
to execute.
`AppleAppBuilder` no longer requires a `MainLibraryFileName`. If omitted, one
must be supplied when the app bundle is launched via an environment variable
named `MONO_APPLE_APP_ENTRY_POINT_LIB_NAME`. The generated apps also accept
another environment variable named `MONO_APPLE_APP_ASSEMBLY_LOAD_PREFIX`, which
is a hack used to allow assembly lookup to proceed in a nested app-relative
subdirectory before falling back to the root of the app bundle. This is
necessary because app bundles contain multiple individual test assemblies, and
these assemblies sometimes have dependencies with names that collide with the
dependencies of other test assemblies inside the bundle.
dotnet-maestro[bot] [Tue, 3 Aug 2021 22:31:28 +0000 (15:31 -0700)]
[main] Update dependencies from mono/linker (#56593)
* Update linker warning suppressions
https://github.com/mono/linker/pull/2145 warns when accessing members
annotated with DynamicallyAccessedMembers using reflection, and
https://github.com/mono/linker/pull/2162 updates the warning origin of
warnings for DynamicallyAccessedMembers on types.
This adds suppressions for the new warnings.
* Add windows-specific suppressions
* Update dependencies from https://github.com/mono/linker build
20210729.2
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21378.1 -> To Version 6.0.100-preview.6.21379.2
* Fix failures and address feedback
- Annotate mono's EnumBuilder and TypeBuilder
- Add (non-unique) readable short names to the warning codes
* Update dependencies from https://github.com/mono/linker build
20210730.2
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21378.1 -> To Version 6.0.100-preview.6.21380.2
* Suppress IL2111
* Update dependencies from https://github.com/mono/linker build
20210802.2
Microsoft.NET.ILLink.Tasks
From Version 6.0.100-preview.6.21378.1 -> To Version 6.0.100-preview.6.21402.2
* Feedback
- Suppress IL2111 in trimming tests
- Remove unnecessary DynamicDependency
- Fix indentation
* Update readable warning names
Co-authored-by: Sven Boemer <sbomer@gmail.com>
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Jasper [Tue, 3 Aug 2021 22:16:26 +0000 (00:16 +0200)]
STJ: Fix deserialization of UInt16 properties (#56793)
Fix #56792
Tomas Weinfurt [Tue, 3 Aug 2021 21:28:29 +0000 (14:28 -0700)]
add RID for Debian 11 (#56789)
Thays Grazia [Tue, 3 Aug 2021 21:00:24 +0000 (18:00 -0300)]
[wasm] [debugger] Skip thread static field (#56749)
* Fix #56249
* Fix line test.
* Fix indentation.
* Addressing PR comments.
* Fix line number changed
Tomáš Rylek [Tue, 3 Aug 2021 20:13:25 +0000 (22:13 +0200)]
Fix timeouts in coreroot_determinism test in GC stress mode (#56770)
I have found two deficiencies in our CoreCLR test infrastructure
related to running Crossgen2 in GC stress mode; this change should
fix both:
1) In the Unix (bash) variant of Execute.Crossgen.targets we weren't
properly unsetting the GC stress-related COMPlus environment
variables.
2) In the particular case of the coreroot_determinism test this
needed fixing in r2rtest that is internally used by the test
implementation (on both Windows and Unix).
Thanks
Tomas
Huo Yaoyuan [Tue, 3 Aug 2021 20:00:20 +0000 (04:00 +0800)]
Use File.OpenHandle in Socket.SendFile directly (#56777)
* Directly open file handle in Windows.
* Directly open file handle on Unix.
* Dispose FileHandle.
* Update scope of using.
Camillo Toselli [Tue, 3 Aug 2021 19:47:34 +0000 (21:47 +0200)]
accept empty realm for digest auth (#56369) (#56455)
* accept empty realm for digest auth (#56369)
* accept empty realm for digest auth (#56369)
* accept empty realm for digest auth (#56369)
* accept empty realm for digest auth (#56369)
Co-authored-by: Luca Bompani <luca.bompani@unibo.it>
Thays Grazia [Tue, 3 Aug 2021 16:56:08 +0000 (13:56 -0300)]
[wasm][debugger] Create test Inherited Properties (#56754)
* Created test case do close 47658.
* Moving test to file that @radical suggested.
Andy Ayers [Tue, 3 Aug 2021 16:30:43 +0000 (09:30 -0700)]
Mark new test as incompatible with GC Mark4781_1GcStressIncompatible (#56739)
This test relies on triggering GC at an exact point.
Closes #56704.
Andy Ayers [Tue, 3 Aug 2021 16:06:47 +0000 (09:06 -0700)]
Ensure MetadataEnumResult is sufficiently updated by MetaDataImport::Enum (#56756)
`MetadataEnumResult` has a fixed inline buffer for returning small results
and a pointer to allow it to return larger ones. The indexer for this
checks the pointer and if non-null assumes that's the current set of
values.
But if a `MetadataEnumResult` is re-used within a loop, values written to it
by `MetaDataImport::Enum` may bleed from one loop iteration to the next
if the iterations first get a large result and then a small one.
One case where this could happen was in libraries PGO tests, where PGO data
encouraged the jit to inline `MemberInfoCache<T>.PopulateProperties(Filter,...)`
into `MemberInfoCache<T>.PopulateProperties(Filter)`.
Note this also is a conseqeunce of skipping zero init locals; without that
the struct would have been zeroed each loop iteration.
Fixes #56655.
Zoltan Varga [Tue, 3 Aug 2021 15:24:52 +0000 (11:24 -0400)]
[mono] Remove gdb xdebug and binary writer support, it hasn't worked in a while. (#56759)
* [mono] Remove gdb xdebug support, it hasn't worked in a while.
* [mono] Remove binary writer code, it haven't been used or worked in a while.
* Remove MONO_DEBUG=gdb option.
Chris Ross [Tue, 3 Aug 2021 14:48:59 +0000 (07:48 -0700)]
Update windows-requirements.md (#56476)
Steve Harter [Tue, 3 Aug 2021 14:17:57 +0000 (09:17 -0500)]
Update doc and generic parameter name for JsonValue.GetValue (#56639)
Thays Grazia [Tue, 3 Aug 2021 13:58:00 +0000 (10:58 -0300)]
[wasm][debugger] Inspect static class (#56740)
* Trying to fix 45104
* Implementing getting property and checking failures.
* Fix android compilation
Jan Vorlicek [Tue, 3 Aug 2021 12:43:14 +0000 (14:43 +0200)]
Fix stack overflow handling issue in GC stress (#56733)
This change fixes a problem when in GC stress mode 3, GC started to run
on the thread that hit stack overflow due to the GCX_PREEMP in
DebuggerRCThread::DoFavor that is called from the
EEPolicy::HandleFatalStackOverflow. It was causing failures in the CI.
The issue is GC stress specific, the GCX_PREEMP would not start running
GC on the current thread in regular cases.
The fix is to inhibit GC stress in the HandleFatalStackOverflow.
Maxim Lipnin [Tue, 3 Aug 2021 09:27:15 +0000 (12:27 +0300)]
Use ReflectionOnly as serialization mode in case dynamic code runtime feature is not supported (#56604)
Viktor Hofer [Tue, 3 Aug 2021 08:46:24 +0000 (10:46 +0200)]
Move Windows Compat pack to NuGet pack task (#56686)
* Move Windows Compat pack to NuGet pack task
This is a straight port from pkgproj to csproj and also enables building
the compat pack together with its dependencies.
As usual, if the compat pack alone should be built (i.e. for inner loop
tests), the `--no-dependencies` flag should be used,
i.e. `dotnet build --no-dependencies` or `dotnet pack --no-build`.
* Fix traversal builds and don't overbuild packages
* Update libraries-packages.proj
Santiago Fernandez Madero [Tue, 3 Aug 2021 06:33:41 +0000 (23:33 -0700)]
Fix build error when building some packages (#56767)
* Fix build error when building some packages
* Actually move declaration to Directory.Build.targets as they should be used in other scenarios
Michal Strehovský [Tue, 3 Aug 2021 05:34:45 +0000 (14:34 +0900)]
Simplify JIT shutdown logic in crossgen2 (#56687)
There was unanswered comment about thread safety in https://github.com/dotnet/runtime/pull/56187/files#r675461236 so I just decided to fix it myself.
While on it, I simplified shutdown to use `AppDomain.ProcessExit`.
I'm not sure `AppDomain.UnhandledException` is needed but the original code had this in a `finally`.
The better fix would be to allow JIT to be initialized right before we start a compilation and shut down after, but that would require no process wide state in the JIT. As it stands now, JIT is once-per-process-global.
Juan Hoyos [Tue, 3 Aug 2021 05:25:32 +0000 (22:25 -0700)]
Fix race in crossdac publishing with PGO (#56762)
Sychev Vadim [Tue, 3 Aug 2021 03:30:14 +0000 (06:30 +0300)]
Add DictionaryKeyPolicy support for EnumConverter [#47765] (#54429)
* Add DictionaryKeyPolicy support for EnumConverter [#47765]
* Moved DictionaryKeyPolicy parsing code to WriteWithQuotes [#47765]
* Refactored the bugfix in accordance to the comments (#47765)
* Made few minor corrections (#47765)
Aaron Robinson [Tue, 3 Aug 2021 01:08:45 +0000 (18:08 -0700)]
Use ComWrappers in some Marshal unit-tests and update platform metadata (#56595)
* Remove the SupportedOSPlatform attribute from the ComWrappers API.
* Test the Marshal.QueryInterface, Marshal.AddRef, and Marshal.Release
using ComWrappers.
Santiago Fernandez Madero [Tue, 3 Aug 2021 00:42:37 +0000 (17:42 -0700)]
Set `DisableImplicitNamespaceImports_Dotnet=true` to workaround sdk issue (#56744)
* Set `DisableImplicitNamespaceImports_Dotnet=true` to workaround sdk issue
* Disable just the imports declaration rather than the functionality
Andrew Au [Mon, 2 Aug 2021 23:39:24 +0000 (16:39 -0700)]
Make sure ServerGCHeapDetails is up to date (#56056)
Mitchell Hwang [Mon, 2 Aug 2021 21:28:50 +0000 (17:28 -0400)]
[libraries] Reenable System.Diagnostics.DiagnosticSorce.Switches.Tests on mobile (#56737)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
Mateo Torres-Ruiz [Mon, 2 Aug 2021 21:14:38 +0000 (14:14 -0700)]
Disable failing arm64 win10 Graphics.FromHdc tests (#56732)
* Disable arm64-win10 tests preventing clean build
* Use ActiveIssue with conditional
Adeel Mujahid [Mon, 2 Aug 2021 20:06:47 +0000 (23:06 +0300)]
Match xplat event source conditions (#56435)
Maoni Stephens [Mon, 2 Aug 2021 18:58:09 +0000 (11:58 -0700)]
counting the LOH pad objects in the free object space (#56665)
David Fowler [Mon, 2 Aug 2021 18:57:24 +0000 (11:57 -0700)]
Dump the environment variable prefix in ToString (#56685)
* Dump the environment variable prefix in ToString
- This allows tools that dump the providers (like GetDebugView) to see a little more data about the configured providers when debugging.
Viktor Hofer [Mon, 2 Aug 2021 18:53:45 +0000 (20:53 +0200)]
Convert AspNetCore transport pkgproj to Pack task (#56674)
* Convert AspNetCore transport pkgproj to Pack task
Converting the Microsoft.AspNetCore.Internal.Transport package to a proj
file which uses the NuGet Pack task.
Also moving some more packaging related targets into packaging.targets.
* Update Microsoft.AspNetCore.Internal.Transport.proj
Viktor Hofer [Mon, 2 Aug 2021 18:36:53 +0000 (20:36 +0200)]
React to Verify* task PackageTesting change (#56694)
* React to Verify* task PackageTesting change
Depends on https://github.com/dotnet/arcade/pull/7692
Removing the dependency on the Packaging assembly in favor of the
PackageTesting assembly which now contains the VerifyClosure and
VerifyTypes tasks that are required for package testing.
Also removing some obsolete properties and files.
Andy Ayers [Mon, 2 Aug 2021 18:20:23 +0000 (11:20 -0700)]
JIT: don't allow negative edge weights (#56651)
Due to rounding errors or inconsistencies we may end up with unexpected
ratios of profile counts. Fix one place where that was leading to a negative
edge weight.
Fixes #56647.
Drew Scoggins [Mon, 2 Aug 2021 17:54:09 +0000 (10:54 -0700)]
Add new msbuild prop for wasm runtime config path (#56650)
Brian Sullivan [Mon, 2 Aug 2021 17:40:25 +0000 (10:40 -0700)]
Fixes 55107 (#56259)
* Fixes 55107
Add support for the very rare case of a constant byref to Compiler::optAssertionPropGlobal_RelOp
Added test case
* Changed casts as suggested by Jakob
Adam Sitnik [Mon, 2 Aug 2021 17:22:16 +0000 (19:22 +0200)]
see if GetArrayDataReference_NullInput_ThrowsNullRef passes on tvOS now, fixes #36885 (#56724)
Manish Godse [Mon, 2 Aug 2021 17:17:47 +0000 (10:17 -0700)]
removing excludes since 47096 is fixed. (#56727)