RFR: 8293166: jdk/jfr/jvm/TestDumpOnCrash.java fails on Linux ppc64le and Linux aarch64 [v2]

Thomas Stuefe stuefe at openjdk.org
Wed Nov 9 09:24:10 UTC 2022


On Wed, 9 Nov 2022 08:44:56 GMT, Ralf Schmelter <rschmelter at openjdk.org> wrote:

>> Disabling tiered compilation avoids the sporadic failures of the test.
>> 
>> On ppc64 and aarch64 a trap-based mechanism is used to switch from tier 1 to higher tiers. In the test a crash is provoked and a secondary error handler is installed at the start of error reporting, which doesn't handle these traps anymore and just stops the thread. But since the thread state is 'in Java', this prevents any safepoint to be executed. And this causes the JFR emergency dump to hang in a native to VM transition, so the dump is not written and the test fails (see the  bug report for more details).
>
> Ralf Schmelter has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Adjust copyright

Just to make sure I understand.

Java Thread A runs into a fatal error. Secondary signal handler is installed. Error reporting starts, hs-err file is written. Then, JFR emergency dump is attempted. JFR emergency dump tries to enter native VM state. That causes SIGTRAP to fire in a different thread B? But we don't handle SIGTRAP anymore, so now we get "Thread B also had an error"? And the safepoint times out?

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

PR: https://git.openjdk.org/jdk/pull/10943


More information about the hotspot-jfr-dev mailing list