RFR: 8294924: JvmtiExport::post_exception_throw() doesn't deal well with concurrent stack processing

Serguei Spitsyn sspitsyn at openjdk.org
Mon Nov 21 21:50:24 UTC 2022


On Fri, 18 Nov 2022 12:30:19 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:

> There is a stack walk in JvmtiExport::post_exception_throw() that has safepoints in it. This trips up the stack watermark code. This patch adds a RAII object to JvmtiExport::post_exception_throw() that keeps the thread and its stack fully processed throughout the function.
> Testing: tier1-7 of ZGC tests on linux x86_64 debug and manual testing of the test that failed.

Thank you for fixing this!
Looks good.
Added a minor comment.
Thanks,
Serguei

src/hotspot/share/prims/jvmtiExport.cpp line 1969:

> 1967:   Handle exception_handle(thread, exception);
> 1968:   KeepStackGCProcessedMark ksgcpm(thread);
> 1969: 

Nit: It'd be nice to place a small comment about why it is needed.

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

Marked as reviewed by sspitsyn (Reviewer).

PR: https://git.openjdk.org/jdk/pull/11238


More information about the hotspot-dev mailing list