RFR: 8365937: post_method_exit might incorrectly set was_popped_by_exception and value in the middle of stack unwinding [v3]

Leonid Mesnik lmesnik at openjdk.org
Thu Aug 28 16:41:56 UTC 2025


> The void `JvmtiExport::post_method_exit(JavaThread* thread, Method* method, frame current_frame) `calculates
>   `bool exception_exit = state->is_exception_detected() && !state->is_exception_caught();`
> to find if method exit normally or by exception.
> However, JvmtiExport::post_method_exit( method is not called at all in the case of exception. See
> `void JvmtiExport::notice_unwind_due_to_exception(JavaThread *thread, Method* method, address location, oop exception, bool in_handler_frame)`
> where post_method_exit_inner is called directly.
> 
> The `exception_exit` is true when exception is processed and the current method is called in the middle of stack unwinding. 
> 
> 
> The fix was a part of
> https://github.com/openjdk/jdk/pull/26713
> for
> https://bugs.openjdk.org/browse/JDK-8365192

Leonid Mesnik has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 27 additional commits since the last revision:

 - Apply suggestions from code review
   
   Co-authored-by: David Holmes <62092539+dholmes-ora at users.noreply.github.com>
 - comment fixed
 - Merge branch 'master' of https://github.com/openjdk/jdk into 8365937
 - assertion added.
 - more comments in the test
 - fixed ident
 - bugid fixed:
 - updated to fix 8365937
 - fixed comment.
 - test renamed.
 - ... and 17 more: https://git.openjdk.org/jdk/compare/dad9fd8a...4e05639a

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/26886/files
  - new: https://git.openjdk.org/jdk/pull/26886/files/d9319d90..4e05639a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26886&range=02
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26886&range=01-02

  Stats: 6761 lines in 321 files changed: 3177 ins; 2467 del; 1117 mod
  Patch: https://git.openjdk.org/jdk/pull/26886.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/26886/head:pull/26886

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


More information about the hotspot-dev mailing list