United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6193075 Manual Class Data Sharing not working on Intel Solaris
6193075 : Manual Class Data Sharing not working on Intel Solaris

Details
Type:
Bug
Submit Date:
2004-11-09
Status:
Closed
Updated Date:
2012-10-08
Project Name:
JDK
Resolved Date:
2005-11-17
Component:
hotspot
OS:
solaris_8,solaris_10
Sub-Component:
runtime
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
5.0,5.0u6
Fixed Versions:
6

Related Reports
Backport:
Duplicate:

Sub Tasks

Description
FULL PRODUCT VERSION :
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)


FULL OS VERSION :
SunOS con1 5.8 Generic_108529-29 i86pc i386 i86pc

A DESCRIPTION OF THE PROBLEM :
I am running an application with 3 JVM's. I have manually enabled Class Data Sharing using the command java -Xshare:dump. This seems to work fine.

When I start the first JVM with the command line option -Xshare:on it seems to start fine and indicates "sharing" when I print out -showversion.

Then when I start any subsequent JVM's with -Xshare:on AND the -Xmx5m parameter I receive the following error:

An error has occured while processing the shared archive file.
Unable to reserve shared region.
Error occurred during initialization of VM
Unable to use shared archive.

It seems to work fine if I dont set the maximum heap size.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Try to execute a JVM with class data sharing on, then try it again with class data sharing on, AND trying to set the maximum heap size.

EXPECTED VERSUS ACTUAL BEHAVIOR :
It should still allow CDS.
ERROR MESSAGES/STACK TRACES THAT OCCUR :
An error has occured while processing the shared archive file.
Unable to reserve shared region.
Error occurred during initialization of VM
Unable to use shared archive.


REPRODUCIBILITY :
This bug can be reproduced always.

CUSTOMER SUBMITTED WORKAROUND :
Do not set the maximum heap size. (Which I really need to though).

Cannot make any progress using Java 1.5 until this bug is solved because I have very strict memory requirements which I cant meet without using the -Xmx flag.
###@###.### 2004-11-09 23:47:00 GMT

                                    

Comments
WORK AROUND

In rare cases, class data sharing may be silently disabled with some heap sizes on Solaris Intel.  The workaround is to specify a different maximum heap size using the -Xmx command line option.
                                     
2006-02-08
EVALUATION

Fixing the first 2 problems mentioned in the comments section.  The third will have to wait for a fix to 6204603.
                                     
2005-11-02



Hardware and Software, Engineered to Work Together