RFR(S): 8175178: Stack traversal during OSR migration asserts with invalid bci or invalid scope desc on x86
markus.gronlund at oracle.com
Fri Feb 17 12:29:33 UTC 2017
Kindly asking for reviews for the following changeset:
vframeStream stack traversal can assert on x86 when trying to decode an interpreter frame that is in the process of being migrated for On-Stack Replacement (OSR). This is because the interpreter frame does not have a valid bcp, it instead has an nmethod in the bcp slot (the OSR nmethod).
# A fatal error has been detected by the Java Runtime Environment:
# Internal Error (distro/s/hotspot/src/share/vm/runtime/vframe.cpp:472), pid=3624, tid=3640
# assert(false) failed: invalid bci or invalid scope desc
There is currently a save operation that uses r13 for saving the OSR nmethod over the VM call into SharedRuntime::OSR_migration_begin(). This has the side-effect of installing the OSR nmethod into the interpreter frame bcp slot.
More information about the hotspot-runtime-dev