The assertion may happen when traversal GC is cancelled. Moved assertion to the end of cycle if it is completed without failure. Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/traversal_tq_assert/webrev.00/ Test: tier3_gc_shenandoah fastdebug Thanks, -Zhengyu