RFR 8081219: hs_err improvement: Add event logging for class redefinition to the hs_err file

Coleen Phillimore coleen.phillimore at oracle.com
Wed Jun 3 14:03:55 UTC 2015

Thank you Serguei for the comment.  I thought of putting the event log 
first but really wanted it to tell which classes were already 
redefined.  So I decided to improve the error message for printing the 
VM_Operation to include the class being redefined.

With the following change, there's a crash during redefinition, the 
hs_err_pid file will have:

VM_Operation (0x00007f49a294a400): RedefineClasses, mode: safepoint, 
requested by thread 0x00007f499
800e800, redefining class RedefineRunningMethods$B

open webrev at http://cr.openjdk.java.net/~coleenp/8081219.02/

Tested manually with a ShouldNotReachHere in various places.


On 6/2/15 6:18 PM, serguei.spitsyn at oracle.com wrote:
> Coleen,
> The fix looks good.
> But I have a question.
> Would it be useful to log the beginning of a redefinition as well so 
> that it is known what class is currently being redefined?
> Thanks,
> Serguei
> On 6/2/15 12:58 PM, Coleen Phillimore wrote:
>> Summary: Use the Events::log function to save redefined classes for 
>> output to the hs_err file.
>> This change adds lines to the hs_err_pid file which names classes 
>> redefined:
>> Classes redefined (2 events):
>> Event: 11.867 Thread 0x00007fd378199800 redefined class 
>> name=RedefineRunningMethods$B, count=1
>> Event: 26.746 Thread 0x00007fd378199800 redefined class 
>> name=RedefineRunningMethods$B, count=2
>> Tested with intentional crash to see hs_err_pid files, also tested 
>> without intentional crashes vm.redefine.testlist.
>> open webrev at http://cr.openjdk.java.net/~coleenp/8081219/
>> bug link https://bugs.openjdk.java.net/browse/JDK-8081219
>> Thanks,
>> Coleen

More information about the serviceability-dev mailing list