-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
System.Text.RegularExpressions.Tests JitMinOpts only timeout #10680
Comments
This is also failing on x64 on several OSes in the coreclr repo's corefx test runs when tiering is enabled (equivalent to minopts for this test). Not sure if it's related to the arm64 failure, but it's not clear to me what the problem is on x64. Rough numbers from my machine: corefx repo all regex tests -
just the Match_ExcessPrefix test (times in ms for each regex in test) -
I don't see any numbers close to 60 seconds and yet it's timing out. I noticed that if I add RegexOptions.Compiled, the last regex in the test is taking ~60000 ms to complete with release coreclr and release corefx (and 1000 ms with debug coreclr and debug corefx), but that option is not specified in the test. |
See https://github.com/dotnet/coreclr/issues/18912. It looks like corefx test runs are being triggered from PRs in coreclr, disabling because this would always fail once tiering is enabled.
PR to temporarily disable test: dotnet/corefx#31500 |
I investigated this timeout failure and I believe this is due to the fact that under debug and minopts JIT does not expand I did simple experiment and for optimized code I disabled ONLY expansion of Another experiment showed that setting @dotnet/jit-contrib Is this supposed to be this way? This call to I also attached JitDisasm in case if someone is interested to see what's going on. optimized code dasm.txt |
The JIT wants to leave calls as calls, and not do the intrinsic optimization, during MinOpts. This seems completely reasonable. The test does pass, it's just super slow. That would be expected. Seems like we just need a way to bump the timeout of this test, significantly, under Minopts/debuggable code. |
This is perhaps and example where Tier0 should diverge from minopts? |
See dotnet/coreclr#18912. This test would always fail once tiered compilation is enabled by default in CoreFX test runs in the CoreCLR repo.
Is that an issue even when RegexOptions.Compiled is not specified? The test doesn't specify RegexOptions.Compiled and locally the test was running fairly quickly with debug coreclr and debug corefx. Only when I change the test to use RegexOptions.Compiled it was very slow, any idea why it would be failing in the CI? |
See https://github.com/dotnet/coreclr/issues/18912. It looks like corefx test runs are being triggered from PRs in coreclr, disabling because this would always fail once tiering is enabled.
See dotnet/coreclr#18912. This test would always fail once tiered compilation is enabled by default in CoreFX test runs in the CoreCLR repo.
See dotnet/coreclr#18912. This test would always fail once tiered compilation is enabled by default in CoreFX test runs in the CoreCLR repo.
The test was disabled for the coreclr repo's "CoreFX Tests" job in dotnet/coreclr#19488, once this is fixed please re-enable the test. |
@ViktorHofer fyi. |
FYI, this test has been changed since this issue was opened. |
With engine
linux musl arm64 - https://helixre8s23ayyeko0k025g8.blob.core.windows.net/dotnet-runtime-refs-heads-main-ae9baf50200a4cdebf/System.Text.RegularExpressions.Tests/1/console.28be79eb.log
|
I'd expect this to behave similarly to RegexOptions.Compiled, but with even more expense, as it's also running Roslyn to compile C#. You're seeing this failure only in JitMinOpts, or in general? |
Failed again in: runtime 20210922.59 Failed test:
Error message:
|
In general. I noticed this in a few recent outerloop runs on main, also failing in some PRs. |
Yeah, it looks like running Roslyn on a checked runtime is just too slow. |
Actually, this test is already disabled against both checked and min opts: runtime/src/libraries/System.Text.RegularExpressions/tests/Regex.Match.Tests.cs Lines 1091 to 1094 in 00aa651
But clearly from the output above, it's running on checked. @safern, any known issue here? |
Ah, perhaps Looks like it also failed a few times on arm64-musl release (e.g. https://github.com/dotnet/runtime/runs/3683859860) and windows x64 debug. |
Ops, I missed that RuntimeConfiguration == checked, LibrariesConfiguration == Release. |
In SkipOnCoreClrDiscoverer, we use I have tested locally on macOS, it does not skip this test with RuntimeConfiguration=checked, and commenting |
This was fixed. |
Related: https://github.com/dotnet/coreclr/issues/17754
category:testing
theme:minopts
skill-level:intermediate
cost:medium
The text was updated successfully, but these errors were encountered: