Skip to content

RegexMatchTests.StressTestDeepNestingOfLoops / StressTestDeepNestingOfConcat tests stack overflowing #71808

@stephentoub

Description

@stephentoub

After #71234, the outerloop StressTestDeepNestingOfLoops and StressTestDeepNestingOfConcat tests are stack overflowing with RegexOptions.NonBacktracking in recursive calls to GetStartSet, e.g.

Stack overflow.
     at System.Text.RegularExpressions.Symbolic.ISolver`1[[System.UInt64, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Or(UInt64, UInt64)
     at System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[[System.UInt64, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetStartSet(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1<UInt64>)
     at System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[[System.UInt64, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetStartSet(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1<UInt64>)
     at System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[[System.UInt64, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetStartSet(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1<UInt64>)
     at System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[[System.UInt64, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetStartSet(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1<UInt64>)
     at System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[[System.UInt64, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetStartSet(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1<UInt64>)
     at System.Text.RegularExpressions.Symbolic.SymbolicRegexNode`1[[System.UInt64, System.Private.CoreLib, Version=7.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].GetStartSet(System.Text.RegularExpressions.Symbolic.SymbolicRegexBuilder`1<UInt64>)
    ...

cc: @olsaarik

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions