RFR: 8317294: Classloading throws exceptions over already pending exceptions
Coleen Phillimore
coleenp at openjdk.org
Tue Oct 3 13:24:33 UTC 2023
On Fri, 29 Sep 2023 11:23:53 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
> 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
> - [x] Linux AArch64 `tier1 tier2 tier3` fastdebug
This looks fine. I have sort of a preference for the two returns to be after the fthrow so I don't have to look and see what the } below it matches, but if you argue the other way, I don't object.
-------------
Marked as reviewed by coleenp (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/15984#pullrequestreview-1655202770
More information about the hotspot-runtime-dev
mailing list