RFR (XS): JDK-8014430: JRE crashes instead of stop compilation on full Code Cache. Internal Error (c1_Compiler.cpp:87)

Albert Noll albert.noll at oracle.com
Thu May 16 07:09:41 PDT 2013


Hi,

Vladimir, Christian, thanks for your feedback.
When -Xcomp or -server is used, hotspot starts up
and prints the following warning:

Java HotSpot(TM) Server VM warning: CodeCache is full. Compiler has been 
disabled.
Java HotSpot(TM) Server VM warning: Try increasing the code cache size 
using -XX:ReservedCodeCacheSize=
CodeCache: size=1024Kb used=488Kb max_used=504Kb free=535Kb
  bounds [0xf5fb4000, 0xf60b1000, 0xf60b4000]
  total_blobs=271 nmethods=154 adapters=64
  compilation: disabled (not enough contiguous free space left)


I suppose that is the behavior that we should also get when starting Hotspot
with -client. Sorry, I did not consider that.

Best,
Albert





On 15.05.2013 18:10, Vladimir Kozlov wrote:
> There is an other duplicated bug assigned to Roland (serach jbs). We 
> should wait for him to comment on this.
> I think, we should not exit VM but only disable C1 compilation as we 
> do with C2.
> Albert, could you verify C2 (sever vm) behavior in such situation?
> Also what happens when -Xcomp is used?
>
> Thanks,
> Vladimir
>
> On 5/15/13 2:49 AM, Albert Noll wrote:
>> Hi,
>>
>> thank you for reviewing!
>>
>> Best,
>> Albert
>>
>> jbs: https://jbs.oracle.com/bugs/browse/JDK-8014430
>> webrev: http://cr.openjdk.java.net/~anoll/8014430/webrev.00/ 
>> <http://cr.openjdk.java.net/%7Eanoll/8014430/webrev.00/>
>>
>> Problem: VM failed with the following error message when the 
>> specified code cache
>> specified by -XX:ReservedCodeCacheSize=... is too small to startup 
>> the VM.
>>
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> #  Internal Error (c1_Compiler.cpp:87), pid=25077, tid=3856251760
>> #  guarantee(blob != NULL) failed: must create initial code buffer
>> #
>> # JRE version: Java(TM) SE Runtime Environment (8.0-b89) (build 
>> 1.8.0-ea-b89)
>> # Java VM: Java HotSpot(TM) Client VM (25.0-b31 mixed mode linux-x86 )
>> # Failed to write core dump. Core dumps have been disabled. To enable 
>> core dumping, try "ulimit -c unlimited" before starting Java again
>> #
>> # If you would like to submit a bug report, please visit:
>> #http://bugreport.sun.com/bugreport/crash.jsp
>> #
>>
>>
>> Solution: replace guarantee() with  vm_exit_out_of_memory() to provide a
>> graceful shutdown of the VM if the specified size for the code cache 
>> is too small
>> to startup the VM. The error message is now as follows:
>>
>> anoll at anoll-ThinkPad-T430:/export/anoll/test$ 
>> /export/anoll/jdk_export-32bit/jdk1.8.0/bin/java -client
>> -XX:InitialCodeCacheSize=500k -XX:ReservedCodeCacheSize=1m 
>> MultipleClassLoaderCCFiller
>> #
>> # There is insufficient memory for the Java Runtime Environment to 
>> continue.
>> # Native memory allocation (malloc) failed to allocate 288358 bytes 
>> for Compiler1 temporary CodeBuffer.
>> # Try to increase -XX:ReservedCodeCacheSize=.
>>
>> # An error report file with more information is saved as:
>> # /export/anoll/test/hs_err_pid22080.log
>> #
>> # Compiler replay data is saved as:
>> # /export/anoll/test/replay_pid22080.log
>>



More information about the hotspot-compiler-dev mailing list