The customer supplied a stack trace (see bug 4951689) that shows
that this occurs in Runtime1::resolve_invoke at the following code:
// It's possible that deoptimization can occur at a call site which hasn't
// been resolved yet, in which case this function will appear to be called
// from the deoptimization stub. If that happens then the top vframeArray
// will have the original call pc so that method resolution can proceed.
CodeBlob* cb = CodeCache::find_blob(caller_pc);
if (cb->is_deoptimization_stub()) {
vframeArray* array = thread->vframe_array_head();
caller_pc = array->original_pc();
cb = CodeCache::find_blob(caller_pc);
}
the final find_blob is the culprit.
###@###.### 2004-12-16 20:18:24 GMT