On Solaris Sparc, running volano w/SafepointALot, one time I ran into the following (running jvmg1 build 53):
assertion in synchronizer.cpp, 370
assert(v_false, "fast_exit() should have handled this already
The stack trace shows:
ObjectSynchronizer::slow_exit(obj=0xf436ec58, lock=0xf436ec58, _the_thread=0x3429d0)
Runtime1::monitorexit(thread=0x3429d0, obj=0xf436ec58, lock=0xf436ec58)
assertion:
if (lock->displaced_header() == NULL)
the enter was recursive via UseHeavyMonitors so we are done already
note: at the time of examining the core, lock BasicLock::_displaced_header=0xc0e82
- so another thread must have inflated the lock.
assertion in synchronizer.cpp, 370
assert(v_false, "fast_exit() should have handled this already
The stack trace shows:
ObjectSynchronizer::slow_exit(obj=0xf436ec58, lock=0xf436ec58, _the_thread=0x3429d0)
Runtime1::monitorexit(thread=0x3429d0, obj=0xf436ec58, lock=0xf436ec58)
assertion:
if (lock->displaced_header() == NULL)
the enter was recursive via UseHeavyMonitors so we are done already
note: at the time of examining the core, lock BasicLock::_displaced_header=0xc0e82
- so another thread must have inflated the lock.
- duplicates
-
JDK-4448581 Thread tests crashes in runThese with assertion at synchronizer.cpp, 370
-
- Closed
-