A guarantee failure with CMSClassUnloadingMaxInterval

Hiroshi Yamauchi yamauchi at google.com
Thu May 16 20:27:28 UTC 2013

Hi Jon,

> Do you ever see any other type of crash in the VM when you set
> CMSClassUnloadingMaxInterval?  Or it it only the guarantee()
> that fails?

So far, it's only the guarantee() that fails.

> I noticed that the stack trace goes through the stop-the-world
> mark-sweep-compact collector.  Is that always the case?

There was another case where the class unloading during the remark
phase crashed at the same guarantee() as in:

Stack: [0x2a087000,0x2a108000],  sp=0x2a106a00,  free space=510k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x90657d]  VMError::report_and_die()+0x1ad
V  [libjvm.so+0x393aef]  report_vm_error(char const*, int, char
const*, char const*)+0x4f
V  [libjvm.so+0x3ef9f6]  Dictionary::do_unloading(BoolObjectClosure*)+0x8f6
V  [libjvm.so+0x864faf]  SystemDictionary::do_unloading(BoolObjectClosure*)+0x2f
V  [libjvm.so+0x372ba1]  CMSCollector::refProcessingWork(bool, bool)+0x681
V  [libjvm.so+0x374bd3]  CMSCollector::checkpointRootsFinalWork(bool,
bool, bool)+0x123
V  [libjvm.so+0x3751df]  CMSCollector::checkpointRootsFinal(bool,
bool, bool)+0x1bf
V  [libjvm.so+0x3757c7]
V  [libjvm.so+0x903846]  VM_CMS_Final_Remark::doit()+0x66
V  [libjvm.so+0x910528]  VM_Operation::evaluate()+0x48
V  [libjvm.so+0x90f0e3]  VMThread::loop()+0x233
V  [libjvm.so+0x90f8d8]  VMThread::run()+0x98
V  [libjvm.so+0x741c05]  java_start(Thread*)+0x215
C  [libpthread.so.0+0x609e]  start_thread+0xce

VM_Operation (0x2a9fedb4): CMS_Final_Remark, mode: safepoint,
requested by thread 0x316f6400

But I haven't been able to reproduce this case so far.


More information about the hotspot-gc-dev mailing list