java.util.concurrent.locks.Condition.await(timeout, units) hangs forever