-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix timeouts in coreroot_determinism test in GC stress mode #56770
Conversation
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
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you!
The two failures in |
# By Camillo Toselli (1) and others # Via GitHub * origin/main: add RID for Debian 11 (dotnet#56789) [wasm] [debugger] Skip thread static field (dotnet#56749) Fix timeouts in coreroot_determinism test in GC stress mode (dotnet#56770) Use File.OpenHandle in Socket.SendFile directly (dotnet#56777) accept empty realm for digest auth (dotnet#56369) (dotnet#56455) # Conflicts: # src/mono/wasm/debugger/DebuggerTestSuite/BreakpointTests.cs # src/mono/wasm/debugger/DebuggerTestSuite/GetPropertiesTests.cs
…ger_proxy_attribute * origin/main: (340 commits) add RID for Debian 11 (dotnet#56789) [wasm] [debugger] Skip thread static field (dotnet#56749) Fix timeouts in coreroot_determinism test in GC stress mode (dotnet#56770) Use File.OpenHandle in Socket.SendFile directly (dotnet#56777) accept empty realm for digest auth (dotnet#56369) (dotnet#56455) [wasm][debugger] Create test Inherited Properties (dotnet#56754) Mark new test as incompatible with GC Mark4781_1GcStressIncompatible (dotnet#56739) Ensure MetadataEnumResult is sufficiently updated by MetaDataImport::Enum (dotnet#56756) [mono] Remove gdb xdebug and binary writer support, it hasn't worked in a while. (dotnet#56759) Update windows-requirements.md (dotnet#56476) Update doc and generic parameter name for JsonValue.GetValue (dotnet#56639) [wasm][debugger] Inspect static class (dotnet#56740) Fix stack overflow handling issue in GC stress (dotnet#56733) Use ReflectionOnly as serialization mode in case dynamic code runtime feature is not supported (dotnet#56604) Move Windows Compat pack to NuGet pack task (dotnet#56686) Fix build error when building some packages (dotnet#56767) Simplify JIT shutdown logic in crossgen2 (dotnet#56687) Fix race in crossdac publishing with PGO (dotnet#56762) Add DictionaryKeyPolicy support for EnumConverter [dotnet#47765] (dotnet#54429) Use ComWrappers in some Marshal unit-tests and update platform metadata (dotnet#56595) ...
export COMPlus_GCStress= | ||
export COMPlus_HeapVerify= | ||
export COMPlus_ReadyToRun= | ||
unset COMPlus_GCStress |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am wondering how this could make any difference. Exporting COMPlus_GCStress=''
should still disable GC stress, shouldn't it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, according to JanV setting the environment variable in bash to an empty string doesn't have the expected effect of removing the variable. It probably matters not as you've already refactored the entire logic for manipulating these variables.
I have found two deficiencies in our CoreCLR test infrastructure
related to running Crossgen2 in GC stress mode; this change should
fix both:
In the Unix (bash) variant of Execute.Crossgen.targets we weren't
properly unsetting the GC stress-related COMPlus environment
variables.
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
Fixes: #50704
/cc @dotnet/crossgen-contrib, @dotnet/runtime-infrastructure