Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2174820 | 6u14 | Vladimir Kozlov | P3 | Resolved | Fixed | b01 |
JDK-2172246 | 6u5p | Vladimir Kozlov | P3 | Resolved | Fixed | b01 |
I hit this assert when running my EA VM with CTW
# Internal Error (src/share/vm/utilities/growableArray.hpp:173), pid=8075, tid=2
# Error: assert(0 <= i && i < _len,"illegal index")
CodeCache is full (without EA it is full few methods further) as result
the index to growable array is -2:
address methodOopDesc::make_adapters(methodHandle mh, TRAPS) {
...
AdapterHandlerEntry* adapter = AdapterHandlerLibrary::get_adapter(mh);
if (adapter == NULL ) {
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
}
class AdapterHandlerLibrary: public AllStatic {
static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers
...
static AdapterHandlerEntry* get_entry( int index ) { return _handlers->at(index); }
static AdapterHandlerEntry* get_adapter(methodHandle method) { return get_entry(get_create_adapter_index(method)); }
int AdapterHandlerLibrary::get_create_adapter_index(methodHandle method) {
...
B = BufferBlob::create(AdapterHandlerEntry::name, &buffer);
if (B == NULL) return -2; // Out of CodeCache space
# Internal Error (src/share/vm/utilities/growableArray.hpp:173), pid=8075, tid=2
# Error: assert(0 <= i && i < _len,"illegal index")
CodeCache is full (without EA it is full few methods further) as result
the index to growable array is -2:
address methodOopDesc::make_adapters(methodHandle mh, TRAPS) {
...
AdapterHandlerEntry* adapter = AdapterHandlerLibrary::get_adapter(mh);
if (adapter == NULL ) {
THROW_0(vmSymbols::java_lang_OutOfMemoryError());
}
class AdapterHandlerLibrary: public AllStatic {
static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers
...
static AdapterHandlerEntry* get_entry( int index ) { return _handlers->at(index); }
static AdapterHandlerEntry* get_adapter(methodHandle method) { return get_entry(get_create_adapter_index(method)); }
int AdapterHandlerLibrary::get_create_adapter_index(methodHandle method) {
...
B = BufferBlob::create(AdapterHandlerEntry::name, &buffer);
if (B == NULL) return -2; // Out of CodeCache space
- backported by
-
JDK-2172246 Assert in methodOopDesc::make_adapters().
-
- Resolved
-
-
JDK-2174820 Assert in methodOopDesc::make_adapters().
-
- Resolved
-