The gtest for SingleWriterSynchronizer can deadlock:
utilities/test_singleWriterSynchronizer.cpp
* The synchronization test threads are doing their thing while waiting for continue_running to be flipped to 0.
* The gtest launcher thread that kicked them off is in os::sleep, and can perform a safepoint poll. It will never set continue_running to 0 until the safepoint is over.
* The VM thread is synchronizing a safepoint, waiting for the synchronization test threads to yield to the safepoint, but they do not have any safepoint polls in their loops, and will stall the safepoint indefinitely.
utilities/test_singleWriterSynchronizer.cpp
* The synchronization test threads are doing their thing while waiting for continue_running to be flipped to 0.
* The gtest launcher thread that kicked them off is in os::sleep, and can perform a safepoint poll. It will never set continue_running to 0 until the safepoint is over.
* The VM thread is synchronizing a safepoint, waiting for the synchronization test threads to yield to the safepoint, but they do not have any safepoint polls in their loops, and will stall the safepoint indefinitely.
- relates to
-
JDK-8209850 Allow NamedThreads to use GlobalCounter critical sections
-
- Resolved
-