[You probably need JDK-8251526 to compile CTW in current jdk/jdk]
It does seem to happen only with ZGC. Parallel, G1, Shenandoah pass the test fine. I initially suspected -XX:-UseCompressedOops (set by ZGC) is the real reason, but G1 with -XX:-UseCompressedOops also passes.
Note it uses a specially passivated JAR file (that has more <clinits> stripped out to expose more classes to CTW).
$ cd test/hotspot/jtreg/testlibrary/ctw
$ make
$ cd dist
$ wget http://cr.openjdk.java.net/~shade/8251544/mule-module-scripting-jruby-3.9.0.jar
$ export JAVA_HOME=<point to fastdebug build>
$ JAVA_OPTIONS="-XX:+UseZGC" ./ctw.sh mule-module-scripting-jruby-3.9.0.jar
24 ConI === 0 [[ 966 25 583 48 595 571 644 632 620 161 174 187 352 589 577 565 626 638 650 ]] #int:1
966 AddI === _ 966 24 [[ 966 ]] !orig=[965] !jvms: DominatorTreeBuilder::buildDominatorTree @ bci:441
# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc: SuppressErrorAt=/phaseX.cpp:923
#
# A fatal error has been detected by the Java Runtime Environment:
#
# Internal Error (/home/shade/trunks/jdk-jdk/src/hotspot/share/opto/phaseX.cpp:923), pid=1986699, tid=1986817
# assert(no_dead_loop) failed: dead loop detected
#
# JRE version: OpenJDK Runtime Environment (16.0) (fastdebug build 16-internal+0-adhoc.shade.jdk-jdk)
# Java VM: OpenJDK 64-Bit Server VM (fastdebug 16-internal+0-adhoc.shade.jdk-jdk, mixed mode, sharing, tiered, z gc, linux-amd64)
# Problematic frame:
# V [libjvm.so+0x14b73c0] PhaseGVN::dead_loop_check(Node*)+0x160