Skip to content
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.RegexMatchTests.Match_InstanceMethods_DefaultTimeout_Throws failing on CoreCLR checked runs #67886

Closed
jkotas opened this issue Apr 12, 2022 · 6 comments · Fixed by #68657
Assignees
Labels
area-System.Text.RegularExpressions disabled-test The test is disabled in source code against the issue

Comments

@jkotas
Copy link
Member

jkotas commented Apr 12, 2022

/root/helix/work/workitem/e /root/helix/work/workitem/e
  Discovering: System.Text.RegularExpressions.Tests (method display = ClassAndMethod, method display options = None)
  Discovered:  System.Text.RegularExpressions.Tests (found 278 of 308 test cases)
  Starting:    System.Text.RegularExpressions.Tests (parallel test collections = on, max threads = 4)
    System.Text.RegularExpressions.Tests.RegexMatchTests.Match_InstanceMethods_DefaultTimeout_Throws(engine: SourceGenerated) [FAIL]
      Half-way through waiting for remote process.
      Timed out at 4/12/2022 3:37:54 AM after 60000ms waiting for remote process.
      	Process ID: 202
      	Handle: 1968
      	Name: dotnet
      	MainModule: /root/helix/work/correlation/dotnet
      	StartTime: 4/12/2022 3:36:53 AM
      	TotalProcessorTime: 00:01:24.7400000
      
      Stack Trace:
        /_/src/Microsoft.DotNet.RemoteExecutor/src/RemoteInvokeHandle.cs(224,0): at Microsoft.DotNet.RemoteExecutor.RemoteInvokeHandle.Dispose(Boolean disposing)
        /_/src/libraries/System.Text.RegularExpressions/tests/FunctionalTests/Regex.Match.Tests.cs(1061,0): at System.Text.RegularExpressions.Tests.RegexMatchTests.Match_InstanceMethods_DefaultTimeout_Throws(RegexEngine engine)
           at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
           at System.Reflection.RuntimeMethodInfo.InvokeNonEmitUnsafe(Object obj, IntPtr* arguments, Span`1 argsForTemporaryMonoSupport, BindingFlags invokeAttr)
  Finished:    System.Text.RegularExpressions.Tests
=== TEST EXECUTION SUMMARY ===
   System.Text.RegularExpressions.Tests  Total: 15161, Errors: 0, Failed: 1, Skipped: 0, Time: 352.840s
@dotnet-issue-labeler dotnet-issue-labeler bot added area-System.Text.RegularExpressions untriaged New issue has not been triaged by the area owner labels Apr 12, 2022
@ghost
Copy link

ghost commented Apr 12, 2022

Tagging subscribers to this area: @dotnet/area-system-text-regularexpressions
See info in area-owners.md if you want to be subscribed.

Issue Details
/root/helix/work/workitem/e /root/helix/work/workitem/e
  Discovering: System.Text.RegularExpressions.Tests (method display = ClassAndMethod, method display options = None)
  Discovered:  System.Text.RegularExpressions.Tests (found 278 of 308 test cases)
  Starting:    System.Text.RegularExpressions.Tests (parallel test collections = on, max threads = 4)
    System.Text.RegularExpressions.Tests.RegexMatchTests.Match_InstanceMethods_DefaultTimeout_Throws(engine: SourceGenerated) [FAIL]
      Half-way through waiting for remote process.
      Timed out at 4/12/2022 3:37:54 AM after 60000ms waiting for remote process.
      	Process ID: 202
      	Handle: 1968
      	Name: dotnet
      	MainModule: /root/helix/work/correlation/dotnet
      	StartTime: 4/12/2022 3:36:53 AM
      	TotalProcessorTime: 00:01:24.7400000
      
      Stack Trace:
        /_/src/Microsoft.DotNet.RemoteExecutor/src/RemoteInvokeHandle.cs(224,0): at Microsoft.DotNet.RemoteExecutor.RemoteInvokeHandle.Dispose(Boolean disposing)
        /_/src/libraries/System.Text.RegularExpressions/tests/FunctionalTests/Regex.Match.Tests.cs(1061,0): at System.Text.RegularExpressions.Tests.RegexMatchTests.Match_InstanceMethods_DefaultTimeout_Throws(RegexEngine engine)
           at System.RuntimeMethodHandle.InvokeMethod(Object target, Void** arguments, Signature sig, Boolean isConstructor)
           at System.Reflection.RuntimeMethodInfo.InvokeNonEmitUnsafe(Object obj, IntPtr* arguments, Span`1 argsForTemporaryMonoSupport, BindingFlags invokeAttr)
  Finished:    System.Text.RegularExpressions.Tests
=== TEST EXECUTION SUMMARY ===
   System.Text.RegularExpressions.Tests  Total: 15161, Errors: 0, Failed: 1, Skipped: 0, Time: 352.840s
Author: jkotas
Assignees: -
Labels:

area-System.Text.RegularExpressions, untriaged

Milestone: -

@jkotas
Copy link
Member Author

jkotas commented Apr 12, 2022

Failed in #67885, #67884, #67882, ...

@jkotas
Copy link
Member Author

jkotas commented Apr 12, 2022

Test introduced by #67775

cc @stephentoub

@jkotas jkotas added the blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' label Apr 12, 2022
@danmoseley
Copy link
Member

Let's just mark it release only.

@stephentoub
Copy link
Member

#67898 disables it.

@stephentoub stephentoub added disabled-test The test is disabled in source code against the issue and removed blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' labels Apr 12, 2022
@stephentoub stephentoub self-assigned this Apr 20, 2022
@joperezr joperezr removed the untriaged New issue has not been triaged by the area owner label Apr 25, 2022
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Apr 28, 2022
@stephentoub
Copy link
Member

I looked into this a bit, and the code doesn't even get to executing the regex: it's just taking a really long time in the source generator itself, e.g.

[PrestubMethodFrame] (System.Text.RegularExpressions.Generator.RegexGenerator+<>c__DisplayClass19_0.<EmitTryMatchAtCurrentPosition>g__EmitNode|17)
System.Text.RegularExpressions.Generator.RegexGenerator.EmitTryMatchAtCurrentPosition(System.CodeDom.Compiler.IndentedTextWriter, RegexMethod, System.Collections.Generic.Dictionary2<System.String,System.String[]>) 			System.Text.RegularExpressions.Generator.RegexGenerator.EmitRegexDerivedTypeRunnerFactory(System.CodeDom.Compiler.IndentedTextWriter, RegexMethod, System.Collections.Generic.Dictionary2<System.String,System.String[]>)
System.Text.RegularExpressions.Generator.RegexGenerator+<>c.<Initialize>b__4_1(System.Object, System.Threading.CancellationToken)

We use the source generator to process thousands of expressions as part of every CI run, including on checked runtimes. What appears to be special about this one test is it's the only one that runs via RemoteExecutor.Invoke (there's one other, but it's already disabled for all runtime configurations other than release, bugged against #10680).

Given that, I'm just going to disable this test against non-release runtimes as well.

@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label May 2, 2022
@ghost ghost locked as resolved and limited conversation to collaborators Jun 2, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-System.Text.RegularExpressions disabled-test The test is disabled in source code against the issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants