On Fri, 5 Sep 2025 14:58:41 GMT, Matias Saavedra Silva <[email protected]> 
wrote:

>> src/hotspot/share/cds/heapShared.cpp line 1299:
>> 
>>> 1297:       Klass* resolved_k = 
>>> SystemDictionary::resolve_or_null(k->name(), CHECK);
>>> 1298:       if (resolved_k->is_array_klass()) {
>>> 1299:         assert(resolved_k == k || 
>>> ((ObjArrayKlass*)resolved_k)->next_refined_array_klass() == k, "classes 
>>> used by archived heap must not be replaced by JVMTI ClassFileLoadHook");
>> 
>> Should this be is_objArray_klass() ? and ObjArrayKlass::cast(resolved_k) 
>> instead?
>
> Yes that would be more correct. However, the check for 
> `next_refined_array_klass()` may not be valid once CDS heap dumping is 
> enabled as there could be more entries into the linked list. The fix here 
> would be to check for
> `assert(resolved_k == k || resolved_k == k->super(), "...")`

Fixed.

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/1452#discussion_r2330293503

Reply via email to