Integrated: 8344671: Few JFR streaming tests fail with application not alive error on MacOS 15

Larry Cable duke at openjdk.org
Wed Apr 2 16:03:04 UTC 2025


On Mon, 17 Mar 2025 18:26:57 GMT, Larry Cable <duke at openjdk.org> wrote:

> on both Linux and MacOS libattach utilizes UNIX signal (QUIT) to cause a target JVM (attachee) to create the socket file used as transport for subsequent jcmds (and other attach based interactions) and to listen upon that for such.
> 
> it should be noted that the default behavior for QUIT (if not blocked or caught) is to terminate the signalled process.
> 
> during the early lifetime of a JVM, its signal handlers are not yet installed, and thus any signal such as QUIT will cause the
> default behavior to occur, in this case the JVM will be terminated.
> 
> this is why some tests are failing with "not alive"
> 
> the "fix" is similar in nature to that already implemented for linux (however using a different OS dependent mechanism to obtain the attachee JVM's signal masks: sysctl(2)).
> 
> the method "checkCatchesAndSendQuitTo" will now obtain the "attachee" JVM signal masks and only kill(QUIT) if the
> current masks indicate that the JVM's signals are now being handled.
> 
> the behavior in the success case is now identical to the previous implementation, however should the target JVM not 
> become "ready" (signal handlers installed) prior to the attach "timeout" occurring the attach operation will throw an
> "AttachNotSupportedException" with a suitable error message.
> 
> see also: https://bugs.openjdk.org/browse/JDK-8350766

This pull request has now been integrated.

Changeset: d979bd85
Author:    Larry Cable <larry.cable at yahoo.com>
Committer: Kevin Walls <kevinw at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/d979bd859215a16e6398ae627acfd40e8d71102c
Stats:     60 lines in 3 files changed: 44 ins; 3 del; 13 mod

8344671: Few JFR streaming tests fail with application not alive error on MacOS 15

Reviewed-by: dholmes, kevinw

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

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


More information about the serviceability-dev mailing list