JDK-7186737 : Unable to allocate bit maps or card tables for parallel gc for the requested heap
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs23,hs25,7u5
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic,solaris_10
  • CPU: generic,sparc
  • Submitted: 2012-07-25
  • Updated: 2017-02-11
  • Resolved: 2013-05-21
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 7 JDK 8 Other
7u40Fixed 8Fixed hs24Resolved
Related Reports
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
bwadmin@sun20-t5140$ java/jdk1.6.0_33/bin/java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b03)
Java HotSpot(TM) Server VM (build 20.8-b03, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
SunOS sun20-t5140 5.11 11.0 sun4v sparc SUNW,T5140

EXTRA RELEVANT SYSTEM CONFIGURATION :
RAM 32G, free RAM less than 26G

A DESCRIPTION OF THE PROBLEM :
Using JDK7u5 on a system with many CPUs and a lot of RAM, the JVM failed to start when there is no -Xmx option specified.

REGRESSION.  Last worked in version 6u31

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run the specified program on a server.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
bwadmin@sun20-t5140$ java/jdk1.6.0_33/bin/java -d64 -classpath ./test.jar TestJava
This is a test

ACTUAL -
bwadmin@sun20-t5140$ java/jdk1.7.0_05/bin/java -d64 -classpath ./test.jar TestJava
Error occurred during initialization of VM
Unable to allocate bit map for parallel garbage collection for the requested heap size.
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.


ERROR MESSAGES/STACK TRACES THAT OCCUR :
As indicate in the actual result.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------

public class TestJava
{
  public static void main(String[] args)
  {
    System.out.println("This is a test");
  }
}

---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
2 possible workaround:
  1. Add -Xmx2m
  2. Add -XX:+UseSerialGC

Comments
The fix is trying to catch some intermittent VM initialization failures and it's infeasible to write a reg test due to different allocation limits on machines.
20-05-2013