JDK-8352567 : [s390x] disable JFR tests requiring JFR stubs
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25,26
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • CPU: s390x
  • Submitted: 2025-03-21
  • Updated: 2025-11-21
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.
Other
tbdUnresolved
Related Reports
Duplicate :  
Description
The test fails with the following stack trace:
----
Thread 33 "C2 CompilerThre" received signal SIGSEGV, Segmentation fault.
0x000003fffb67b622 in CodeBlob::code_begin (this=0x0) at /home/ubuntu/jdk/src/hotspot/share/code/codeBlob.hpp:197
197	  address    code_begin() const               { return (address)    header_begin() + _code_offset; }
(gdb) where
#0  0x000003fffb67b622 in CodeBlob::code_begin (this=0x0)
    at /home/ubuntu/jdk/src/hotspot/share/code/codeBlob.hpp:197
#1  0x000003fffb67b670 in RuntimeStub::entry_point (this=0x0)
    at /home/ubuntu/jdk/src/hotspot/share/code/codeBlob.hpp:423
#2  0x000003fffc507ca8 in SharedRuntime::jfr_write_checkpoint ()
    at /home/ubuntu/jdk/src/hotspot/share/runtime/sharedRuntime.hpp:295
#3  0x000003fffc4e14e4 in LibraryCallKit::inline_native_getEventWriter (this=0x3ffd8a7b980)
    at /home/ubuntu/jdk/src/hotspot/share/opto/library_call.cpp:3364
#4  0x000003fffc4cfc8e in LibraryCallKit::try_to_inline (this=0x3ffd8a7b980, predicate=-1)
    at /home/ubuntu/jdk/src/hotspot/share/opto/library_call.cpp:493
#5  0x000003fffc4cd532 in LibraryIntrinsic::generate (this=0x3ffa8829a18, jvms=0x3ffa8829998)
    at /home/ubuntu/jdk/src/hotspot/share/opto/library_call.cpp:119
#6  0x000003fffbe1fec6 in Parse::do_call (this=0x3ffd8a7c5e0)
    at /home/ubuntu/jdk/src/hotspot/share/opto/doCall.cpp:679
#7  0x000003fffc83604c in Parse::do_one_bytecode (this=0x3ffd8a7c5e0)
    at /home/ubuntu/jdk/src/hotspot/share/opto/parse2.cpp:2741
#8  0x000003fffc81f1a8 in Parse::do_one_block (this=0x3ffd8a7c5e0)
    at /home/ubuntu/jdk/src/hotspot/share/opto/parse1.cpp:1586
#9  0x000003fffc819b98 in Parse::do_all_blocks (this=0x3ffd8a7c5e0)
    at /home/ubuntu/jdk/src/hotspot/share/opto/parse1.cpp:724
#10 0x000003fffc8194b8 in Parse::Parse (this=0x3ffd8a7c5e0, caller=0x3ffa8829588, parse_method=0x3ffa80b5b00, 
    expected_uses=600) at /home/ubuntu/jdk/src/hotspot/share/opto/parse1.cpp:628
#11 0x000003fffba4504a in ParseGenerator::generate (this=0x3ffa8829570, jvms=0x3ffa8829588)
    at /home/ubuntu/jdk/src/hotspot/share/opto/callGenerator.cpp:97
#12 0x000003fffbc18738 in Compile::Compile (this=0x3ffd8a7d598, ci_env=0x3ffd8a7e480, target=0x3ffa80b5b00, 
    osr_bci=-1, options=..., directive=0x3fff44de3b0) at /home/ubuntu/jdk/src/hotspot/share/opto/compile.cpp:797
#13 0x000003fffba414ce in C2Compiler::compile_method (this=0x3fff45585d0, env=0x3ffd8a7e480, 
    target=0x3ffa80b5b00, entry_bci=-1, install_code=true, directive=0x3fff44de3b0)
    at /home/ubuntu/jdk/src/hotspot/share/opto/c2compiler.cpp:141
#14 0x000003fffbc4a4d8 in CompileBroker::invoke_compiler_on_method (task=0x3ffa4001040)
    at /home/ubuntu/jdk/src/hotspot/share/compiler/compileBroker.cpp:2331
#15 0x000003fffbc48d0c in CompileBroker::compiler_thread_loop ()
    at /home/ubuntu/jdk/src/hotspot/share/compiler/compileBroker.cpp:1975
#16 0x000003fffbc7600a in CompilerThread::thread_entry (thread=0x3ffa87e8130, __the_thread__=0x3ffa87e8130)
    at /home/ubuntu/jdk/src/hotspot/share/compiler/compilerThread.cpp:67
    
    (gdb) print SharedRuntime::_jfr_write_checkpoint_blob
$15 = (RuntimeStub *) 0x0
----
because SharedRuntime::generate_jfr_write_checkpoint is not implemented for S390x:
https://github.com/openjdk/jdk/blame/06ba6cf3a137a6cdf572a876a46d18e51c248451/src/hotspot/cpu/s390/sharedRuntime_s390.cpp#L3412

The tests still fail with continuations enabled - because the continuation stubs are not implemented for S390x. 
https://github.com/openjdk/jdk/blob/c2ea75b81f74ff586fdd9c51168e8f4c7a7b2a6a/src/hotspot/cpu/s390/stubGenerator_s390.cpp#L3226


Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/28444 Date: 2025-11-21 01:48:27 +0000
21-11-2025

Both JFR stubs and continuations stubs are not implemented. I will propose a PR that adds an architecture check.
21-11-2025

Hi, I've updated the title and will prepare the PR next week (as I am away this week).
05-11-2025

[~vpetko] I guess we can use this issue itself. You may want to open it again and update the title also.
05-11-2025

I can see one more failure in tier1 : compiler/intrinsics/TestReturnOopSetForJFRWriteCheckpoint.java Please go ahead with the PR. I am just confused over one thing. Looking at the below code it seems that these test require a stub which is nullptr if there is no continuation support then why these test are not under requirement "vm.continuations" ? #if INCLUDE_JFR RuntimeStub* SharedRuntime::generate_jfr_write_checkpoint() { if (!Continuations::enabled()) return nullptr; Unimplemented(); return nullptr; } RuntimeStub* SharedRuntime::generate_jfr_return_lease() { if (!Continuations::enabled()) return nullptr; Unimplemented(); return nullptr; } #endif // INCLUDE_JFR Wouldn't it be a better solution to add this as a requirement because we can show that these test require stubs from continuations ?
05-11-2025

Hi, I have run make test TEST=test/jdk/jdk/jfr and attached summary.txt with the failures that seems to be caused by this bug.
04-11-2025

[~vpetko] are there more JFR test case which are failing ? Probably you can share a list, and couple of testcase I have with me which are failing on headstream but they are passing in the loom port. We can problemlist all of them at once, and I will enable them again with the PR. Initially I had idea that I can raise the PR quickly but now I have to finish JEP 491 implementation as well and then there are couple of additional changes as well which I need to take care with.
04-11-2025

Hi, The test still fails on s390x, maybe we should problemlist it? Best Regards, Vladimir.
16-10-2025

Hi Vladimir, I do have implementation for the jfr stubs, but I haven't created the PR as for other architectures it was implemented with Project Loom Port. I will look into it and if the generated code is indeed used in this test case I will create a PR.
02-04-2025