RFR: 8332462: ubsan: c1_ValueStack.hpp:229:49: runtime error: load of value 171, which is not a valid value for type 'bool'
Christian Hagedorn
chagedorn at openjdk.org
Fri May 17 14:07:07 UTC 2024
On Fri, 17 May 2024 13:48:57 GMT, Matthias Baesken <mbaesken at openjdk.org> wrote:
> This coding, with ubsan enabled
> bool force_reexecute() const { return _force_reexecute; }
>
> gives us on Linux x86_64 fastdebug the following warning :
>
> /jdk/src/hotspot/share/c1/c1_ValueStack.hpp:229:49: runtime error: load of value 171, which is not a valid value for type 'bool'
> #0 0x14b3999f2921 in ValueStack::force_reexecute() const /jdk/src/hotspot/share/c1/c1_ValueStack.hpp:229
> #1 0x14b3999f2921 in LIRGenerator::do_ArrayCopy(Intrinsic*) /jdk/src/hotspot/cpu/x86/c1_LIRGenerator_x86.cpp:1008
> #2 0x14b39aa1c077 in LIRGenerator::do_root(Instruction*) /jdk/src/hotspot/share/c1/c1_LIRGenerator.cpp:379
> #3 0x14b39aa2df94 in non-virtual thunk to LIRGenerator::block_do(BlockBegin*) (/net/usr.work/d040975/open_jdk/jdk_6/build_clx209_fastdebug/jdk/lib/server/libjvm.so+0x5ad1f94)
> #4 0x14b39a971ff6 in BlockList::iterate_forward(BlockClosure*) /jdk/src/hotspot/share/c1/c1_Instruction.cpp:891
> #5 0x14b39a878114 in Compilation::emit_lir() /jdk/src/hotspot/share/c1/c1_Compilation.cpp:264
> #6 0x14b39a882076 in Compilation::compile_java_method() /jdk/src/hotspot/share/c1/c1_Compilation.cpp:407
> #7 0x14b39a884c48 in Compilation::compile_method() /jdk/src/hotspot/share/c1/c1_Compilation.cpp:479
> #8 0x14b39a88681a in Compilation::Compilation(AbstractCompiler*, ciEnv*, ciMethod*, int, BufferBlob*, bool, DirectiveSet*) /jdk/src/hotspot/share/c1/c1_Compilation.cpp:609
> #9 0x14b39a88bd63 in Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*) /jdk/src/hotspot/share/c1/c1_Compiler.cpp:260
> #10 0x14b39b153241 in CompileBroker::invoke_compiler_on_method(CompileTask*) /jdk/src/hotspot/share/compiler/compileBroker.cpp:2303
> #11 0x14b39b154d3e in CompileBroker::compiler_thread_loop() /jdk/src/hotspot/share/compiler/compileBroker.cpp:1961
> #12 0x14b39bdb17bc in JavaThread::thread_main_inner() /jdk/src/hotspot/share/runtime/javaThread.cpp:759
> #13 0x14b39d8a828f in Thread::call_run() /jdk/src/hotspot/share/runtime/thread.cpp:225
> ... (rest of output omitted)
>
> Seems we miss initializations of the variable _force_reexecute , and this can lead to arbitrary values at the address in memory where _force_reexecute is stored.
Looks good!
-------------
Marked as reviewed by chagedorn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/19284#pullrequestreview-2063531599
More information about the hotspot-compiler-dev
mailing list