RFR: 8198492: java/lang/StackWalker/CallerFromMain.java failed timeout.

Claes Redestad claes.redestad at oracle.com
Sun Feb 25 23:51:23 UTC 2018


Hi,

the JDK-8198418[1] improvements to lambda bootstrapping meant
initialization changed around to allow the possibility of a
bootstrap race, which made it possible to cause a class loading
deadlock when different threads try to initialize classes like
SimpleMethodHandle and SpeciesData at the same time.

Making sure the common ancestor, BoundMethodHandle, is initialized
using the same means before going into the synchronized block in
LambdaForm:createFormsFor seems to be enough to ensure this race
can always be resolved peacefully:

http://cr.openjdk.java.net/~redestad/8198492/jdk.00/

Testing: ~5000 runs of the affected tests.

/Claes

[1] https://bugs.openjdk.java.net/browse/JDK-8198418


More information about the core-libs-dev mailing list