Description
Ivan Sopov opened SPR-16183 and commented
There is a bug in JDK https://bugs.openjdk.java.net/browse/JDK-7132378 that was fixed before Java8 release, backported to Java7 but not backported to Java6 (As far as I can tell)
If running on affected java version - SettableListenableFuture class is affected. Here are the steps to reproduce:
1.Code - https://github.com/isopov/isopov-jcstress/blob/java6/src/main/java/com/sopovs/moradanen/jcstress/spring/ExplicitListenableSet.java (It is slightly modified test from Openjdk, so it is problably GPL-licensed)
2. Ubuntu 14.04 with openjdk6 installed.
3. Launch test in interpreter - java -Xint -jar target/springtest.jar
Since Spring 5 requires Java8 it is definitely not affected, but maybe it is feasible to add some synchronization workaround for this JDK-issue for 4.3.x branch.
Affects: 4.3.12
Reference URL: https://bugs.openjdk.java.net/browse/JDK-7132378
Issue Links:
- SettableListenableFuture may be both set and canceled successfully [SPR-15202] #19766 SettableListenableFuture may be both set and canceled successfully
- SettableListenableFuture may be successfully set with failureCallback executed and success callback ignored [SPR-15216] #19781 SettableListenableFuture may be successfully set with failureCallback executed and success callback ignored
- End of first-class JDK 6 support [SPR-16185] #20733 End of first-class JDK 6 support