Review Request (S) 8017230: Internal Error (jvmtiRedefineClasses.cpp:1662): guarantee(false) failed: insert_space_at() failed

serguei.spitsyn at serguei.spitsyn at
Thu Sep 12 12:21:43 PDT 2013

On 9/11/13 8:54 PM, David Holmes wrote:
> Hi Dmitry,
> It seems odd that you install the new_method even if there was an 
> exception. What if the new_method is not valid because of the exception ?

Coleen suggested this fragment.
New methods will be deallocated with the scratch class in a case of 
It is handled in the doit_prologue where the scratch classes are added 
to the CL deallocation list.

> Also once you've cleared the exception and returned false, the user 
> has no information as to why this failed. I understand we don't want 
> to hit the guarantee here, but it seems there is a hole in the error 
> flow.

This issue is fixed in a separate bug fix for 8024346 (see another 
review request).
Sorry for the confusion here.

The whole error flow is not perfect but I'm not targetting to make it 
perfect now.
Multiple bugs on the limited Metaspace topic were filed by Stefan: 
8017230, 8024345, 8024346.
My role is to apply/test fixes suggested by Stefan and Coleen in the 
order the issues were discovered.


> David
> On 12/09/2013 7:39 AM, serguei.spitsyn at wrote:
>> Please, review the fix for:
>>    bug:
>>    jbs:
>> Open webrev:
>> Summary:
>>    Handle pending exceptions instead of firing a guarantee() in the
>> JVMTI rewrite_cp_refs_in_method().
>> Testing:
>>    UTE tests - in progress:  vm.quick-pcl.testlist with limited
>> Metaspace memory,
>>                                          nsk.jvmti.testlist,
>> nsk.jdi.testlist,
>>                                          Jtreg java/lang/instrument
>> Thanks,
>> Serguei

More information about the hotspot-dev mailing list