[9] RFR(S): 8164091: VM fails during startup with "assert(resolved_method->method_holder()->is_linked()) failed: must be linked"

dean.long at oracle.com dean.long at oracle.com
Tue Aug 16 17:48:58 UTC 2016


Looks good to me too.

dl


On 8/16/16 6:01 AM, Zoltán Majó wrote:
> Hi Tobias,
>
>
> your fix looks good to me. Thank you!
>
> Best regards,
>
>
> Zoltan
>
> On 08/16/2016 02:52 PM, Tobias Hartmann wrote:
>> Hi,
>>
>> please review the following patch:
>> https://bugs.openjdk.java.net/browse/JDK-8164091
>> http://cr.openjdk.java.net/~thartmann/8164091/webrev.00/
>>
>> During startup, we initialize some java.lang.* classes in 
>> Threads::initialize_java_lang_classes(). While trying to link the 
>> method java.lang.Class::forName(), we fail during adapter creation in 
>> Method::make_adapters() because there is not enough space in the code 
>> cache:
>>    AdapterHandlerEntry* adapter = 
>> AdapterHandlerLibrary::get_adapter(mh);
>>    if (adapter == NULL ) {
>>      THROW_MSG_NULL(vmSymbols::java_lang_VirtualMachineError(), "Out 
>> of space in CodeCache for adapters");
>>    }
>>
>> After calling the initializer of java.lang.Throwable, we try to 
>> resolve a virtual method in the interpreter and fail because 
>> java.lang.Class is not linked (we threw the original exception 
>> because linking failed). We should not create exceptions during VM 
>> initialization but bail out via vm_exit_during_initialization().
>>
>> Tested with regression test, JPRT and RBT (running).
>>
>> Thanks,
>> Tobias
>



More information about the hotspot-dev mailing list