-
Bug
-
Resolution: Fixed
-
P4
-
24
-
b24
ResolvedJavaMethod.reprofile is a helper method that can only be safely be used in the context of unit tests. It reinitializes the MDO storage so it appears to be new. This can only be safely done if another thread isn't reading or writing the MDO. In the context of unit tests they are single threaded so no one is executing the method. But it's still possible some method has become hot enough that the compile broker enqueues it for compilation. If ciMethodData tries to snapshot the MDO during the reprofile call it can see a corrupted state. The extra_data_lock should be used to protect against this.
- links to
-
Commit(master) openjdk/jdk/c12b386d
-
Review(master) openjdk/jdk/21746