It looks like an unnecessary unlock:
// CodeCache is full, disable compilation
// Ought to log this but compile log is only per compile thread
// and we're some non descript Java thread.
We're not actually holding the AdapterHandlerLibrary_lock at this point. I think there's a problem in CompileBroker::handle_full_code_cache as well since it seems to assume it's only called from a compiler thread but create_native_wrapper is executed by whoever calls it.
On Aug 11, 2010, at 10:05 AM, Vladimir Kozlov wrote:
# Internal Error (/tmp/jprt/P1/B/191642.never/source/src/share/vm/runtime/mutex.cpp:965), pid=2677, tid=399
# assert(_owner == Thread::current()) failed: invariant