I am still seeing the assertion "assert(ZAddress::is_marked(addr)) failed: Should be marked" in current jdk/jdk (but on macOS darwinaarch64). Appeared in test runtime/cds/appcds/loaderConstraints/DynamicLoaderConstraintsTest.java#custom-cl-zgc
# Internal Error (/openjdk/nb/darwinaarch64/jdk-dev/src/hotspot/share/gc/z/zBarrier.cpp:41), pid=84433, tid=42755
# assert(ZAddress::is_marked(addr)) failed: Should be marked
Current thread (0x0000000125efafd0): VMThread "VM Thread" [stack: 0x000000016f3f4000,0x000000016f5f7000] [id=42755]
Stack: [0x000000016f3f4000,0x000000016f5f7000], sp=0x000000016f5f6520, free space=2057k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [libjvm.dylib+0x115135c] VMError::report_and_die(int, char const*, char const*, char*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x5d4
V [libjvm.dylib+0x1151a9c] VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, char*)+0x40
V [libjvm.dylib+0x5a245c] report_vm_error(char const*, int, char const*, char const*, ...)+0x80
V [libjvm.dylib+0x11aa71c] unsigned long ZBarrier::mark<false, true, false, true>(unsigned long)+0x98
V [libjvm.dylib+0x81fac0] oop ZBarrier::barrier<&(ZBarrier::is_good_or_null_fast_path(unsigned long)), &(ZBarrier::load_barrier_on_oop_slow_path(unsigned long))>(oop volatile*, oop)+0xa0
V [libjvm.dylib+0x996eb4] AccessInternal::PostRuntimeDispatch<ZBarrierSet::AccessBarrier<548932ull, ZBarrierSet>, (AccessInternal::BarrierType)2, 548932ull>::oop_access_barrier(void*)+0x94
V [libjvm.dylib+0x84fb2c] InstanceKlass::signers() const+0x34
V [libjvm.dylib+0x1073b0c] SystemDictionaryShared::check_for_exclusion_impl(InstanceKlass*)+0x28c
V [libjvm.dylib+0x1073834] SystemDictionaryShared::check_for_exclusion(InstanceKlass*, DumpTimeClassInfo*)+0x188
V [libjvm.dylib+0x1075b8c] SystemDictionaryShared::check_excluded_classes()+0x250
V [libjvm.dylib+0x668bd0] DynamicArchiveBuilder::doit()+0xd8
V [libjvm.dylib+0x668a64] VM_PopulateDynamicDumpSharedSpace::doit()+0xac
V [libjvm.dylib+0x1157b40] VM_Operation::evaluate()+0x104
V [libjvm.dylib+0x1173880] VMThread::evaluate_operation(VM_Operation*)+0x12c
V [libjvm.dylib+0x1174440] VMThread::inner_execute(VM_Operation*)+0x33c
V [libjvm.dylib+0x1173558] VMThread::loop()+0xb4
V [libjvm.dylib+0x1173340] VMThread::run()+0xc0
V [libjvm.dylib+0x10a5fd0] Thread::call_run()+0x21c
V [libjvm.dylib+0xdaa074] thread_native_entry(Thread*)+0x160
C [libsystem_pthread.dylib+0x7878] _pthread_start+0x140