JDK-8078476 : StackOverflowError by recursion invocation in java.util.regex.Pattern
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.util.regex
  • Affected Version: 7u75
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: os_x
  • CPU: x86
  • Submitted: 2015-04-23
  • Updated: 2017-09-15
  • Resolved: 2015-05-11
Related Reports
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
JDK 1.7.0_75

ADDITIONAL OS VERSION INFORMATION :
MAC OS X 10.9 (13A603)

A DESCRIPTION OF THE PROBLEM :
Application crash on startup with jdk 1.7.0_75. And find follows error in logs.
Same application works fine under jdk 1.8.*

java.lang.StackOverflowError
	at java.util.regex.Pattern$Branch.match(Pattern.java:4498)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$LazyLoop.match(Pattern.java:4745)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$GroupTail.match(Pattern.java:4615)
	at java.util.regex.Pattern$BranchConn.match(Pattern.java:4466)
	at java.util.regex.Pattern$Curly.match1(Pattern.java:4185)
	at java.util.regex.Pattern$Curly.match(Pattern.java:4134)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
	at java.util.regex.Pattern$GroupHead.match(Pattern.java:4556)
	at java.util.regex.Pattern$Branch.match(Pattern.java:4502)
 


REPRODUCIBILITY :
This bug can be reproduced always.


Comments
No reproducer. The submitter claims it to be likely a duplicate of JDK-6882582. Thus closing the bug as a duplicate.
11-05-2015

Received following response from the submitter: ----------------------------------------------------------------------------------- On 4/23/2015 1:10 PM, ..... wrote: > Hi ......, > > I am sorry that I can not provide our use case of java.util.regex.Pattern. But in any case their should not occur the stackoverflow error when using regex API. > > Also I have test under the jre 7u80 and It still crash with same exception. > > I think this issue similar with that bug under Linux/Win32 JVM: > http://bugs.java.com/bugdatabase/view_bug.do?bug_id=6882582 --------------------------------------------------------------------------------------
23-04-2015

Sent an email to the submitter requesting more information. ----------------------------------------------------------------------------------- On 4/23/2015 11:45 AM, ...... wrote: > Hi ...., > > Can you provide more information including a simple test case to reproduce this issue? > Further it would be useful to know if you can reproduce this with latest JDK 7 version 7u80. > > Thank You, > ......... ------------------------------------------------------------------------------------------
23-04-2015