critical(hangs):ConditionVariable#broadcast returns self if something is waiting for a broadcast
