~ThreadInVMForHandshake() should call handle_special_runtime_exit_condition()

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Wed May 15 11:45:38 UTC 2019


Hi David, 

I it ok with you to push this?  

Best regards,
  Goetz.

> -----Original Message-----
> From: Reingruber, Richard
> Sent: Wednesday, May 15, 2019 11:23 AM
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; Robbin Ehn
> <robbin.ehn at oracle.com>; hotspot-runtime-dev at openjdk.java.net
> Subject: RE: ~ThreadInVMForHandshake() should call
> handle_special_runtime_exit_condition()
> 
> Thanks Goetz!
> 
> -----Original Message-----
> From: Lindenmaier, Goetz
> Sent: Mittwoch, 15. Mai 2019 10:29
> To: Reingruber, Richard <richard.reingruber at sap.com>; Robbin Ehn
> <robbin.ehn at oracle.com>; hotspot-runtime-dev at openjdk.java.net
> Subject: RE: ~ThreadInVMForHandshake() should call
> handle_special_runtime_exit_condition()
> 
> Hi,
> 
> I can sponsor this.
> 
> Best regards,
>   Goetz.
> 
> > -----Original Message-----
> > From: hotspot-runtime-dev <hotspot-runtime-dev-
> > bounces at openjdk.java.net> On Behalf Of Reingruber, Richard
> > Sent: Wednesday, May 15, 2019 10:23 AM
> > To: Robbin Ehn <robbin.ehn at oracle.com>; hotspot-runtime-
> > dev at openjdk.java.net
> > Subject: [CAUTION] RE: ~ThreadInVMForHandshake() should call
> > handle_special_runtime_exit_condition()
> >
> > Hi Robbin,
> >
> > thanks for the review!
> >
> > I'd need sponsoring for the fix as well, please.
> >
> > Thanks, Richard.
> >
> > -----Original Message-----
> > From: Robbin Ehn <robbin.ehn at oracle.com>
> > Sent: Montag, 13. Mai 2019 09:35
> > To: Reingruber, Richard <richard.reingruber at sap.com>; hotspot-runtime-
> > dev at openjdk.java.net
> > Cc: daniel.daugherty at oracle.com
> > Subject: Re: ~ThreadInVMForHandshake() should call
> > handle_special_runtime_exit_condition()
> >
> > Hi Richard,
> >
> > >> Webrev:
> > http://cr.openjdk.java.net/~rrich/webrevs/2019/8223572/webrev.1/
> > >
> > > Okay. Now I grok where the bug is and how your fix handles it.
> > > Thumbs up on the fix itself!
> >
> > Agreed, thanks!
> >
> > /Robbin
> >
> > >
> > > You don't mention how you tested this fix. You also don't say
> > > whether you have a test that reproduces this issue.
> > >
> > > Obviously, we also need to hear from Robbin on this thread.
> > >
> > > Dan
> > >
> > >> Bug:    https://bugs.openjdk.java.net/browse/JDK-8223572
> > >>
> > >> A java thread T can continue executing bytecodes after it was
> suspended
> > using
> > >> the vm operation
> > >> VM_ThreadSuspend. This can happen in
> > HandshakeState::process_self_inner() when
> > >> T becomes safepoint
> > >> safe calling _semaphore.wait_with_safepoint_check(thread).
> > >>
> > >> Fix: poll has_special_runtime_exit_condition() and conditionally call
> > >> handle_special_runtime_exit_condition() as it is done in
> > >> SafepointSynchronize::block(), too.
> > >>
> > >> Thanks, Richard.
> > >>
> > >> PS: see also mail thread
> > >> https://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/2019-
> > May/034144.html
> > >


More information about the hotspot-runtime-dev mailing list