PING: [PATCH] 7122142: (ann) Race condition between isAnnotationPresent and getAnnotations

Andrew Hughes gnu.andrew at redhat.com
Thu Nov 13 19:37:00 UTC 2014


----- Original Message -----
> On 12/11/14 16:41, Andrew Hughes wrote:
> > ----- Original Message -----
> >> Webrev: http://cr.openjdk.java.net/~andrew/openjdk6/7122142/webrev.01/
> >> Bug: https://bugs.openjdk.java.net/browse/JDK-7122142
> >>
> >> This is the same patch as is present in IcedTea 1.x HEAD and the
> >> 1.13 release branch. It is mostly a clean backport of the OpenJDK 7
> >> version, with the addition of the need to synchronise
> >> a number of type parameters with the versions in the OpenJDK 7 classes,
> >> so the result will compile successfully (mostly Class -> Class<?>)
> >>
> >> Ok to push?
> 
> caveat: I am posting here as a "reviewer" not a "Reviewer" since I have
> no official status as an OpenJDK project member on anything except the
> AArch64 port.
> 
> This fix did not backport to 6 because of of a separate issue
> 
>   https://bugs.openjdk.java.net/browse/JDK-7122142
> 

That fix is in OpenJDK 6:

http://hg.openjdk.java.net/jdk6/jdk6/hotspot/rev/43d71b444773

> which caused the test case to break. Fixing the other issue enabled the
> test case to complete successfully.
> 
> I am not familiar enough with the patch (or, indeed, the test case) to
> be certain that this is all that is needed to fix the annotation race
> problem. However, given that the patch applies to what is essentially
> the same code as upstream jdk7 and that the upstream reviewers accepted
> it I think it is ok to push.

>From reading the upstream bug for 7122142, I believe we triggered that
latent issue in HotSpot due to the fields in java.lang.Class being
changed.

"The failure is only apparent when we add/remove fields so that the offset
of the Integer.sizeTable field is the same as any of the well-known fields
in Klass."

https://bugs.openjdk.java.net/browse/JDK-7161796

This wasn't seen when the fix was applied to 7 or 8, because the HotSpot
issue was already fixed.

Pushed: http://hg.openjdk.java.net/jdk6/jdk6/jdk/rev/6fdf62509b68

> 
> regards,
> 
> 
> Andrew Dinn
> -----------
> 
> 

-- 
Andrew :)

Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)

PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F  8F91 3B96 A578 248B DC07



More information about the jdk6-dev mailing list