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

Assert with extreme values for -XX:BciProfileWidth

XMLWordPrintable

      java -XX:BciProfileWidth=-1 -version
      java -XX:BciProfileWidth=100000 -version

      # A fatal error has been detected by the Java Runtime Environment:
      #
      # Internal Error (/opt/mach5/mesos/work_dir/slaves/d2398cde-9325-49c3-b030-8961a4f0a253-S121091/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/7907aaaa-22ec-4289-bb4a-0051ec04
      d64c/runs/12164fb7-7de5-43d9-8589-b37844ecadd9/workspace/open/src/hotspot/share/asm/codeBuffer.hpp:202), pid=138539, tid=138540
      # assert(allocates2(pc)) failed: not in CodeBuffer memory: 0x0000772b63a7a3a0 <= 0x0000772b63b75159 <= 0x0000772b63b75158
      #
      # JRE version: (25.0+26) (fastdebug build )
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 25-ea+26-LTS-3300, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64)
      # Problematic frame:
      # V [libjvm.so+0x6d6200] AbstractAssembler::emit_int16(int, int) [clone .isra.0]+0xf0


      Stack: [0x0000772b7b300000,0x0000772b7b400000], sp=0x0000772b7b3fbe38, free space=1007k
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [libjvm.so+0x6d6200] AbstractAssembler::emit_int16(int, int) [clone .isra.0]+0xf0 (codeBuffer.hpp:202)
      V [libjvm.so+0x77d027] Assembler::movq(Address, Register)+0xa7
      V [libjvm.so+0x1560f14] MacroAssembler::movptr(Address, Register)+0x64
      V [libjvm.so+0x1014701] InterpreterMacroAssembler::update_mdp_by_offset(Register, int)+0x181
      V [libjvm.so+0x1016591] InterpreterMacroAssembler::profile_ret(Register, Register)+0x1d1
      V [libjvm.so+0x1ab6d35] TemplateTable::ret()+0xb5
      V [libjvm.so+0x1aa2183] Template::generate(InterpreterMacroAssembler*)+0x23
      V [libjvm.so+0x1a8862c] TemplateInterpreterGenerator::generate_and_dispatch(Template*, TosState)+0x11c
      V [libjvm.so+0x1a9b580] TemplateInterpreterGenerator::set_vtos_entry_points(Template*, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&, unsigned char*&)+0x240
      V [libjvm.so+0x1a8925f] TemplateInterpreterGenerator::set_entry_points(Bytecodes::Code)+0x3df
      V [libjvm.so+0x1a894df] TemplateInterpreterGenerator::set_entry_points_for_all_bytes()+0x3f
      V [libjvm.so+0x1a8c500] TemplateInterpreterGenerator::generate_all()+0x2cb0
      V [libjvm.so+0x1a86f36] TemplateInterpreter::initialize_code()+0x126
      V [libjvm.so+0x101c4a3] interpreter_init_code()+0x13
      V [libjvm.so+0xfd7623] init_globals2()+0x13
      V [libjvm.so+0x1af1d5b] Threads::create_vm(JavaVMInitArgs*, bool*)+0x3cb
      V [libjvm.so+0x119c9f4] JNI_CreateJavaVM+0x54
      C [libjli.so+0x3dff] JavaMain+0x8f
      C [libjli.so+0x8019] ThreadJavaMain+0x9
      C [libc.so.6+0x9caa4]

      Also, the flag is declared as intx but casted to uint:

        static uint row_limit() {
          return (uint) BciProfileWidth;
        }

            snatarajan Saranya Natarajan
            thartmann Tobias Hartmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: