RFR (S) 8251336: Shenandoah: assert "only get here when SATB active" after JDK-8244997

David Holmes david.holmes at oracle.com
Tue Aug 11 13:35:00 UTC 2020


Hi Coleen,

On 11/08/2020 9:40 pm, Coleen Phillimore wrote:
> Summary: Release OopStorage oops outside a safepoint.
> 
> Tested with tier1-6.
> 
> open webrev at http://cr.openjdk.java.net/~coleenp/2020/8251336.01/webrev
> bug link https://bugs.openjdk.java.net/browse/JDK-8251336
> 
> Thank you to Zhengyu for alerting me about this issue.

Yeah ... I was focusing on the locking aspect and completely overlooked 
the fact that section of code is within the scope of the TBIVM. Not that 
it would have immediately rung any alarm bells.

Do we have usage rules about manipulating OopStorage at a safepoint? If 
some GC's can't cope with it then there should be some detection of that 
in the OopStorage APIs.

   71 static void release_oop_handles(OopHandleList* handles) {
   72   MutexLocker ml(Service_lock, Mutex::_no_safepoint_check_flag);

release_oop_handles  doesn't need to grab the Service_lock as it doesn't 
touch any shared state.

Otherwise fix looks fine.

Thanks,
David

> Coleen


More information about the hotspot-dev mailing list