Is a LinkedBlockingQueue syncrhonized? If not, you need to synchronize calls to the object so it isn't accessed concurrently.