RFR: 8244920: Access violation in frames::interpreter_frame_method

Erik Österlund erik.osterlund at oracle.com
Mon Jun 8 07:14:48 UTC 2020


Hi,

When we unpack interpreter frames due to deoptimization, we find 
ourselves in a situation where the stack space has been allocated,
and the last_Java_frame has been set, but the contents of the frames has 
not yet been populated. Any JFR event firing during this
time will think the stack can be parsed, as the last_Java_frame has been 
set, and then fail doing so, when running into uninitialized
stack frames. After ZGC added an event that sometimes fires in load 
barriers, we suddenly found ourselves in this awkward spot.

I propose to clear the last_Java_frame after the top frame has been 
acquired, and is no longer needed during the unpacking, so that
such events will see that we are in fact in a leaf call and should not 
attempt to sample the stack.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8244920

Webrev:
http://cr.openjdk.java.net/~eosterlund/8244920/webrev.00/

Thanks,
/Erik


More information about the hotspot-runtime-dev mailing list