RFR: 8149743: JVM crash after debugger hotswap with lambdas

Andreas Eriksson andreas.eriksson at oracle.com
Tue Feb 23 09:03:33 UTC 2016



On 2016-02-23 01:09, serguei.spitsyn at oracle.com wrote:
> On 2/22/16 15:44, Daniel D. Daugherty wrote:
>> On 2/22/16 1:28 PM, Coleen Phillimore wrote:
>>>
>>> This fix looks good.   The test looks like it uses some framework I 
>>> don't know, in a directory that I don't usually run tests in.
>>>
>>> We have some redefinition tests in 
>>> hotspot/test/runtime/RedefineTests - can you write one with source 
>>> code there instead?
>>
>> The redefine tests in the runtime directory are in the wrong place.
>>
>> JVM/TI RedefineClasses() is a debugging API and jdk/test/com/sun/jdi
>> is the usual place for JDI tests that exercise RedefineClasses(). If
>> the test is using the Java entry points (JLI/JPLIS), then those tests
>> belong in jdk/test/java/lang/instrument. Of course, if the test needs
>> to use to JDWP entry point for JVM/TI RedefineClasses(), then those
>> tests live in yet another location.
>
> Andreas,
>
> I'm not sure what tests did you run.
> It'd be nice to run both the com/sun/jdi and java/lang/instrument tests
> to make sure there are no regressions with your fix.
>

Hi,

I ran the jdk_jdi group (com/sun/jdi) and the hotspot_runtime group. 
I'll run the java/lang/instrument as well.

- Andreas

>
> Thanks,
> Serguei
>
>
>>
>> Dan
>>
>>
>>>
>>> I linked an old bug to this, can you see if they are the same?
>>>
>>> Thanks,
>>> Coleen
>>>
>>> On 2/18/16 11:11 AM, Andreas Eriksson wrote:
>>>> Hi,
>>>>
>>>> Please review this fix for JDK-8149743: JVM crash after debugger 
>>>> hotswap with lambdas
>>>> https://bugs.openjdk.java.net/browse/JDK-8149743
>>>>
>>>> Webrev: http://cr.openjdk.java.net/~aeriksso/8149743/webrev.00/
>>>>
>>>> When redefining a class to add or delete methods an array that's 
>>>> tracking method ordering is not updated correctly.
>>>> This change swaps the method ordering array between the old class 
>>>> being redefined and the scratch class it is being redefined into at 
>>>> the same point where we swap the methods and constant pool between 
>>>> them.
>>>>
>>>> Regards,
>>>> Andreas
>>>
>>
>



More information about the hotspot-runtime-dev mailing list