`z_verify_safepoints_are_blocked` is used to check the thread state when performing barriers. However during a crash the error printing may call code which causes barriers to be executed. This may lead to recursive re-triggering of this assert if the reporting thread is in a disallowed thread state when printing.
Enhance this check to allow a thread where `VMError::is_error_reported_in_current_thread()` is true to perform the load barrier.
For most cases the barrier code will function when `VMError::is_error_reported_in_current_thread()` is true even if the thread is in a normally disallowed thread state.
Enhance this check to allow a thread where `VMError::is_error_reported_in_current_thread()` is true to perform the load barrier.
For most cases the barrier code will function when `VMError::is_error_reported_in_current_thread()` is true even if the thread is in a normally disallowed thread state.
- relates to
-
JDK-8351607 Test com/sun/jdi/JdbStopInNotificationThreadTest.java failing with missing "Breakpoint hit" for line 70
-
- Open
-
- links to
-
Commit(master) openjdk/jdk/64caf085
-
Review(master) openjdk/jdk/23820