RFR: 8360707: Globally enumerate all blobs, stubs and entries

Andrew Dinn adinn at openjdk.org
Mon Jun 30 15:27:39 UTC 2025


On Mon, 30 Jun 2025 06:14:32 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>> Use the blob, stub and entry declarations to generate a single global enumeration for all blobs, likewise for all stubs and all entries. Modify stub generators in shared runtime, c1 runtime, c2 runtime and stub generator subsystems and their clients to use those enumerations consistently.
>
> @adinn I got one test failure on s390: `test/hotspot/jtreg/runtime/ErrorHandling/MachCodeFramesInErrorFile.java`
> 
> 
> java.lang.RuntimeException: 1 < 2
> 	at jdk.test.lib.Asserts.fail(Asserts.java:715)
> 	at MachCodeFramesInErrorFile.run(MachCodeFramesInErrorFile.java:170)
> 	at MachCodeFramesInErrorFile.main(MachCodeFramesInErrorFile.java:108)
> 	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
> 	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
> 	at com.sun.javatest.regtest.agent.MainActionHelper$AgentVMRunnable.run(MainActionHelper.java:335)
> 	at java.base/java.lang.Thread.run(Thread.java:1474)
> 
> 
> I didn't hs_err even in full verbose. But attaching overall run in txt file: 
> [26004_test_failure.txt](https://github.com/user-attachments/files/20973513/26004_test_failure.txt)

@offamitkumar I'm somewhat puzzled by your test result. It indicates that the hserr file generated during the test contained a stack trace for the crash point listing two compiled Java method frames but that only one [MachCode][/MachCode] listing was generated into the file. That seems a bit odd since the other arches seem to generate at least 2 listings.

I am seeing if I can reproduce the error on a borrowed s390 machine.

One thing you might perhaps be able to try meanwhile to check what is going on is to run the test again with env var DEBUG set

    $ DEBUG=debug make test TEST=TEST=test/hotspot/jtreg/runtime/ErrorHandling/MachCodeFramesInErrorFile.java

This ought to force the contents of the hserr file to be written to the System.err which means they will be visible in file `build/linux-s390x-server-fastdebug/test-support/jtreg_test_hotspot_jtreg_runtime_ErrorHandling_MachCodeFramesInErrorFile_java/runtime/ErrorHandling/MachCodeFramesInErrorFile.jtr`

The output may get truncated but even then it still might give us some idea of what is going wrong.

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

PR Comment: https://git.openjdk.org/jdk/pull/26004#issuecomment-3019608888


More information about the shenandoah-dev mailing list