[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Re: 8076110: VM crash when class is redefined with Instrumentation.redefineClasses
From: "serguei.spitsyn () oracle ! com" <serguei ! spitsyn () oracle ! com>
Date: 2015-06-04 21:23:19
Message-ID: 5570C1C7.60507 () oracle ! com
[Download RAW message or body]
Added the SVC list as it impacts the Serviceability as well.
Thanks,
Serguei
On 6/4/15 4:56 AM, Andreas Eriksson wrote:
> Hi,
>
> Please review this fix of a crash because of a class redefinition race.
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8076110
> Webrev: http://cr.openjdk.java.net/~aeriksso/8076110/webrev.00/
>
> The crash happens when the redefine occurs while the redefined method
> is still running.
> This is because VM_RedefineClasses::redefine_single_class deletes the
> resolution errors at redefine time, but the running method might still
> need them.
>
> This is fixed by moving the deletion of the cached resolution errors
> to when the {add,purge}_previous_version functions have come to the
> conclusion that no running methods need the old class any more (and
> therefore no one needs the constant pool and its associated resolution
> errors either).
>
> A jtreg regression test that reproduces the problem using
> redefineclasses and objectweb.asm is included in the change.
>
> Thanks,
> Andreas
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic