Skip to content

Generex("(नि|😃|丈)+").random(69,70) causes StackOverflow #52

@vlsi

Description

@vlsi
Generex g = new Generex("(नि|😃|丈)+")
for(int i=0; i<100; i++) {
    System.out.println(g.random(69, 70))
}

Output:

ि丈निनि丈नि丈निनि😃नि丈丈😃😃😃😃नि丈निनिनि😃😃丈नि丈丈丈😃नि丈😃नि丈नि丈😃नि丈😃丈
丈丈丈丈😃丈निनिनि丈丈丈नि丈नि丈丈नि😃😃😃😃😃😃नि😃丈丈😃नि😃丈निनि丈नि😃नि丈नि😃😃丈
丈丈निनि😃नि😃😃😃丈丈नि丈丈丈नि😃😃😃😃😃丈😃丈😃丈😃😃😃丈नि丈丈नि丈丈निनि丈😃😃丈😃
😃निनि丈丈😃नि丈😃丈丈丈丈😃😃निनि丈丈丈😃निनि😃😃丈丈丈निनिनि丈😃😃丈नि😃丈丈丈丈丈😃丈丈नि
丈😃नि丈नि丈丈निनि丈निनि😃😃😃😃नि丈😃丈丈丈丈😃निनि丈नि😃丈丈😃निनि😃निनिनि丈😃नि丈
丈नि😃丈丈नि😃丈丈😃😃丈निनि丈😃丈丈丈😃नि😃नि丈😃😃नि😃😃निनि😃丈नि😃निनि丈😃😃नि
नि😃丈丈😃😃नि丈नि丈丈😃丈निनिनिनिनिनि😃निनिनि丈नि丈निनिनि丈😃丈丈😃😃丈丈😃丈नि丈😃丈
😃😃😃丈丈नि丈नि😃नि丈丈丈निनि😃丈丈😃😃😃😃丈निनिनि😃丈丈😃丈丈निनि丈नि丈😃丈😃नि😃😃

java.lang.StackOverflowError
	at java.base/java.util.TimSort.sort(TimSort.java:220)
	at java.base/java.util.Arrays.sort(Arrays.java:1441)
	at dk.brics.automaton.State.getSortedTransitionArray(State.java:137)
	at dk.brics.automaton.State.getSortedTransitions(State.java:147)
	at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:340)
	at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)
	at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)
	at com.mifmif.common.regex.Generex.prepareRandom(Generex.java:366)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions