JDK-8009981 : nashorn tests fail with -XX:+VerifyStack
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2013-03-13
  • Updated: 2013-06-11
  • Resolved: 2013-06-01
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8 Other
8Fixed hs25Fixed
Description
-XX:+VerifyStack needs to fixed to account for the extra appendix argument. Then:

Internal Error at genOopClosures.hpp:202, pid=18569, tid=2
guarantee(obj->is_oop_or_null()) failed: invalid oop: 0x0000000a

with stack:
  [7] VerifyOopClosure::do_oop_work<oop>(this = ???, p = ???) (optimized), at 0xfe300c5f (line ~92) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/oops/oopsHierarchy.hpp"
  [8] CompiledArgumentOopFinder::handle_oop_offset(this = ???) (optimized), at 0xfdd96a46 (line ~1026) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/frame.cpp"
  [9] CompiledArgumentOopFinder::set(this = ???, size = ???, type = ???) (optimized), at 0xfdd96a75 (line ~1017) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/frame.cpp"
  [10] SignatureInfo::do_object(this = ???, begin = ???, end = ???) (optimized), at 0xfd9eb14a (line ~163) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/signature.hpp"
  [11] SignatureIterator::parse_type(this = ???) (optimized), at 0xfe45ea9e (line ~95) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/signature.cpp"
  [12] SignatureIterator::iterate_parameters(this = ???) (optimized), at 0xfe45f001 (line ~150) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/signature.cpp"
  [13] frame::oops_compiled_arguments_do(this = ???, signature = ???, has_receiver = ???, reg_map = ???, f = ???) (optimized), at 0xfdd931c6 (line ~1051) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/frame.cpp"
  [14] nmethod::preserve_callee_argument_oops(this = ???, fr = CLASS, reg_map = ???, f = ???) (optimized), at 0xfe2cc2ff (line ~1964) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/code/nmethod.cpp"
  [15] frame::oops_code_blob_do(this = ???, f = ???, cf = ???, reg_map = ???) (optimized), at 0xfdd92f63 (line ~994) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/frame.cpp"
  [16] frame::oops_do_internal(this = ???, f = ???, cld_f = ???, cf = ???, map = ???, use_interpreter_oop_map_cache = ???) (optimized), at 0xfdd93de0 (line ~1141) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/frame.cpp"
  [17] frame::verify(this = ???, map = ???) (optimized), at 0xfdd9480b (line ~1298) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/frame.cpp"
  [18] InterfaceSupport::verify_stack() (optimized), at 0xfdf03c06 (line ~262) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/interfaceSupport.cpp"
  [19] SharedRuntime::resolve_static_call_C(thread = ???) (optimized), at 0xfe436012 (line ~379) in "/space/rw140007/c2-inlining/hotspot/src/share/vm/runtime/interfaceSupport.hpp"

Comments
nmethod::preserve_callee_argument_oops() doesn't take the invokedynamic/invokehandle appendix argument into account and actually has some leftover from the previous JSR292 implementation
13-03-2013