Currently, when there is a pointer into OopStorage that we need to decode the error log, we just print:
0x00007ad45c169e10 into live malloced block starting at 0x00007ad45c169dd0, size 632, tag mtInternal
This is reported by NMT afterJDK-8304815. We can actually decode which block in which OopStorage the address likely belongs to. This becomes handy when debugging GC crashes that involve OopStorage-handled roots.
My current patch is able to print this instead:
0x0000000102c05bd0 is a pointer 2/64 in block 0 in oop storage "VM Global"
0x00007ad45c169e10 into live malloced block starting at 0x00007ad45c169dd0, size 632, tag mtInternal
This is reported by NMT after
My current patch is able to print this instead:
0x0000000102c05bd0 is a pointer 2/64 in block 0 in oop storage "VM Global"
- relates to
-
JDK-8341015 OopStorage location decoder crashes accessing non-initalized OopStorage
- Resolved
-
JDK-8340945 Ubsan: oopStorage.cpp:374:8: runtime error: applying non-zero offset 18446744073709551168 to null pointer
- Resolved
- links to
-
Commit(master) openjdk/jdk/0f253d11
-
Review(master) openjdk/jdk/21072