This is the fix for the problem that Zhengyu found. It's another side effect of turning on MARKING during traversal. We need to ensure to not enter the SATB pre-barrier during traversal. http://cr.openjdk.java.net/~rkennke/traversal-no-pre-barrier/webrev.00/ Passes hotspot_gc_shenandoah Good?