JDK-6272980 : hotspot crashes(SIGSEGV) when many local variables are used in one java program (see CR 6227033)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: x86
  • Submitted: 2005-05-19
  • Updated: 2011-09-15
  • Resolved: 2005-07-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6 b44Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
The regression test for CR 6227033 fails (segfaults) on Solaris 10 x86, JDK6.0b36. The following options to JVM has been used: java -server -Xcomp.
To reproduce compile and run the attached test.
###@###.### 2005-05-19 11:47:08 GMT

Comments
SUGGESTED FIX http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2005/20050713134529.azeem.6272980/workspace/webrevs/webrev-2005.07.13/index.html http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2005/20050711113318.azeem.6272980/workspace/webrevs/webrev-2005.07.11/index.html ###@###.### 2005-07-18 18:02:43 GMT
18-07-2005

EVALUATION The bug doesn't fail because of too many local variables, but instead because the compiler is attempting to match this large tree and continually calls Label_Root until the stack overflows. I've added a counter that limits the number of times Label_Root is called, by default its at 1100 which is large enough to prevent good code from not matching, but small enough to prevent stack overflows. ###@###.### 2005-07-11 20:41:36 GMT
11-07-2005