[foreign-memaccess+abi] RFR: 8268673: Stack walk across optimized entry frame on fresh native thread fails

Jorn Vernee jvernee at openjdk.java.net
Mon Jun 14 12:20:01 UTC 2021


Hi,

When native code creates a new thread and calls a Panama upcall, and during that upcall a stack walk is triggered, getting the sender frame for the entry frame is not possible, and should not be attempted.

For JNI this case is handled already by indicating the end of the stack frame stream, but for Panama upcalls it is not, and the VM will either hit an assert or crash when trying to find the last Java frame before the entry frame (which does not exist in this case).

This patch adds handling for panama upcalls frames to `frame::is_first_frame`, which is used by the stack walking code to determine when to stop walking.

Thanks,
Jorn

-------------

Commit messages:
 - Fix async stack walks

Changes: https://git.openjdk.java.net/panama-foreign/pull/558/files
 Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=558&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8268673
  Stats: 194 lines in 11 files changed: 193 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/panama-foreign/pull/558.diff
  Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/558/head:pull/558

PR: https://git.openjdk.java.net/panama-foreign/pull/558


More information about the panama-dev mailing list