-
Enhancement
-
Resolution: Unresolved
-
P4
-
22
In crashes involving the stackoverflow reserved stack access processing we see secondary errors during error reporting:
[error occurred during error reporting (printing native stack (with source info)), id 0xe0000000, Internal Error (/opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S962/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4617b13b-f7b5-4dd3-a7fa-995fb1d128ce/runs/4874e9ea-7ae3-4f8d-9c41-5ddda318700a/workspace/open/src/hotspot/share/code/codeCache.inline.hpp:49)]
This relates to the assertion at the end of this method:
inline CodeBlob* CodeCache::find_blob_and_oopmap(void* pc, int& slot) {
NativePostCallNop* nop = nativePostCallNop_at((address) pc);
CodeBlob* cb;
if (nop != nullptr && nop->displacement() != 0) {
int offset = (nop->displacement() & 0xffffff);
cb = (CodeBlob*) ((address) pc - offset);
slot = ((nop->displacement() >> 24) & 0xff);
assert(cb == CodeCache::find_blob(pc), "must be");
} else {
cb = CodeCache::find_blob(pc);
slot = -1;
}
assert(cb != nullptr, "must be");
return cb;
}
The secondary assertion failure here does not help with debugging so we should suppress it and try to deal with the null value when error reporting.
[error occurred during error reporting (printing native stack (with source info)), id 0xe0000000, Internal Error (/opt/mach5/mesos/work_dir/slaves/cd627e65-f015-4fb1-a1d2-b6c9b8127f98-S962/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/4617b13b-f7b5-4dd3-a7fa-995fb1d128ce/runs/4874e9ea-7ae3-4f8d-9c41-5ddda318700a/workspace/open/src/hotspot/share/code/codeCache.inline.hpp:49)]
This relates to the assertion at the end of this method:
inline CodeBlob* CodeCache::find_blob_and_oopmap(void* pc, int& slot) {
NativePostCallNop* nop = nativePostCallNop_at((address) pc);
CodeBlob* cb;
if (nop != nullptr && nop->displacement() != 0) {
int offset = (nop->displacement() & 0xffffff);
cb = (CodeBlob*) ((address) pc - offset);
slot = ((nop->displacement() >> 24) & 0xff);
assert(cb == CodeCache::find_blob(pc), "must be");
} else {
cb = CodeCache::find_blob(pc);
slot = -1;
}
assert(cb != nullptr, "must be");
return cb;
}
The secondary assertion failure here does not help with debugging so we should suppress it and try to deal with the null value when error reporting.
- duplicates
-
JDK-8311255 VMError::print_native_stack needs to be more robust
- Closed
- relates to
-
JDK-8309209 C2 failed "assert(_stack_guard_state == stack_guard_reserved_disabled) failed: inconsistent state"
- Resolved
-
JDK-8311255 VMError::print_native_stack needs to be more robust
- Closed