RFR: 8341027: Crash in java/runtime/Unsafe/InternalErrorTest when runnig with -XX:-UseCompressedClassPointers

Stefan Karlsson stefank at openjdk.org
Thu Sep 26 13:09:13 UTC 2024


The JVM crashes in the GC because the destroys the length fields of the array it uses as the destination.

One example of the failures you see with this:
# guarantee(p == top()) failed: end of last object must match end of space
...
V [libjvm.so+0x147e054] ContiguousSpace::verify() const+0x1e0 (space.cpp:95)
V [libjvm.so+0x974118] DefNewGeneration::verify()+0x18 (defNewGeneration.cpp:834)
V [libjvm.so+0x1448a88] SerialHeap::verify(VerifyOption)+0x78 (serialHeap.cpp:881)
V [libjvm.so+0x15d9cd0] Universe::verify(VerifyOption, char const*)+0x490 (universe.cpp:1240)
V [libjvm.so+0x1673890] VM_Exit::doit()+0xa0 (universe.hpp:349) 

Fix this by changing the hard-coded 16 to the proper array base offset, which changes depending on the value of UseCompressedClassPointers.

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

Commit messages:
 - 8341027: Crash in java/runtime/Unsafe/InternalErrorTest when runnig with -XX:-UseCompressedClassPointers

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

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


More information about the hotspot-runtime-dev mailing list