-
Bug
-
Resolution: Unresolved
-
P3
-
25
-
x86_64
-
linux
When trying out the clang MSan (memory sanitizer) https://clang.llvm.org/docs/MemorySanitizer.html (with clang version 17.0.6 on Linux x86_64), the following issue is reported already in the build when the new jdk is already used :
==62047==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x7ff2e9ab3f41 in CodeCache::get_code_heap_containing(void*) make/hotspot/src/hotspot/share/code/codeCache.cpp:449:9
#1 0x7ff2e9ab3f41 in CodeCache::find_blob(void*) make/hotspot/src/hotspot/share/code/codeCache.cpp:649:22
#2 0x7ff2ea99f50b in frame::init(long*, long*, unsigned char*) make/hotspot/src/hotspot/cpu/x86/frame_x86.inline.hpp:62:9
#3 0x7ff2ea99f50b in frame::frame(long*, long*, unsigned char*) make/hotspot/src/hotspot/cpu/x86/frame_x86.inline.hpp:85:3
#4 0x7ff2ea99f50b in JavaThread::pd_last_frame() make/hotspot/src/hotspot/os_cpu/linux_x86/javaThread_linux_x86.cpp:31:10
#5 0x7ff2ea8cda36 in JavaThread::last_frame() make/hotspot/src/hotspot/share/runtime/javaThread.hpp:1015:12
#6 0x7ff2ea8cda36 in LastFrameAccessor::LastFrameAccessor(JavaThread*) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:86:28
#7 0x7ff2ea8cda36 in InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:644:21
#8 0x7ff2ea8d7121 in InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:993:5
#9 0x7ff2df60d430 (<unknown module>)
Uninitialized value was stored to memory at
#0 0x7ff2ea2264cf in JavaFrameAnchor::make_walkable() make/hotspot/src/hotspot/cpu/x86/frame_x86.cpp:705:17
#1 0x7ff2ea8cda02 in JavaThread::last_frame() make/hotspot/src/hotspot/share/runtime/javaThread.hpp:1014:13
#2 0x7ff2ea8cda02 in LastFrameAccessor::LastFrameAccessor(JavaThread*) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:86:28
#3 0x7ff2ea8cda02 in InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:644:21
#4 0x7ff2ea8d7121 in InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:993:5
#5 0x7ff2df60d430 (<unknown module>)
#6 0x7ff2df5f6fa5 (<unknown module>)
#7 0x7ff2ea90b5df in JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) make/hotspot/src/hotspot/share/runtime/javaCalls.cpp:415:7
#8 0x7ff2ea82b7db in InstanceKlass::call_class_initializer(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1702:5
#9 0x7ff2ea8225f7 in InstanceKlass::initialize_impl(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1311:7
#10 0x7ff2ecd12b9c in initialize_class(Symbol*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:126:31
#11 0x7ff2ecd12b9c in Threads::initialize_java_lang_classes(JavaThread*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:347:3
#12 0x7ff2ecd168ab in Threads::create_vm(JavaVMInitArgs*, bool*) make/hotspot/src/hotspot/share/runtime/threads.cpp:688:3
#13 0x7ff2eadb6806 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) make/hotspot/src/hotspot/share/prims/jni.cpp:3587:12
#14 0x7ff2eadb6806 in JNI_CreateJavaVM make/hotspot/src/hotspot/share/prims/jni.cpp:3678:14
#15 0x7ff2ef6bcdc6 in InitializeJVM make/src/java.base/share/native/libjli/java.c:1507:9
#16 0x7ff2ef6bcdc6 in JavaMain make/src/java.base/share/native/libjli/java.c:494:10
#17 0x7ff2ef6cbd38 in ThreadJavaMain make/src/java.base/unix/native/libjli/java_md.c:646:29
#18 0x7ff2ef6726e9 in start_thread (/lib64/libpthread.so.0+0xa6e9) (BuildId: 938e42b7e407d175ee3ef9a89c038168101d330c)
Member fields were destroyed
#0 0x5637c31d2f30 in __sanitizer_dtor_callback_fields /home/abuild/rpmbuild/BUILD/llvm-17.0.6.src/build/../projects/compiler-rt/lib/msan/msan_interceptors.cpp:982:5
#1 0x7ff2ea71b630 in methodHandle::~methodHandle() make/hotspot/src/hotspot/share/runtime/handles.hpp:174:1
#2 0x7ff2ea71b630 in methodHandle::~methodHandle() make/hotspot/src/hotspot/share/runtime/handles.cpp:96:1
#3 0x7ff2eb6a97fd in klassVtable::check_constraints(GrowableArray<InstanceKlass*>*, JavaThread*) make/hotspot/src/hotspot/share/oops/klassVtable.cpp:612:3
#4 0x7ff2eb6aaadd in klassVtable::initialize_vtable_and_check_constraints(JavaThread*) make/hotspot/src/hotspot/share/oops/klassVtable.cpp:620:3
#5 0x7ff2ea826ad6 in InstanceKlass::link_class_impl(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1030:18
#6 0x7ff2ea81f519 in InstanceKlass::link_class(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:894:5
#7 0x7ff2ea81f519 in InstanceKlass::initialize_impl(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1179:3
#8 0x7ff2ecd12b9c in initialize_class(Symbol*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:126:31
#9 0x7ff2ecd12b9c in Threads::initialize_java_lang_classes(JavaThread*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:347:3
#10 0x7ff2ecd168ab in Threads::create_vm(JavaVMInitArgs*, bool*) make/hotspot/src/hotspot/share/runtime/threads.cpp:688:3
#11 0x7ff2eadb6806 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) make/hotspot/src/hotspot/share/prims/jni.cpp:3587:12
#12 0x7ff2eadb6806 in JNI_CreateJavaVM make/hotspot/src/hotspot/share/prims/jni.cpp:3678:14
#13 0x7ff2ef6bcdc6 in InitializeJVM make/src/java.base/share/native/libjli/java.c:1507:9
#14 0x7ff2ef6bcdc6 in JavaMain make/src/java.base/share/native/libjli/java.c:494:10
#15 0x7ff2ef6cbd38 in ThreadJavaMain make/src/java.base/unix/native/libjli/java_md.c:646:29
#16 0x7ff2ef6726e9 in start_thread (/lib64/libpthread.so.0+0xa6e9) (BuildId: 938e42b7e407d175ee3ef9a89c038168101d330c)
Is it something serious or some kind of false positive ?
I am using C/C++/LD flags -fsanitize=memory -fsanitize-memory-track-origins -fno-sanitize-memory-param-retval to get more info e.g. the origin tracking ( "Uninitialized value was stored to memory at ... " ) .
==62047==WARNING: MemorySanitizer: use-of-uninitialized-value
#0 0x7ff2e9ab3f41 in CodeCache::get_code_heap_containing(void*) make/hotspot/src/hotspot/share/code/codeCache.cpp:449:9
#1 0x7ff2e9ab3f41 in CodeCache::find_blob(void*) make/hotspot/src/hotspot/share/code/codeCache.cpp:649:22
#2 0x7ff2ea99f50b in frame::init(long*, long*, unsigned char*) make/hotspot/src/hotspot/cpu/x86/frame_x86.inline.hpp:62:9
#3 0x7ff2ea99f50b in frame::frame(long*, long*, unsigned char*) make/hotspot/src/hotspot/cpu/x86/frame_x86.inline.hpp:85:3
#4 0x7ff2ea99f50b in JavaThread::pd_last_frame() make/hotspot/src/hotspot/os_cpu/linux_x86/javaThread_linux_x86.cpp:31:10
#5 0x7ff2ea8cda36 in JavaThread::last_frame() make/hotspot/src/hotspot/share/runtime/javaThread.hpp:1015:12
#6 0x7ff2ea8cda36 in LastFrameAccessor::LastFrameAccessor(JavaThread*) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:86:28
#7 0x7ff2ea8cda36 in InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:644:21
#8 0x7ff2ea8d7121 in InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:993:5
#9 0x7ff2df60d430 (<unknown module>)
Uninitialized value was stored to memory at
#0 0x7ff2ea2264cf in JavaFrameAnchor::make_walkable() make/hotspot/src/hotspot/cpu/x86/frame_x86.cpp:705:17
#1 0x7ff2ea8cda02 in JavaThread::last_frame() make/hotspot/src/hotspot/share/runtime/javaThread.hpp:1014:13
#2 0x7ff2ea8cda02 in LastFrameAccessor::LastFrameAccessor(JavaThread*) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:86:28
#3 0x7ff2ea8cda02 in InterpreterRuntime::resolve_get_put(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:644:21
#4 0x7ff2ea8d7121 in InterpreterRuntime::resolve_from_cache(JavaThread*, Bytecodes::Code) make/hotspot/src/hotspot/share/interpreter/interpreterRuntime.cpp:993:5
#5 0x7ff2df60d430 (<unknown module>)
#6 0x7ff2df5f6fa5 (<unknown module>)
#7 0x7ff2ea90b5df in JavaCalls::call_helper(JavaValue*, methodHandle const&, JavaCallArguments*, JavaThread*) make/hotspot/src/hotspot/share/runtime/javaCalls.cpp:415:7
#8 0x7ff2ea82b7db in InstanceKlass::call_class_initializer(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1702:5
#9 0x7ff2ea8225f7 in InstanceKlass::initialize_impl(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1311:7
#10 0x7ff2ecd12b9c in initialize_class(Symbol*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:126:31
#11 0x7ff2ecd12b9c in Threads::initialize_java_lang_classes(JavaThread*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:347:3
#12 0x7ff2ecd168ab in Threads::create_vm(JavaVMInitArgs*, bool*) make/hotspot/src/hotspot/share/runtime/threads.cpp:688:3
#13 0x7ff2eadb6806 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) make/hotspot/src/hotspot/share/prims/jni.cpp:3587:12
#14 0x7ff2eadb6806 in JNI_CreateJavaVM make/hotspot/src/hotspot/share/prims/jni.cpp:3678:14
#15 0x7ff2ef6bcdc6 in InitializeJVM make/src/java.base/share/native/libjli/java.c:1507:9
#16 0x7ff2ef6bcdc6 in JavaMain make/src/java.base/share/native/libjli/java.c:494:10
#17 0x7ff2ef6cbd38 in ThreadJavaMain make/src/java.base/unix/native/libjli/java_md.c:646:29
#18 0x7ff2ef6726e9 in start_thread (/lib64/libpthread.so.0+0xa6e9) (BuildId: 938e42b7e407d175ee3ef9a89c038168101d330c)
Member fields were destroyed
#0 0x5637c31d2f30 in __sanitizer_dtor_callback_fields /home/abuild/rpmbuild/BUILD/llvm-17.0.6.src/build/../projects/compiler-rt/lib/msan/msan_interceptors.cpp:982:5
#1 0x7ff2ea71b630 in methodHandle::~methodHandle() make/hotspot/src/hotspot/share/runtime/handles.hpp:174:1
#2 0x7ff2ea71b630 in methodHandle::~methodHandle() make/hotspot/src/hotspot/share/runtime/handles.cpp:96:1
#3 0x7ff2eb6a97fd in klassVtable::check_constraints(GrowableArray<InstanceKlass*>*, JavaThread*) make/hotspot/src/hotspot/share/oops/klassVtable.cpp:612:3
#4 0x7ff2eb6aaadd in klassVtable::initialize_vtable_and_check_constraints(JavaThread*) make/hotspot/src/hotspot/share/oops/klassVtable.cpp:620:3
#5 0x7ff2ea826ad6 in InstanceKlass::link_class_impl(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1030:18
#6 0x7ff2ea81f519 in InstanceKlass::link_class(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:894:5
#7 0x7ff2ea81f519 in InstanceKlass::initialize_impl(JavaThread*) make/hotspot/src/hotspot/share/oops/instanceKlass.cpp:1179:3
#8 0x7ff2ecd12b9c in initialize_class(Symbol*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:126:31
#9 0x7ff2ecd12b9c in Threads::initialize_java_lang_classes(JavaThread*, JavaThread*) make/hotspot/src/hotspot/share/runtime/threads.cpp:347:3
#10 0x7ff2ecd168ab in Threads::create_vm(JavaVMInitArgs*, bool*) make/hotspot/src/hotspot/share/runtime/threads.cpp:688:3
#11 0x7ff2eadb6806 in JNI_CreateJavaVM_inner(JavaVM_**, void**, void*) make/hotspot/src/hotspot/share/prims/jni.cpp:3587:12
#12 0x7ff2eadb6806 in JNI_CreateJavaVM make/hotspot/src/hotspot/share/prims/jni.cpp:3678:14
#13 0x7ff2ef6bcdc6 in InitializeJVM make/src/java.base/share/native/libjli/java.c:1507:9
#14 0x7ff2ef6bcdc6 in JavaMain make/src/java.base/share/native/libjli/java.c:494:10
#15 0x7ff2ef6cbd38 in ThreadJavaMain make/src/java.base/unix/native/libjli/java_md.c:646:29
#16 0x7ff2ef6726e9 in start_thread (/lib64/libpthread.so.0+0xa6e9) (BuildId: 938e42b7e407d175ee3ef9a89c038168101d330c)
Is it something serious or some kind of false positive ?
I am using C/C++/LD flags -fsanitize=memory -fsanitize-memory-track-origins -fno-sanitize-memory-param-retval to get more info e.g. the origin tracking ( "Uninitialized value was stored to memory at ... " ) .