7011859: java/util/concurrent/Semaphore/RacingReleases.java failing
Martin Buchholz
martinrb at google.com
Thu Oct 10 17:15:44 UTC 2013
I recall trying to grok this code in AQS when it first went in - it has
some of the most difficult code in java.util.concurrent. It is not
entirely surprising there might be a race left that we have just fixed, but
I would be happier if we had a clearer understanding ("proof" of
correctness) and clearer repro recipe. I'm glad the work we did on
RacingFoo tests paid off in finding bugs. Does David Simms recommend any
changes to RacingReleases (he's done the most to repro/instrument this
test)?
On Wed, Oct 9, 2013 at 4:55 AM, Alan Bateman <Alan.Bateman at oracle.com>wrote:
>
> This test has been failing (very intermittently) for some time. It was
> assumed to be a HotSpot issue on SPARC but more recently it has been
> duplicated on Linux x64 too. David Simms has notes in the bug [1] from this
> instrumentation and analysis, and Doug has pushed a fix to his CVS that
> fixes the issue (although they may still be an underlying issue that still
> needs to be hunted down).
>
> Doug's fix updates AQS and AQLS to re-read the head and avoid the race. We
> need to bring this into jdk8/tl, the webrev with the patch is here:
>
> http://cr.openjdk.java.net/~**alanb/7011859/webrev/<http://cr.openjdk.java.net/~alanb/7011859/webrev/>
>
> -Alan
>
> [1] https://bugs.openjdk.java.net/**browse/JDK-7011859<https://bugs.openjdk.java.net/browse/JDK-7011859>
>
More information about the core-libs-dev
mailing list