RFR: 8331695: Serial: DefNewGeneration:_promotion_failed used without being initialized

Axel Boldt-Christmas aboldtch at openjdk.org
Mon May 6 06:06:14 UTC 2024


Seems to happen if a full GC occurs before a young GC is triggered.

At cursory glance the other fields of `DefNewGeneration` seems to be initialised correctly.

Building with UBSAN shows the following in debug.

src/hotspot/share/gc/serial/defNewGeneration.cpp:886:7: runtime error: load of value 241, which is not a valid value for type 'bool'
    #0 0x14f4544322bb in DefNewGeneration::contribute_scratch(void*&, unsigned long&) src/hotspot/share/gc/serial/defNewGeneration.cpp:886
    #1 0x14f45bb6d8ae in SerialFullGC::allocate_stacks() src/hotspot/share/gc/serial/serialFullGC.cpp:560
    #2 0x14f45bb7549a in SerialFullGC::invoke_at_safepoint(bool) src/hotspot/share/gc/serial/serialFullGC.cpp:699
    #3 0x14f45cb4b77c in TenuredGeneration::collect(bool, bool, unsigned long, bool) src/hotspot/share/gc/serial/tenuredGeneration.cpp:470
    #4 0x14f45bbc3411 in SerialHeap::collect_generation(Generation*, bool, unsigned long, bool, bool, bool) src/hotspot/share/gc/serial/serialHeap.cpp:461
    #5 0x14f45bbc7f20 in SerialHeap::do_collection(bool, bool, unsigned long, bool, SerialHeap::GenerationType) src/hotspot/share/gc/serial/serialHeap.cpp:589
    #6 0x14f45bbca783 in SerialHeap::do_full_collection(bool, SerialHeap::GenerationType) src/hotspot/share/gc/serial/serialHeap.cpp:846
    #7 0x14f45bc0e5cc in VM_GenCollectFull::doit() src/hotspot/share/gc/serial/serialVMOperations.cpp:47
    #8 0x14f45d12e677 in VM_Operation::evaluate() src/hotspot/share/runtime/vmOperations.cpp:75
    #9 0x14f45d1caef0 in VMThread::evaluate_operation(VM_Operation*) src/hotspot/share/runtime/vmThread.cpp:283
    #10 0x14f45d1cdffa in VMThread::inner_execute(VM_Operation*) src/hotspot/share/runtime/vmThread.cpp:427
    #11 0x14f45d1ceedb in VMThread::loop() src/hotspot/share/runtime/vmThread.cpp:493
    #12 0x14f45d1ceedb in VMThread::loop() src/hotspot/share/runtime/vmThread.cpp:478
    #13 0x14f45d1cf320 in VMThread::run() src/hotspot/share/runtime/vmThread.cpp:177
    #14 0x14f45cb6d30c in Thread::call_run() src/hotspot/share/runtime/thread.cpp:221
    #15 0x14f45b2a7fe5 in thread_native_entry src/hotspot/os/linux/os_linux.cpp:846
    #16 0x14f4778cb1d9 in start_thread (/lib64/libpthread.so.0+0x81d9)
    #17 0x14f476815e72 in __clone (/lib64/libc.so.6+0x39e72)

-------------

Commit messages:
 - 8331695: Serial: DefNewGeneration:_promotion_failed used without being initialized

Changes: https://git.openjdk.org/jdk/pull/19094/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19094&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8331695
  Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/19094.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19094/head:pull/19094

PR: https://git.openjdk.org/jdk/pull/19094


More information about the hotspot-gc-dev mailing list