Integrated: 8322962: Upcall stub might go undetected when freezing frames
Patricio Chilano Mateo
pchilanomate at openjdk.org
Mon Feb 26 23:31:47 UTC 2024
On Thu, 22 Feb 2024 14:28:18 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:
> Please review this simple fix. There is a missing push_cont_fastpath()/pop_cont_fastpath() around the call to Java in the upcall stub. Because of this, if from that upcall a virtual thread tries to yield, and all the other methods in the stack are compiled, we will incorrectly take the freeze fast path and freeze everything in the stack including the native frames. By forcing the slow path instead we will identify the upcall stub and pin the vthread.
>
> The issue can be easily reproduced by running the modified version of test GetStackTraceALotWhenPinned.java included in this patch. I also tested the fix by running tiers1-3 in mach5.
>
> Thanks,
> Patricio
This pull request has now been integrated.
Changeset: 93feda3d
Author: Patricio Chilano Mateo <pchilanomate at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/93feda3d9a1807422c7f47703358aabd2e8639b8
Stats: 34 lines in 6 files changed: 21 ins; 4 del; 9 mod
8322962: Upcall stub might go undetected when freezing frames
Reviewed-by: jvernee, alanb, mdoerr, fyang, dlong
-------------
PR: https://git.openjdk.org/jdk/pull/17964
More information about the hotspot-dev
mailing list