Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8186200

TraceBytecodes broken by JDK-8186049

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: P3
    • Resolution: Unresolved
    • Affects Version/s: repo-valhalla
    • Fix Version/s: repo-valhalla
    • Component/s: hotspot
    • Labels:

      Description

      The interpreter bytecode tracing feature is currently broken due to changes from JDK-8186049.

      The failing assert is:

      # Internal Error (/Users/fparain/WORK/Valhalla/oops_in_TLVB/valhalla/hotspot/src/share/vm/interpreter/templateInte
      rpreter.cpp:110), pid=71663, tid=7427
      # assert(0 <= state && state < number_of_states) failed: state out of bounds
      #


      With the following stacktrace:

      --------------- T H R E A D ---------------

      Current thread (0x00007ff745800800): JavaThread "Unknown thread" [_thread_in_vm, id=7427, stack(0x000000010cea1000,0x000000010cfa1000)]

      Stack: [0x000000010cea1000,0x000000010cfa1000], sp=0x000000010cf9a6d0, free space=997k
      Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.dylib+0x10374b6] VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x5a6
      V [libjvm.dylib+0x1037d78] VMError::report_and_die(Thread*, char const*, int, char const*, char const*, __va_list_tag*)+0x78
      V [libjvm.dylib+0x6a3c6f] report_vm_error(char const*, int, char const*, char const*, ...)+0x19f
      V [libjvm.dylib+0xf73430] EntryPoint::entry(TosState) const+0x70
      V [libjvm.dylib+0xf815bd] TemplateInterpreter::trace_code(TosState)+0x1d
      V [libjvm.dylib+0xf80ece] TemplateInterpreterGenerator::trace_bytecode(Template*)+0x2e
      V [libjvm.dylib+0xf7704f] TemplateInterpreterGenerator::generate_and_dispatch(Template*, TosState)+0xaf
      V [libjvm.dylib+0xf76e21] TemplateInterpreterGenerator::set_short_entry_points(Template*, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&)+0x3f1
      V [libjvm.dylib+0xf767ff] TemplateInterpreterGenerator::set_entry_points(Bytecodes::Code)+0x2cf
      V [libjvm.dylib+0xf7648f] TemplateInterpreterGenerator::set_entry_points_for_all_bytes()+0x4f
      V [libjvm.dylib+0xf76110] TemplateInterpreterGenerator::generate_all()+0x19c0
      V [libjvm.dylib+0xf74743] TemplateInterpreterGenerator::TemplateInterpreterGenerator(StubQueue*)+0x53
      V [libjvm.dylib+0xf7615d] TemplateInterpreterGenerator::TemplateInterpreterGenerator(StubQueue*)+0x1d
      V [libjvm.dylib+0xf73093] TemplateInterpreter::initialize()+0x163
      V [libjvm.dylib+0x968bcd] interpreter_init()+0xd
      V [libjvm.dylib+0x9446e5] init_globals()+0x65
      V [libjvm.dylib+0xfae465] Threads::create_vm(JavaVMInitArgs*, bool*)+0x445
      V [libjvm.dylib+0x9e1f24] JNI_CreateJavaVM_inner(JavaVM_**, void**, void*)+0x114
      V [libjvm.dylib+0x9e1dfc] JNI_CreateJavaVM+0x2c
      C [java+0x6b08] InitializeJVM+0x138
      C [java+0x5c7c] JavaMain+0xac
      C [libsystem_pthread.dylib+0x393b] _pthread_body+0xb4
      C [libsystem_pthread.dylib+0x3887] _pthread_body+0x0
      C [libsystem_pthread.dylib+0x308d] thread_start+0xd


      This assertion failure is due to the fact that the bytecode tracing uses a dispatch based on TosState, which fails when the bytecode template is defined with a ptos TosState in input.

        Attachments

          Activity

            People

            • Assignee:
              fparain Frederic Parain
              Reporter:
              fparain Frederic Parain
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: