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

[ubsan] nmethod::nmethod null pointer passed as argument 2 to memcpy

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 26
    • 26
    • hotspot
    • master
    • generic
    • linux

      When building with ubsan-enabled, we run on Linux into this issue already in the build process :

      /jdk/src/hotspot/share/code/nmethod.cpp:1786:13: runtime error: null pointer passed as argument 2, which is declared to never be null
          #0 0xffffb926917c in nmethod::nmethod(Method*, CompilerType, int, int, int, int, int, unsigned char*, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, CompLevel, char*, int, JVMCINMethodData*) src/hotspot/share/code/nmethod.cpp:1786
          #1 0xffffb9269468 in nmethod::new_nmethod(methodHandle const&, int, int, CodeOffsets*, int, DebugInformationRecorder*, Dependencies*, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, CompLevel, char*, int, JVMCINMethodData*) src/hotspot/share/code/nmethod.cpp:1178
          #2 0xffffb7fa6250 in ciEnv::register_method(ciMethod*, int, CodeOffsets*, int, CodeBuffer*, int, OopMapSet*, ExceptionHandlerTable*, ImplicitExceptionTable*, AbstractCompiler*, bool, bool, bool, bool, int) src/hotspot/share/ci/ciEnv.cpp:1062
          #3 0xffffb7ceb378 in Compilation::install_code(int) src/hotspot/share/c1/c1_Compilation.cpp:417
          #4 0xffffb7cf0794 in Compilation::compile_method() src/hotspot/share/c1/c1_Compilation.cpp:480
          #5 0xffffb7cf0f2c in Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*) src/hotspot/share/c1/c1_Compilation.cpp:600
          #6 0xffffb7cf3bd4 in Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*) src/hotspot/share/c1/c1_Compiler.cpp:263
          #7 0xffffb81af2c0 in CompileBroker::invoke_compiler_on_method(CompileTask*) src/hotspot/share/compiler/compileBroker.cpp:2345
          #8 0xffffb81b1ac0 in CompileBroker::compiler_thread_loop() src/hotspot/share/compiler/compileBroker.cpp:1989
          #9 0xffffb891b428 in JavaThread::thread_main_inner() src/hotspot/share/runtime/javaThread.cpp:772
          #10 0xffffb891b428 in JavaThread::thread_main_inner() src/hotspot/share/runtime/javaThread.cpp:760
          #11 0xffffb9a9bbbc in Thread::call_run() src/hotspot/share/runtime/thread.cpp:243
          #12 0xffffb932e3f4 in thread_native_entry src/hotspot/os/linux/os_linux.cpp:885
          #13 0xffffbcb65958 (/lib/aarch64-linux-gnu/libc.so.6+0x85958) (BuildId: d6c205bda1b6e91815f8fef45bdf56bc2239c37e)
         ... (rest of output omitted)

      This is triggered by the memcpy call in nmethod::nmethod :

      memcpy(speculations_begin(), speculations, speculations_len);

            crakoczy Chad Rakoczy
            mbaesken Matthias Baesken
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: