Synchronized queue's dequeueAll(predicate here) seems to be broken when the queue is under high contention from multiple threads