~ThreadInVMForHandshake() should call handle_special_runtime_exit_condition()
Lindenmaier, Goetz
goetz.lindenmaier at sap.com
Wed May 15 12:41:55 UTC 2019
Thanks!
Best regards,
Goetz.
> -----Original Message-----
> From: David Holmes <david.holmes at oracle.com>
> Sent: Wednesday, May 15, 2019 2:40 PM
> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; 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 Goetz,
>
> On 15/05/2019 9:45 pm, Lindenmaier, Goetz wrote:
> > Hi David,
> >
> > I it ok with you to push this?
>
> Sure.
>
> Thanks,
> David
>
> > 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