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

UB: Left shift of negative value in macroAssembler_aarch64.cpp

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: P4 P4
    • tbd
    • 21
    • hotspot

      Undefined Behavior discovered after turning "UndefinedBehaviorSanitizer" in Xcode running simple HelloWorld java app. More info on clang undefined behavior sanitizer can be found https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html

      /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:423 Left shift of negative value -14

      Invalid shift base
      #0 0x0000000110846c07 in Decoder::adr(unsigned char*, unsigned char*&) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:423
      #1 0x00000001108177f7 in RelocActions::run(unsigned char*, unsigned char*&) [inlined] ()
      #2 0x00000001108176a4 in MacroAssembler::target_addr_for_insn(unsigned char*, unsigned int) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:496
      #3 0x00000001108176a3 in MacroAssembler::target_addr_for_insn(unsigned char*, unsigned int) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:494
      #4 0x0000000110848184 in MacroAssembler::target_addr_for_insn(unsigned char*) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp:605
      #5 0x0000000110847beb in Patcher::verify(unsigned char*, unsigned char*&) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:360
      #6 0x0000000110817b73 in RelocActions::run(unsigned char*, unsigned char*&) [inlined] at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:260
      #7 0x000000011081798c in MacroAssembler::pd_patch_instruction_size(unsigned char*, unsigned char*) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:504
      #8 0x000000011081798b in MacroAssembler::pd_patch_instruction_size(unsigned char*, unsigned char*) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:503
      #9 0x000000011097c67b in Relocation::pd_set_data_value(unsigned char*, long, bool) at /Users/gerard/Work/tmp/jdk/src/hotspot/cpu/aarch64/relocInfo_aarch64.cpp:55
      #10 0x0000000110a0d17f in CodeBuffer::relocate_code_to(CodeBuffer*) const at /Users/gerard/Work/tmp/jdk/src/hotspot/share/asm/codeBuffer.cpp:784
      #11 0x0000000110a0c8a7 in CodeBuffer::copy_code_to(CodeBlob*) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/asm/codeBuffer.cpp:719
      #12 0x0000000110fa7e43 in nmethod::nmethod(Method*, CompilerType, int, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, CompLevel, char*, int, int) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/code/nmethod.cpp:879
      #13 0x0000000110fa60fc in nmethod::nmethod(Method*, CompilerType, int, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, CompLevel, char*, int, int) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/code/nmethod.cpp:796
      #14 0x0000000110fa5a33 in nmethod::new_nmethod(methodHandle const&, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, CompLevel, char*, int, int, char const*, FailedSpeculation**) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/code/nmethod.cpp:581
      #15 0x0000000110bed133 in ciEnv::register_method(ciMethod*, int, CodeOffsets*, int, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, bool, bool, bool, int, RTMState) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/ci/ciEnv.cpp:1136
      #16 0x0000000110c3c673 in Compilation::install_code(int) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/c1/c1_Compilation.cpp:421
      #17 0x0000000110c3c9e7 in Compilation::compile_method() at /Users/gerard/Work/tmp/jdk/src/hotspot/share/c1/c1_Compilation.cpp:480
      #18 0x0000000110c3d47b in Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/c1/c1_Compilation.cpp:598
      #19 0x0000000110c7578b in Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/c1/c1_Compiler.cpp:251
      #20 0x0000000111e8626f in CompileBroker::invoke_compiler_on_method(CompileTask*) at /Users/gerard/Work/tmp/jdk/src/hotspot/share/compiler/compileBroker.cpp:2237
      #21 0x0000000111e8520b in CompileBroker::compiler_thread_loop() at /Users/gerard/Work/tmp/jdk/src/hotspot/share/compiler/compileBroker.cpp:1916
      #22 0x0000000110eed6cb in JavaThread::thread_main_inner() at /Users/gerard/Work/tmp/jdk/src/hotspot/share/runtime/javaThread.cpp:710
      #23 0x0000000110eed4bb in JavaThread::run() at /Users/gerard/Work/tmp/jdk/src/hotspot/share/runtime/javaThread.cpp:695
      #24 0x0000000110d9837b in Thread::call_run() at /Users/gerard/Work/tmp/jdk/src/hotspot/share/runtime/thread.cpp:224
      #25 0x00000001109abd1f in thread_native_entry(Thread*) at /Users/gerard/Work/tmp/jdk/src/hotspot/os/bsd/os_bsd.cpp:572
      #26 0x00000001000995d3 in _pthread_start ()

            Unassigned Unassigned
            gziemski Gerard Ziemski
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: