-
Bug
-
Resolution: Fixed
-
P4
-
8, 11, 17
A DESCRIPTION OF THE PROBLEM :
The internal method jdk.internal.reflect.ReflectionFactory.checkInitted() is not thread-safe. The field `initted` which is used to track whether initialization is finished is not `volatile`. It can therefore happen based on the Java Memory Model that a thread does not notice that another one has already performed initialization, or that it reads `initted == true` but does not read the initialized value for the other fields.
The internal method jdk.internal.reflect.ReflectionFactory.checkInitted() is not thread-safe. The field `initted` which is used to track whether initialization is finished is not `volatile`. It can therefore happen based on the Java Memory Model that a thread does not notice that another one has already performed initialization, or that it reads `initted == true` but does not read the initialized value for the other fields.
- relates to
-
JDK-8183178 Review thread safety of java.lang.reflect.TypeVariable methods
- Closed
-
JDK-8261404 Class.getReflectionFactory() is not thread-safe
- Closed