RFR: 8310874: Runthese30m crashes with klass should be in the placeholders during verification

David Holmes dholmes at openjdk.org
Mon Jul 17 01:45:21 UTC 2023


On Fri, 14 Jul 2023 12:39:50 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:

> For non-parallel capable class loaders, the class is not put in the placeholders table, so a verification at the wrong time will hit this assert.  This trivial change removes the invalid assert.
> Tested with inserting a LoaderConstraintTable::verify while running jck tests.

This is hardly trivial when it comes to reasoning about what is happening here.

Shouldn't we only skip the guarantee when we know we are dealing with a non-parallel-capable loader? Or do we not have that information?

I'm assuming that the expectation is that this class is in fact in the process of being loaded (else I'm unclear how it got included as part of a loader constraint), but we have no way to check that is the case.

BTW the comment at line 456 also needs updating.

Thanks.

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

PR Review: https://git.openjdk.org/jdk/pull/14887#pullrequestreview-1531845491


More information about the hotspot-runtime-dev mailing list