The reason for the crash is that there is not enough space in the code cache and:
AdapterHandlerLibrary::initialize() contains
BufferBlob* buf = buffer_blob(); // the temporary code buffer in CodeCache (line 2420),
which returns NULL. As a result,
CompileBroker::handle_full_code_cache(); in line 2457 is called. Since the default value of UseCodeCacheFlushing is true, NMethodSweeper::handle_full_code_cache(true) is executed.
However, VMThread::_vm_queue is NULL, since void VMThread::create() (which initializes _vm_queue) is called later when starting up the VM.
AdapterHandlerLibrary::initialize() contains
BufferBlob* buf = buffer_blob(); // the temporary code buffer in CodeCache (line 2420),
which returns NULL. As a result,
CompileBroker::handle_full_code_cache(); in line 2457 is called. Since the default value of UseCodeCacheFlushing is true, NMethodSweeper::handle_full_code_cache(true) is executed.
However, VMThread::_vm_queue is NULL, since void VMThread::create() (which initializes _vm_queue) is called later when starting up the VM.
- duplicates
-
JDK-8014972 Crash with specific values for -XX:InitialCodeCacheSize=500K -XX:ReservedCodeCacheSize=500k
-
- Resolved
-