Relates :
|
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.