The VM thread and a Java thread are deadlocking on the CodeCache_lock
The VM thread
current thread: t@4
[1] __lwp_sema_wait(0xfd681e78, 0x0, 0x0, 0xff3989c4, 0x0, 0x0), at 0xff317aec
[2] _park(0xfd681dc8, 0xfd681e78, 0x0, 0xfd681e54, 0xfd681e50, 0xfd681e4c), at 0xff36b1e4
[3] _mutex_adaptive_lock(0x394f0, 0x4c00, 0xff38ca04, 0x1, 0x4d58, 0xfffeffff), at 0xff36c768
[4] _cmutex_lock(0x394f0, 0xff, 0x7f480, 0xfdd04688, 0x0, 0x0), at 0xff36c518
=>[5] os::Solaris::mutex_lock(mx = 0x394f0), line 151 in "os_solaris.hpp"
[6] os::Solaris::Event::lock(this = 0x394e8), line 249 in "os_solaris.hpp"
[7] Mutex::wait_for_lock_implementation(this = 0x39490), line 33 in "mutex_solaris.inline.hpp"
[8] Mutex::lock(this = 0x39490), line 45 in "mutex.cpp"
[9] MutexLocker::MutexLocker(this = 0xfd681550, mutex = 0x39490), line 94 in "mutexLocker.hpp"
[10] BufferBlob::free(blob = 0xfa49c5c8), line 218 in "codeBlob.cpp"
[11] ThreadCodeBuffer::~ThreadCodeBuffer(this = 0xd5618), line 41 in "threadCodeBuffer.cpp"
[12] ThreadSafepointState::destroy_code_buffer(this = 0x103148), line 685 in "safepoint.cpp"
[13] CompiledCodeSafepointHandler::release(this = 0x1031a0, state = 0x103148), line 875 in "safepoint.cpp"
[14] ThreadSafepointState::restart(this = 0x103148), line 640 in "safepoint.cpp"
[15] SafepointSynchronize::end(), line 183 in "safepoint.cpp"
[16] VMThread::loop(this = 0xf2210), line 280 in "vmThread.cpp"
[17] VMThread::run(this = 0xf2210), line 165 in "vmThread.cpp"
[18] _start(data = 0xf2210), line 503 in "os_solaris.cpp"
The other thread
current thread: t@23
[1] __lwp_sema_wait(0xf2881e78, 0x0, 0xff38ca04, 0x1, 0x4d58, 0xfffeffff), at 0xff317aec
[2] _park(0xf2881dc8, 0xf2881e78, 0x0, 0x7, 0xff38d798, 0xf3681dc8), at 0xff36b1e4
[3] _swtch(0x5, 0xff38ca04, 0xf2881e58, 0xf2881e54, 0xf2881e50, 0xf2881e4c), at 0xff36aed8
[4] _mutex_adaptive_lock(0x27800, 0x4c00, 0xff38ca04, 0x1, 0x4d58, 0xfffeffff), at 0xff36c768
[5] _cmutex_lock(0x27800, 0xff, 0x78a00, 0xfdd04688, 0x0, 0xf8166c19), at 0xff36c518
=>[6] os::Solaris::mutex_lock(mx = 0x27800), line 151 in "os_solaris.hpp"
[7] os::Solaris::Event::lock(this = 0x277f8), line 249 in "os_solaris.hpp"
[8] Mutex::wait_for_lock_implementation(this = 0x27790), line 33 in "mutex_solaris.inline.hpp"
[9] Mutex::lock_without_safepoint_check(this = 0x27790), line 94 in "mutex.cpp"
[10] SafepointSynchronize::block(thread = 0x15d348), line 288 in "safepoint.cpp"
[11] ThreadStateTransition::transition(thread = 0x15d348, from = _thread_blocked, to = _thread_in_vm), line 96 in "interfaceSupport.hpp"
[12] ThreadStateTransition::trans(this = 0xf287f6ec, from = _thread_blocked, to = _thread_in_vm), line 108 in "interfaceSupport.hpp"
[13] ThreadBlockInVM::~ThreadBlockInVM(this = 0xf287f6ec), line 187 in "interfaceSupport.hpp"
[14] Mutex::wait_for_lock_blocking_implementation(this = 0x39490, thread = 0x15d348), line 41 in "mutex_solaris.inline.hpp"
[15] Mutex::lock(this = 0x39490), line 47 in "mutex.cpp"
[16] MutexLocker::MutexLocker(this = 0xf287f864, mutex = 0x39490), line 94 in "mutexLocker.hpp"
[17] CodeCache::mark_for_deoptimization(dependee = 0xf8166f18), line 333 in "codeCache.cpp"
[18] Universe::flush_dependents_on(dependee = CLASS), line 642 in "universe.cpp"
[19] SystemDictionary::add_to_hierarchy(k = CLASS, __the_thread__ = 0x15d348), line 792 in "systemDictionary.cpp"
[20] SystemDictionary::define_instance_class(k = CLASS, __the_thread__ = 0x15d348), line 649 in "systemDictionary.cpp"
[21] SystemDictionary::load_instance_class(class_name = CLASS, class_loader = CLASS, __the_thread__ = 0x15d348), line 597 in "systemDictionary.cpp"
[22] SystemDictionary::resolve_instance_class_or_null(class_name = CLASS, class_loader = CLASS, protection_domain = CLASS, __the_thread__ = 0x15d348), line 472 in "systemDictionary.cpp"
[23] SystemDictionary::resolve_or_null(class_name = CLASS, class_loader = CLASS, protection_domain = CLASS, __the_thread__ = 0x15d348), line 346 in "systemDictionary.cpp"
[24] SystemDictionary::resolve_or_fail(class_name = CLASS, class_loader = CLASS, protection_domain = CLASS, throw_error = 0x1, __the_thread__ = 0x15d348), line 313 in "systemDictionary.cpp"
[25] ClassFileParser::parse_interfaces(this = 0xf28801f8, cp = CLASS, class_loader = CLASS, protection_domain = CLASS, __the_thread__ = 0x15d348), line 271 in "classFileParser.cpp"
[26] ClassFileParser::parseClassFile(this = 0xf28801f8, name = CLASS, class_loader = CLASS, protection_domain = CLASS, __the_thread__ = 0x15d348), line 933 in "classFileParser.cpp"
[27] ClassLoader::load_classfile(h_name = CLASS, __the_thread__ = 0x15d348), line 359 in "classLoader.cpp"
[28] SystemDictionary::load_instance_class(class_name = CLASS, class_loader = CLASS, __the_thread__ = 0x15d348), line 595 in "systemDictionary.cpp"
[29] SystemDictionary::resolve_instance_class_or_null(class_name = CLASS, class_loader = CLASS, protection_domain = CLASS, __the_thread__ = 0x15d348), line 472 in "systemDictionary.cpp"
[30] SystemDictionary::resolve_or_null(class_name = CLASS, class_loader = CLASS, protection_domain = CLASS, __the_thread__ = 0x15d348), line 346 in "systemDictionary.cpp"
[31] SystemDictionary::resolve_or_fail(class_name = CLASS, class_loader = CLASS, protection_domain = CLASS, throw_error = 0x1, __the_thread__ = 0x15d348), line 313 in "systemDictionary.cpp"
[32] constantPoolOopDesc::klass_at_impl(this_oop = CLASS, which = 0x6, __the_thread__ = 0x15d348), line 48 in "constantPoolOop.cpp"
[33] constantPoolOopDesc::klass_at(this = 0xf8154b08, which = 0x6, __the_thread__ = 0x15d348), line 162 in "constantPoolOop.hpp"
[34] InterpreterRuntime::_new(thread = 0x15d348, pool = 0xf8154b08, index = 0x6), line 103 in "interpreterRuntime.cpp"
[35] 0xfa4277f4(0xf2880924, 0xb7, 0x0, 0xfa41b2a8, 0x4, 0xf2880848), at 0xfa4277f3
[36] 0xfa406c10(0xf288099c, 0x15d348, 0x0, 0xfa4266a8, 0x4, 0xf28808c8), at 0xfa406c0f
[37] 0xfa400518(0xf2880a2c, 0xfe5fdd48, 0xa, 0xf8157dd0, 0x4, 0xf2880940), at 0xfa400517
[38] JavaCalls::call_helper(result = 0xfe5fdd40, m = 0xf2880c38, args = 0xf2880bf8, __the_thread__ = 0x15d348), line 353 in "javaCalls.cpp"
[39] os::os_exception_wrapper(f = 0xfdb710f0 = &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*), value = 0xfe5fdd40, method = 0xf2880c38, args = 0xf2880bf8, thread = 0x15d348), line 1839 in "os_solaris.cpp"
[40] JavaCalls::call(result = 0xfe5fdd40, method = CLASS, args = 0xf2880bf8, __the_thread__ = 0x15d348), line 290 in "javaCalls.cpp"
[41] JavaCalls::call_default_constructor(thread = 0x15d348, method = CLASS, receiver = CLASS, __the_thread__ = 0x15d348), line 171 in "javaCalls.cpp"
[42] JVM_NewInstance(env = 0x15d3e0, cls = 0xf2880e8c), line 1155 in "jvm.cpp"
[43] 0xfa40f0a8(0xf2880e8c, 0xf2880f10, 0x0, 0xfa423890, 0x0, 0x109a0), at 0xfa40f0a7
[44] 0xfa4069b8(0xf2880f14, 0xb6, 0x0, 0xfa4266a8, 0x4, 0xf2880e28), at 0xfa4069b7
[45] 0xfa4069b8(0xf2880fb0, 0xb8, 0x0, 0xfa426ae8, 0x4, 0xf2880ea8), at 0xfa4069b7
[46] 0xfa4069b8(0xf288104c, 0xb7, 0x0, 0xfa426ae8, 0x0, 0xf2880f48), at 0xfa4069b7
[47] 0xfa406c10(0xf28810cc, 0xb7, 0x0, 0xfa4266a8, 0x8, 0xf2880fe0), at 0xfa406c0f
[48] 0xfa406c10(0xf2881154, 0xb7, 0x0, 0xfa4266a8, 0xc, 0xf2881068), at 0xfa406c0f
[49] 0xfa406c10(0xf28811cc, 0x15d348, 0x0, 0xfa4266a8, 0x4, 0xf28810e8), at 0xfa406c0f
[50] 0xfa400518(0xf288125c, 0xfe5fdd48, 0xa, 0xf80e5818, 0x4, 0xf2881170), at 0xfa400517
[51] JavaCalls::call_helper(result = 0xfe5fdd40, m = 0xf2881468, args = 0xf2881428, __the_thread__ = 0x15d348), line 353 in "javaCalls.cpp"
[52] os::os_exception_wrapper(f = 0xfdb710f0 = &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*), value = 0xfe5fdd40, method = 0xf2881468, args = 0xf2881428, thread = 0x15d348), line 1839 in "os_solaris.cpp"
[53] JavaCalls::call(result = 0xfe5fdd40, method = CLASS, args = 0xf2881428, __the_thread__ = 0x15d348), line 290 in "javaCalls.cpp"
[54] JavaCalls::call_default_constructor(thread = 0x15d348, method = CLASS, receiver = CLASS, __the_thread__ = 0x15d348), line 171 in "javaCalls.cpp"
[55] JVM_NewInstance(env = 0x15d3e0, cls = 0xf28816bc), line 1155 in "jvm.cpp"
[56] 0xfa40f0a8(0xf28816bc, 0xf2881740, 0x0, 0xfa423890, 0x0, 0x109a0), at 0xfa40f0a7
[57] 0xfa4069b8(0xf2881744, 0xb6, 0x0, 0xfa4266a8, 0x4, 0xf2881658), at 0xfa4069b7
[58] 0xfa4069b8(0xf28817d4, 0x15d348, 0x0, 0xfa426214, 0x4, 0xf28816d8), at 0xfa4069b7
[59] 0xfa400518(0xf2881864, 0xf2881bc0, 0xa, 0xf80c2c20, 0x4, 0xf2881778), at 0xfa400517
[60] JavaCalls::call_helper(result = 0xf2881bb8, m = 0xf2881a40, args = 0xf2881afc, __the_thread__ = 0x15d348), line 353 in "javaCalls.cpp"
[61] os::os_exception_wrapper(f = 0xfdb710f0 = &JavaCalls::call_helper(JavaValue*,methodHandle*,JavaCallArguments*,Thread*), value = 0xf2881bb8, method = 0xf2881a40, args = 0xf2881afc, thread = 0x15d348), line 1839 in "os_solaris.cpp"
[62] JavaCalls::call(result = 0xf2881bb8, method = CLASS, args = 0xf2881afc, __the_thread__ = 0x15d348), line 290 in "javaCalls.cpp"
[63] JavaCalls::call_virtual(result = 0xf2881bb8, spec_klass = CLASS, name = CLASS, signature = CLASS, args = 0xf2881afc, __the_thread__ = 0x15d348), line 186 in "javaCalls.cpp"
[64] JavaCalls::call_virtual(result = 0xf2881bb8, receiver = CLASS, spec_klass = CLASS, name = CLASS, signature = CLASS, __the_thread__ = 0x15d348), line 192 in "javaCalls.cpp"
[65] thread_entry(thread = 0x15d348, __the_thread__ = 0x15d348), line 1709 in "jvm.cpp"
[66] JavaThread::thread_main_inner(this = 0x15d348), line 782 in "thread.cpp"
[67] JavaThread::run(this = 0x15d348), line 766 in "thread.cpp"
[68] _start(data = 0x15d348), line 503 in "os_solaris.cpp"
jon.masamitsu@Eng 2000-12-01
- duplicates
-
JDK-4434177 RAS: VTest and ATG hang on windowsNTsp5 in merlin_b58
-
- Closed
-