Kartik Ganesh created LUCENE-10501: -------------------------------------- Summary: StackOverflow when RegExp encounters a very large string Key: LUCENE-10501 URL: https://issues.apache.org/jira/browse/LUCENE-10501 Project: Lucene - Core Issue Type: Bug Components: core/queryparser Affects Versions: 9.1 Reporter: Kartik Ganesh
When RegExp encounters a very large string, it hits a Stack Overflow exception when parsing it. Simple program to repro: {{$ ls}} {{RegExpTest.java lucene-core-9.1.0.jar}} {{$ cat RegExpTest.java}} {{class RegExpTest {}} {{ public static void main(String[] args) {}} {{ StringBuilder strBuilder = new StringBuilder();}} {{ for (int i = 0; i < 50000; i++) {}} {{ strBuilder.append("a");}} {{ }}} {{ try {}} {{ new org.apache.lucene.util.automaton.RegExp(strBuilder.toString());}} {{ } catch (StackOverflowError e) {}} {{ System.out.println("Stack overflow");}} {{ System.exit(-1);}} {{ }}} {{ System.out.println("Success");}} {{ }}} {{}}} {{$ javac -cp './lucene-core-9.1.0.jar:.' RegExpTest.java}} {{$ java -cp './lucene-core-9.1.0.jar:.' RegExpTest}} {{Stack overflow}} {{$ java -Xss1G -cp './lucene-core-9.1.0.jar:.' RegExpTest}} {{Success}} Based on https://issues.apache.org/jira/browse/LUCENE-6156 , this appears to be due to the recursive parsing implementation. -- This message was sent by Atlassian Jira (v8.20.1#820001) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org