Presently, a VM_Processor that is about to enter native code while the collector is performing the initial rendezvous may "disappear" - the collector will think it is still IN_JAVA and thus not remove it from the collection, while in the meantime the processor will go to IN_NATIVE. The collector will then proceed to wait for the processor to emerge from native code before proceeding further, but the processor might never do that (assuming arbitrarily nasty native code).
This fixed the problem by making the initial rendezvous simultaneously wait for processors to arrive while also checking that they did not go to IN_NATIVE.
This is a work in progress. DaCapo tests seem to be passing, but a proper study of whether or not this fix addresses known JBB issues has not yet been performed.
[1] http://jikesrvm.org/Contributions