RFR(S): 8175178: Stack traversal during OSR migration asserts with invalid bci or invalid scope desc on x86
Markus Gronlund
markus.gronlund at oracle.com
Fri Feb 17 12:29:33 UTC 2017
Greetings,
Kindly asking for reviews for the following changeset:
Bug: https://bugs.openjdk.java.net/browse/JDK-8175178
Webrev: http://cr.openjdk.java.net/~mgronlun/8175178/webrev01/
Summary:
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.
Thanks
Markus
More information about the hotspot-runtime-dev
mailing list