RFR: 8317294: Classloading throws exceptions over already pending exceptions

Aleksey Shipilev shade at openjdk.org
Fri Sep 29 14:07:02 UTC 2023


See the bug for reproducer. I think we are just missing `return` after throwing the previous exception in `ClassFileParser::check_super_interface_access`. So we re-enter the method again with another exception in hand and fail the assert. This path is special, because we are looping, and we really need to exit after the first exception.

It is not easy to add a regression test that pokes into super-interfaces from some JDK internals.

Additional testing:
 - [x] CTW reproducer no longer fails
 - [ ] Linux AArch64 `tier1 tier2 tier3` fastdebug

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

Commit messages:
 - That other place is not needed either
 - Limited fix
 - Fix

Changes: https://git.openjdk.org/jdk/pull/15984/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15984&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8317294
  Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/15984.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15984/head:pull/15984

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


More information about the hotspot-runtime-dev mailing list