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

Patricio Chilano Mateo pchilanomate at openjdk.org
Mon Nov 21 17:54:08 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.

Looks good to me! The issue can also be easily reproduced by running a simplified variation of test events/Exception/exception01/exception01.java plus forcing a GC safepoint in that method: https://github.com/pchilano/jdk/commit/9e61eb0e0d624608d981754d3e8b6f50a6accd96

Thanks,
Patricio

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

Marked as reviewed by pchilanomate (Reviewer).

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


More information about the hotspot-dev mailing list