RFR: 8340392: Handle OopStorage in location decoder
Aleksey Shipilev
shade at openjdk.org
Wed Sep 18 17:54:33 UTC 2024
Another debugging QoL improvement. Currently, when there is a pointer into `OopStorage` that we need to decode for the error log, we just print:
0x00007ad45c169e10 into live malloced block starting at 0x00007ad45c169dd0, size 632, tag mtInternal
This is reported by NMT after [JDK-8304815](https://bugs.openjdk.org/browse/JDK-8304815). It is likely worse without NMT. 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.
This patch is able to print the following instead:
0x0000000102c05bd0 is a pointer 2/64 into block 0 in oop storage "VM Global"
-------------
Commit messages:
- "in block" -> "into block"
- Fix
Changes: https://git.openjdk.org/jdk/pull/21072/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21072&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8340392
Stats: 111 lines in 7 files changed: 110 ins; 0 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/21072.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/21072/head:pull/21072
PR: https://git.openjdk.org/jdk/pull/21072
More information about the hotspot-dev
mailing list