Hitting this seems to depend on a combination of Queue.offer/poll with a return in between.
I have a reproducer, where, if you call the following test() method in a main loop, after about 175 iterations, it throws the NoSuchElementException consistently. (I don't think I can add attachments to these posts, so sorry for the formatting)
public void test()
Queue<Long> q = new LinkedList<Long>();
int num = 0;
long x = q.poll();
You seem to have found a bug in our optimizing compiler. If you disable optimizations (either completely with -Xnoopt or for just that method using the optfile described here: http://e-docs.bea.com/jrockit/geninfo/diagnos/crash.html#wp1010427) you should be able to run without problems.
We will take a look at the problem and fix it in an upcoming version of Jrockit.