changeset 46800:498d81a49f6b

8186035: Klass::decode_klass_not_null() asserted on bad oop Reviewed-by: tschatzl, sjohanss
author stefank
date Fri, 11 Aug 2017 23:29:14 +0200
parents f504c6f2eea5
children 4a0c196dd796
files hotspot/src/share/vm/gc/g1/g1ConcurrentMark.inline.hpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.inline.hpp	Wed Aug 09 17:27:42 2017 +0200
+++ b/hotspot/src/share/vm/gc/g1/g1ConcurrentMark.inline.hpp	Fri Aug 11 23:29:14 2017 +0200
@@ -47,7 +47,7 @@
   }
 
   // Some callers may have stale objects to mark above nTAMS after humongous reclaim.
-  assert(obj->is_oop(true /* ignore mark word */), "Address " PTR_FORMAT " to mark is not an oop", p2i(obj));
+  // Can't assert that this is a valid object at this point, since it might be in the process of being copied by another thread.
   assert(!hr->is_continues_humongous(), "Should not try to mark object " PTR_FORMAT " in Humongous continues region %u above nTAMS " PTR_FORMAT, p2i(obj), hr->hrm_index(), p2i(hr->next_top_at_mark_start()));
 
   HeapWord* const obj_addr = (HeapWord*)obj;