On Thu, 10 Apr 2025 16:01:20 GMT, Ioi Lam <ik...@openjdk.org> wrote:

>> Currently we have some restrictions if`-Djava.system.class.loader=` is 
>> specified
>> 
>> - we disable full module graph archiving: 
>> https://github.com/openjdk/jdk/blob/0e223f1456c14efdb423595bee3444d5e26db7c6/src/hotspot/share/cds/cdsConfig.cpp#L286
>> - we disable loading archived classes for platform and system loaders: 
>> https://github.com/openjdk/jdk/blob/0e223f1456c14efdb423595bee3444d5e26db7c6/src/hotspot/share/cds/filemap.cpp#L1874-L1886
>> 
>> I think we should extend this limitation further (in a separate issue)
>> 
>> - At dump time, dump only boot classes (no platform, system or unregistered)
>> - At run time, load only boot classes (no platform, system or unregistered)
>> 
>> I filed [JDK-8354315](https://bugs.openjdk.org/browse/JDK-8354315)
>
> In the current JDK (with or without this patch), in your scenario, I think 
> the name "S" will be printed twice with two different IDs. If a Child class 
> named "C" is loaded by a custom loader, it will refer to one of the IDs. 
> Depending on the order of loading, it might refer to the first or the second 
> ID.
> 
> During dump time, we will try to load this class twice, but both attempts 
> will result in the same class (defined by the user-defined system class 
> loader). When resolving the unregistered class, using either ID will give you 
> the correct super class ...
> 
> Anyway, this seems too fragile. I think we should fix 
> [JDK-8354315](https://bugs.openjdk.org/browse/JDK-8354315) before integrating 
> this patch. Or, maybe we can include the fixes of that bug in this PR as well 
> (and then close that bug as a duplicate of this one). What do you think?

In my scenario I actually meant that <S, AppL> is in the class list while <S, 
SysL> is not but it doesn't matter much, the incorrect one will be loaded any 
way.

Since the new implementation will behave the same as the existing one in this 
aspect I think it is OK to fix JDK-8354315 separately.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24223#discussion_r2042346769

Reply via email to