JDK-8286829 : Shenandoah: fix Shenandoah Loom support
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 19
  • Priority: P4
  • Status: New
  • Resolution: Unresolved
  • Submitted: 2022-05-16
  • Updated: 2022-05-27
Related Reports
Relates :  
Description
java/lang/Thread/virtual/stress/Skynet.java test failed with loom.

To reproduce: 
 make CONF=linux-x86_64-server-fastdebug TEST_VM_OPTS="--enable-preview -XX:+UseShenandoahGC" run-test TEST=java/lang/Thread/virtual/stress/Skynet.java


#  Internal Error (/home/zgu/ws/jdk/src/hotspot/share/oops/compressedOops.inline.hpp:135), pid=3328186, tid=3328207
#  assert(check_alignment(result)) failed: address not aligned: 0x00000008baadbabe
#
# JRE version: OpenJDK Runtime Environment (19.0) (fastdebug build 19-internal-adhoc.zgu.jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 19-internal-adhoc.zgu.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, shenandoah gc, linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x190f877][thread 3328211 also had an error]
  ShenandoahAsserts::assert_correct(void*, oop, char const*, int)+0x987


Comments
A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/8924 Date: 2022-05-27 14:52:19 +0000
27-05-2022

Changed synopsis to "fix Shenandoah Loom support", as problem goes beyond marking.
25-05-2022

It turns out to be more serious issue, apparently, loom totally messed up Shenandoah marking, so that loom stacks do not seem to be marked at all.
18-05-2022

Looks like there is an oop on loom stack (StackChunk) that points to an EC region.
18-05-2022

After JDK-8286814, the tests no longer crash as early reported. Only java/lang/Thread/virtual/stress/Skynet.java still crash in unrelated area. I update the synopsis to reflect new problem.
18-05-2022