--- old/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp 2018-02-02 01:04:42.977309395 +0100 +++ new/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp 2018-02-02 01:04:42.553314911 +0100 @@ -1832,6 +1832,7 @@ bool ShenandoahForwardedIsAliveClosure::do_object_b(oop obj) { assert(_heap != NULL, "sanity"); + if (oopDesc::is_null(obj)) return true; assert(oopDesc::unsafe_equals(obj, ShenandoahBarrierSet::resolve_oop_static_not_null(obj)) || (!_heap->is_marked_next(obj)), "from-space obj must not be marked"); @@ -1851,6 +1852,7 @@ bool ShenandoahIsAliveClosure::do_object_b(oop obj) { assert(_heap != NULL, "sanity"); + if (oopDesc::is_null(obj)) return true; assert(!oopDesc::is_null(obj), "null"); assert(oopDesc::unsafe_equals(obj, ShenandoahBarrierSet::resolve_oop_static_not_null(obj)), "only query to-space"); return _heap->is_marked_next(obj);