Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6700107
Votes 0
Synopsis java/lang/Class/forName/TooManyDimensions.java crashes with SIGSEGV in c2 compiler with fastdebug
Category hotspot:runtime_system
Reported Against b03
Release Fixed hs14(b06)
State 10-Fix Delivered, bug
Priority: 3-Medium
Related Bugs 6680418
Submit Date 10-MAY-2008
Description
java/lang/Class/forName/TooManyDimensions.java crash with SIGSEGV

Problem Description    : java/lang/Class/forName/TooManyDimensions.java crashes with SIGSEGV 
                         with 64bit jvm on solaris-amd64 platforms in c2 compiler

Java Release            : hs12
Java Builds             : b03
VM flavors              : server
VM Modes                : -Xmixed |-Xcomp
Java flags              :
Platform(s)             : solaris-amd64
Posted Date : 2008-05-10 03:02:04.0
Work Around
N/A
Evaluation
We could rewrite the recursive array klass allocation, that would be a good improvement and would probably help performance for large multidimensional array allocation.  It has locking for multithreading, so is not a trivial change.

This bug from this report was cause by a stack overflow because during the recursive array class allocation, we call compute_modifier_flags at each level of the recursive allocation, which recurses for each level to get to the bottom element type. The bottom_klass() is available at each level making this recursion unnecessary and increases the risk of stack overflow error, as well as having poor performance.  Fixing this allows this test to run.

As far as I can tell, nothing in the compressed oops code fixed this other than possibly changing the amount of stack used somewhere.
Posted Date : 2008-10-07 18:34:48.0

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/443791f333a2
Posted Date : 2008-10-14 17:29:46.0

6700107: java/lang/Class/forName/TooManyDimensions.java crashes with SIGSEGV in
c2 compiler with fastdebug
Summary: objArrayKlass::compute_modifier_flags was unnecessarily recursive
Reviewed-by: kamg
Posted Date : 2008-10-14 17:42:02.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang