JDK-8263303 : C2 compilation fails with assert(found_sfpt) failed: no node in loop that's not input to safepoint
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 11,17
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • Submitted: 2021-03-09
  • Updated: 2022-07-22
  • Resolved: 2021-06-10
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 17
11.0.14-oracleFixed 17 b26Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Test case : applications/runthese/RunThese30M.java
Test suite : JTREG
OS: History shows only one failure on Linux debug build
VM Flag used : -XX:+UnlockExperimentalVMOptions -XX:+UseZGC

VM Crash Trace :

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S77136/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/099122e7-097d-4fad-991d-3cace0bd203d/runs/b626b1ce-a46a-4335-ab60-bb9fe12885bd/workspace/open/src/hotspot/share/opto/loopnode.cpp:1000), pid=31609, tid=31634
#  assert(found_sfpt) failed: no node in loop that's not input to safepoint
#
# JRE version: Java(TM) SE Runtime Environment 18.9 (11.0.12+1) (fastdebug build 11.0.12-ea+1-LTS-82)
# Java VM: Java HotSpot(TM) 64-Bit Server VM 18.9 (fastdebug 11.0.12-ea+1-LTS-82, mixed mode, tiered, z gc, linux-amd64)
# Core dump will be written. Default location: Core dumps may be processed with "/opt/core.sh %p" (or dumping to /opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S14664/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/a5b74640-a2f6-42b4-998e-c1eec7d92889/runs/c5bf8e3b-4ad2-446b-a53a-5cee6d096c4c/testoutput/test-support/jtreg_closed_test_hotspot_jtreg_applications_runthese_RunThese30M_java/scratch/0/core.31609)
#
# If you would like to submit a bug report, please visit:
#   https://bugreport.java.com/bugreport/crash.jsp
#


Stack :


Current CompileTask:
C2:
[error occurred during error reporting (printing current compile task), id 0xe0000000, Internal Error (/opt/mach5/mesos/work_dir/slaves/983c483a-6907-44e0-ad29-98c7183575e2-S77136/frameworks/1735e8a2-a1db-478c-8104-60c8b0af87dd-0196/executors/099122e7-097d-4fad-991d-3cace0bd203d/runs/b626b1ce-a46a-4335-ab60-bb9fe12885bd/workspace/open/src/hotspot/share/runtime/timer.cpp:112)]

Stack: [0x00007f596dbee000,0x00007f596dcef000],  sp=0x00007f596dce6fa0,  free space=995k
Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x18e5463]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x353
V  [libjvm.so+0x18e62af]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V  [libjvm.so+0xb1f070]  report_vm_error(char const*, int, char const*, char const*, ...)+0x100
V  [libjvm.so+0x183f5d7]  TimeStamp::milliseconds() const+0x87
V  [libjvm.so+0xa55371]  CompileTask::print_line_on_error(outputStream*, char*, int)+0x81
V  [libjvm.so+0x18e1b1d]  VMError::report(outputStream*, bool)+0x135d
V  [libjvm.so+0x18e5463]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x353
V  [libjvm.so+0x18e62af]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V  [libjvm.so+0xb1f070]  report_vm_error(char const*, int, char const*, char const*, ...)+0x100
V  [libjvm.so+0xdce68b]  HandleArea::allocate_handle(oop)+0x14b
V  [libjvm.so+0x8290dc]  Handle::Handle(Thread*, oop)+0xac
V  [libjvm.so+0x98937b]  ClassLoaderDataGraph::classes_do(void (*)(Klass*))+0x7b
V  [libjvm.so+0xf65f58]  JfrTypeSet::write_klass_constants(JfrCheckpointWriter*, JfrCheckpointWriter*)+0x2a8
V  [libjvm.so+0xf6bd2f]  JfrTypeSet::serialize(JfrCheckpointWriter*, JfrCheckpointWriter*, bool)+0x14f
V  [libjvm.so+0xf6069c]  TypeSet::serialize(JfrCheckpointWriter&)+0x8c
V  [libjvm.so+0xf6396b]  JfrTypeManager::write_type_set()+0x8b
V  [libjvm.so+0xf29589]  JfrRecorderService::finalize_current_chunk_on_vm_error()+0x39
V  [libjvm.so+0xf296ee]  JfrRecorderService::rotate(int)+0x7e
V  [libjvm.so+0xed6958]  JfrEmergencyDump::on_vm_shutdown(bool)+0x278
V  [libjvm.so+0x18e5774]  VMError::report_and_die(int, char const*, char const*, __va_list_tag*, Thread*, unsigned char*, void*, void*, char const*, int, unsigned long)+0x664
V  [libjvm.so+0x18e62af]  VMError::report_and_die(Thread*, void*, char const*, int, char const*, char const*, __va_list_tag*)+0x2f
V  [libjvm.so+0xb1f070]  report_vm_error(char const*, int, char const*, char const*, ...)+0x100
V  [libjvm.so+0x12cab43]  LoopNode::verify_strip_mined(int) const+0x653
V  [libjvm.so+0x12cb5a7]  CountedLoopNode::skip_strip_mined(int)+0x47
V  [libjvm.so+0x12a410c]  PhaseIdealLoop::loop_predication_impl(IdealLoopTree*) [clone .part.101]+0xfc
V  [libjvm.so+0x12a4f2c]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x13c
V  [libjvm.so+0x12a4f55]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x165
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f55]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x165
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12a4f40]  IdealLoopTree::loop_predication(PhaseIdealLoop*)+0x150
V  [libjvm.so+0x12e290e]  PhaseIdealLoop::build_and_optimize(LoopOptsMode)+0x100e
V  [libjvm.so+0xa4021a]  Compile::Optimize()+0xada
V  [libjvm.so+0xa41584]  Compile::Compile(ciEnv*, C2Compiler*, ciMethod*, int, bool, bool, bool, DirectiveSet*)+0xf84
V  [libjvm.so+0x840fd1]  C2Compiler::compile_method(ciEnv*, ciMethod*, int, DirectiveSet*)+0xe1
V  [libjvm.so+0xa4ebb4]  CompileBroker::invoke_compiler_on_method(CompileTask*)+0x3f4
V  [libjvm.so+0xa4ff48]  CompileBroker::compiler_thread_loop()+0x568
V  [libjvm.so+0x1822cc7]  JavaThread::thread_main_inner()+0x2c7
V  [libjvm.so+0x1822fdb]  JavaThread::run()+0x20b
V  [libjvm.so+0x181e5ea]  Thread::call_run()+0x19a
V  [libjvm.so+0x1528556]  thread_native_entry(Thread*)+0x106

Comments
Fix Request (11u): Should get backported for parity with 11.0.14-oracle. Applies almost cleanly (only whitespace diff in removed hunk): https://github.com/openjdk/jdk11u-dev/pull/339 Needs to get backported together with JDK-8268672.
14-09-2021

The regression test compiler/loopstripmining/TestPinnedUseInOuterLSMUnusedBySfpt.java passed in JDK17 ATR
09-08-2021

Changeset: d4377afb Author: Roland Westrelin <roland@openjdk.org> Date: 2021-06-10 06:56:04 +0000 URL: https://git.openjdk.java.net/jdk/commit/d4377afb999f4f03d384ded97771c83ea1c1f513
10-06-2021

I checked that the failures with Test.java and Test_8252372.java no longer reproduce with the proposed fix.
01-06-2021

Raising priority because this shows up a lot.
01-06-2021

Attached another failing fuzzer test (Test_8252372.java, hs_err_8252372.log) that starts to fail after JDK-8252372 with the same assertion. Not sure if it is related to this bug or if it happens to be a separate issue. If so, please file a new bug for it.
31-05-2021

I've also attached a failing fuzzer test (Test.java, hs_err_pid27470.log) that starts to fail after JDK-8267754 (seems unrelated though) with the same assertion.
31-05-2021

Roland, could you please have a look?
25-05-2021

I can reproduce this with JDK 17 as well with attached MainClass.java (simply run 'java MainClass'), see hs_err_pid2611321.log
25-05-2021

ILW = Assert during C2 compilation because unexpected node is in outer strip mined loop, only showed up once, disable loop strip mining = HLM = P3
11-03-2021

Traced this back a bit further. The CastPP is added here: #0 Node::set_req (n=<optimized out>, i=<optimized out>, this=<optimized out>) at /oracle/jdk11u-cpu/open/src/hotspot/share/opto/node.hpp:419 #1 ConstraintCastNode::make_cast (opcode=<optimized out>, c=0x7f50c10ea328, n=<optimized out>, t=<optimized out>, carry_dependency=<optimized out>) at /oracle/jdk11u-cpu/open/src/hotspot/share/opto/castnode.cpp:101 #2 0x00007f50e759b9e8 in PhiNode::Ideal (this=0x7f50c10ee5c0, phase=0x7f50ba5f6660, can_reshape=true) at /oracle/jdk11u-cpu/open/src/hotspot/share/opto/cfgnode.cpp:1773 For this Phi: 8414 CountedLoopEnd === 7523 8413 [[ 8415 4811 ]] [lt] P=0,844259, C=29958,000000 !orig=[6046] !jvms: Matcher::getTextLength @ bci:4 Matcher::reset @ bci:110 Matcher::find @ bci:25 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 11794 CountedLoopEnd === 11793 2054 [[ 11795 11804 ]] P=0,844259, C=29958,000000 !orig=8414,[6046] !jvms: Formatter$Flags::parse @ bci:39 Formatter$FormatSpecifier::flags @ bci:4 Formatter$FormatSpecifier::<init> @ bci:54 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 8647 Proj === 8645 [[ 6946 2418 11788 13247 13248 ]] #2 Oop:java/util/Formatter$Flags * !orig=[3494],[17517] !jvms: Matcher::search @ bci:51 Matcher::find @ bci:31 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 11789 IfTrue === 11787 [[ 11788 11790 2418 ]] #1 !orig=[3493] !jvms: Formatter$Flags::parse @ bci:39 Formatter$FormatSpecifier::flags @ bci:4 Formatter$FormatSpecifier::<init> @ bci:54 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 8415 IfFalse === 8414 [[ 11805 ]] #0 !orig=8018 !jvms: Matcher::reset @ bci:70 Matcher::find @ bci:25 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 11804 IfFalse === 11794 [[ 11805 ]] #0 !orig=8415,8018 !jvms: Formatter$Flags::parse @ bci:58 Formatter$FormatSpecifier::flags @ bci:4 Formatter$FormatSpecifier::<init> @ bci:54 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 2418 CastPP === 11789 8647 [[ 11902 3495 3495 ]] #java/util/Formatter$Flags:NotNull * Oop:java/util/Formatter$Flags:NotNull * !orig=[4846] !jvms: StringLatin1::indexOf @ bci:38 String::indexOf @ bci:13 String::indexOf @ bci:3 AbstractValidatingLambdaMetafactory::<init> @ bci:308 11788 CastPP === 11789 8647 [[ 11769 11769 11902 ]] #java/util/Formatter$Flags:NotNull * Oop:java/util/Formatter$Flags:NotNull * !orig=2418,[4846] !jvms: Formatter$Flags::parse @ bci:-1 Formatter$FormatSpecifier::flags @ bci:4 Formatter$FormatSpecifier::<init> @ bci:54 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 11805 Region === 11805 11804 8415 [[ 11805 8420 11811 11895 11902 7525 13248 ]] !jvms: Formatter$Flags::parse @ bci:58 Formatter$FormatSpecifier::flags @ bci:4 Formatter$FormatSpecifier::<init> @ bci:54 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 11902 Phi === 11805 11788 2418 [[ 3509 ]] #java/util/Formatter$Flags:NotNull * Oop:java/util/Formatter$Flags:NotNull * !jvms: Formatter$FormatSpecifier::flags @ bci:4 Formatter$FormatSpecifier::<init> @ bci:54 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 $50 = void
11-03-2021

Offending node is a CastPP: 4538 AddP === _ 2053 2053 1332 [[ 7452 3283 8645 7489 6000 7462 7776 ]] Oop:java/util/Formatter$FormatSpecifier:NotNull:exact+32 * !jvms: StringUTF16::indexOf @ bci:31 String::indexOf @ bci:25 String::indexOf @ bci:3 AbstractValidatingLambdaMetafactory::<init> @ bci:344 6000 LoadP === _ 3413 4538 [[ 7462 7489 8645 ]] @java/util/Formatter$FormatSpecifier+32 *, name=f, idx=98; #java/util/Formatter$Flags * Oop:java/util/Formatter$Flags * !orig=[17513] !jvms: Matcher::reset @ bci:26 Matcher::<init> @ bci:90 Pattern::matcher @ bci:38 Formatter::parse @ bci:12 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 3482 Proj === 4804 [[ 11761 11785 8072 4845 2412 6059 5556 5564 7525 2409 6945 4816 8073 2415 2412 4845 7524 7303 4824 2421 2417 6059 2421 6940 2409 7524 3491 8645 2417 2415 6943 ]] #2 Memory: @rawptr:BotPTR, idx=Raw; !orig=[17463],[17470] !jvms: StringUTF16::indexOf @ bci:6 String::indexOf @ bci:25 String::indexOf @ bci:3 AbstractValidatingLambdaMetafactory::<init> @ bci:326 3483 Proj === 4804 [[ 2403 8645 ]] #0 !orig=[4805] !jvms: StringUTF16::indexOf @ bci:6 String::indexOf @ bci:25 String::indexOf @ bci:3 AbstractValidatingLambdaMetafactory::<init> @ bci:326 8413 Bool === _ 8412 [[ 8414 ]] [lt] !orig=[6942] !jvms: String::length @ bci:6 Matcher::getTextLength @ bci:4 Matcher::reset @ bci:110 Matcher::find @ bci:25 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 7523 IfTrue === 6952 [[ 8414 ]] #1 !orig=[21524] !jvms: Matcher::reset @ bci:23 Matcher::find @ bci:25 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 8645 LoadBarrier === 3483 3482 6000 4538 1 [[ 8646 8647 ]] !orig=4821 !jvms: Matcher::search @ bci:51 Matcher::find @ bci:31 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 8414 CountedLoopEnd === 7523 8413 [[ 8415 4811 ]] [lt] P=0,844259, C=29958,000000 !orig=[6046] !jvms: Matcher::getTextLength @ bci:4 Matcher::reset @ bci:110 Matcher::find @ bci:25 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 8647 Proj === 8645 [[ 6946 2418 13248 13247 ]] #2 Oop:java/util/Formatter$Flags * !orig=[3494],[17517] !jvms: Matcher::search @ bci:51 Matcher::find @ bci:31 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 8415 IfFalse === 8414 [[ 7525 13248 8420 ]] #0 !orig=8018 !jvms: Matcher::reset @ bci:70 Matcher::find @ bci:25 Formatter::parse @ bci:35 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 13248 CastPP === 8415 8647 [[ 3509 ]] #java/util/Formatter$Flags:NotNull * carry dependency Oop:java/util/Formatter$Flags:NotNull * !orig=[11902] !jvms: Formatter$FormatSpecifier::flags @ bci:4 Formatter$FormatSpecifier::<init> @ bci:54 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 3509 CallStaticJava === 7540 2401 4845 374 1 ( 13248 2353 1208 1220 1229 1321 1212 1235 1214 1215 1216 1217 1 1 1 1 1041 1041 1526 1527 1533 1526 1527 1533 1546 1526 1527 1256 1256 1 1 1 1 1 1533 1526 1579 1589 1672 1664 1579 2053 2053 1533 1526 1589 2275 2053 ) [[ 6965 2442 2443 6966 ]] # Static java.util.Formatter$Flags::contains bool ( java/util/Formatter$Flags:NotNull *, java/util/Formatter$Flags * ) Formatter$FormatSpecifier::checkCharacter @ bci:80 Formatter$FormatSpecifier::<init> @ bci:186 Formatter::parse @ bci:88 Formatter::format @ bci:12 Formatter::format @ bci:7 String::format @ bci:9 AbstractValidatingLambdaMetafactory::<init> @ bci:401 !jvms: StringUTF16::indexOf @ bci:24 String::indexOf @ bci:25 String::indexOf @ bci:3 AbstractValidatingLambdaMetafactory::<init> @ bci:326 [~roland], does that ring a bell?
11-03-2021

The issue can be reproduced with attached replay file: java -XX:+ReplayIgnoreInitErrors -XX:+ReplayCompiles -XX:ReplayDataFile=replay_pid31609.log -XX:+UnlockExperimentalVMOptions -XX:+UseZGC I've verified that it's unrelated to JDK-8260420.
11-03-2021

This is a very generic failure mode and since the fix for JDK-8260420 has been backported, I don't think this failure is related.
11-03-2021

A similar fix has went few days ago : JDK-8262395. Requesting [~thartmann] to please assess.
09-03-2021