I investigated a crash in ClassLoaderDataGraphKlassIteratorAtomic::next_klass_in_cldg where class is 0. This can happen as _next_klass is changed concurrently, but is not correctly qualified as volatile. The declaration volatile Klass* _next_klass indicates that the Klass object may change, but actually the pointer is changed. I have seen the crash on linux s390x