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: 6867645
Votes 0
Synopsis java -Xshare:dump failed - read only space too small
Category hotspot:runtime_system
Reported Against
Release Fixed hs16(b08), 6u18(b01) (Bug ID:2181936) , 7(b71) (Bug ID:2182193)
State 11-Closed, Verified, bug
Priority: 2-High
Related Bugs 6870717 , 6888573
Submit Date 01-AUG-2009
Description
Hi-

Several of my JDK7 JPRT build/test jobs failed recently with:

> > Failure reason:  Target solaris_i586-fastdebug-c1-jvm98 FAILED. The
> >   preparation of the built bits failed.  Post install step failed:
> >   rv=2,stdout="Loading classes to share ... done. 
> > Rewriting and unlinking classes ... done. 
> > Calculating hash values for String objects .. done. 
> > Calculating fingerprints ... done. 
> > Removing unshareable information ... done. 
> > Moving pre-ordered read-only objects to shared space at 0xd8000000 ... done. 
> > Moving read-only objects to shared space at 0xd85eb338 ... done. 
> > Moving common symbols to shared space at 0xd85ed2e8 ... done. 
> > Moving remaining symbols to shared space at 0xd86c2728 ... done. 
> > Moving string char arrays to shared space at 0xd86c38d8 ... done. 
> > Moving additional symbols to shared space at 0xd8782d08 ... Java HotSpot(TM)
> >   Client VM warning: 
> > The permanent generation read only space is not large enough to 
> > preload requested classes.  Use -XX:SharedReadOnlySize= to increase 
> > the initial size of the read only space.
> > 
> > ",stderr="" Target solaris_i586-fastdebug-c2-jvm98 FAILED. The preparation of
> >   the built bits failed.  Post install step failed: rv=2,stdout="Loading
> >   classes to share ... done. 
> > Rewriting and unlinking classes ... done. 
> > Calculating hash values for String objects .. done. 
> > Calculating fingerprints ... done. 
> > Removing unshareable information ... done. 
> > Moving pre-ordered read-only objects to shared space at 0xd8000000 ... done. 
> > Moving read-only objects to shared space at 0xd85eb338 ... done. 
> > Moving common symbols to shared space at 0xd85ed2e8 ... done. 
> > Moving remaining symbols to shared space at 0xd86c2728 ... done. 
> > Moving string char arrays to shared space at 0xd86c38d8 ... done. 
> > Moving additional symbols to shared space at 0xd8782d08 ... Java HotSpot(TM)
> >   Client VM warning: 
> > The permanent generation read only space is not large enough to 
> > preload requested classes.  Use -XX:SharedReadOnlySize= to increase 
> > the initial size of the read only space.
> > 
> > ",stderr="" Target solaris_x64-fastdebug-c2-jvm98 FAILED. The preparation of
> >   the built bits failed.  Post install step failed: rv=2,stdout="Loading
> >   classes to share ... done. 
> > Rewriting and unlinking classes ... done. 
> > Calculating hash values for String objects .. done. 
> > Calculating fingerprints ... done. 
> > Removing unshareable information ... done. 
> > Moving pre-ordered read-only objects to shared space at 0xd8000000 ... done. 
> > Moving read-only objects to shared space at 0xd85eb338 ... done. 
> > Moving common symbols to shared space at 0xd85ed2e8 ... done. 
> > Moving remaining symbols to shared space at 0xd86c2728 ... done. 
> > Moving string char arrays to shared space at 0xd86c38d8 ... done. 
> > Moving additional symbols to shared space at 0xd8782d08 ... Java HotSpot(TM)
> >   Client VM warning: 
> > The permanent generation read only space is not large enough to 
> > preload requested classes.  Use -XX:SharedReadOnlySize= to increase 
> > the initial size of the read only space.
> > 
> > ",stderr=""

It appears the fastdebug build has grown enough to blow through some
preallocated size.
Posted Date : 2009-08-01 00:58:07.0
Work Around
jprt rerun -c "..." -excludetests '.*fastdebug-.*-jvm98.*' ...  <JPRT-ID>
The fastdebug build is very close to the perm gen limit.

This fails when using the latest nightly build on solaris-x86:

 /opt/java/jdk1.7.0-b68-2009-08-04/fastdebug/bin/java -XX:SharedReadOnlySize=8100K   -Xshare:dump

This works:

% /opt/java/jdk1.7.0-b68-2009-08-04/fastdebug/bin/java -XX:SharedReadOnlySize=8193K   -Xshare:dump 
VM option 'SharedReadOnlySize=8193K'
Loading classes to share ... done. 
Rewriting and unlinking classes ... done. 
Calculating hash values for String objects .. done. 
Calculating fingerprints ... done. 
Removing unshareable information ... done. 
Moving pre-ordered read-only objects to shared space at 0xd6400000 ... done. 
Moving read-only objects to shared space at 0xd69eb338 ... done. 
Moving common symbols to shared space at 0xd69ed2e8 ... done. 
Moving remaining symbols to shared space at 0xd6ac2728 ... done. 
Moving string char arrays to shared space at 0xd6ac38d8 ... done. 
Moving additional symbols to shared space at 0xd6b82c68 ... done. 
Read-only space ends at 0xd6c5f6c8, 8779464 bytes.
Moving pre-ordered read-write objects to shared space at 0xd6e00000 ... done. 
Moving read-write objects to shared space at 0xd750cd80 ... done. 
Moving String objects to shared space at 0xd754a668 ... done. 
Read-write space ends at 0xd7596d78, 7957880 bytes.
Updating references to shared objects ... done.
Evaluation
Only occurs with fastdebug builds of the JDK, which use more space in the shared archive: over 1M more for "pre-ordered read-only objects" plus fairly small additional amounts for other components.  This affects both product and fastdebug JVMs.  Will increase the default SharedReadOnlySize from 8M to 10M in globals.hpp.

*** (#1 of 1): [ UNSAVED ]   xxxxx@xxxxx  
Posted Date : 2009-08-12 21:33:43.0

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/10d8c0d0d60e
Posted Date : 2009-08-13 02:28:52.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang