RFR: 8256594: Unexpected warning: SIGSEGV handler flags expected:SA_RESTART|SA_SIGINFO found:SA_RESTART|SA_SIGINFO [v2]

Daniel D.Daugherty dcubed at openjdk.java.net
Fri Nov 20 03:58:04 UTC 2020


On Thu, 19 Nov 2020 22:25:19 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> In the recent POSIX signal code cleanup (JDK-8253742) I misunderstood the role of the SIGNIFICANT_SIGNAL_MASK and removing its application causes -Xcheck:jni to report errors with the signal handler due to an unexpected bit in the sigaction.sa_flags field.
>> 
>> This fix restores the masking of that flag, for Linux only, and more clearly indicating what it is. I also augmented the flag printing code to show when an unexpected flag is present (and so avoid the mysterious "expected X found X" message).
>> 
>> See bug report for more details.
>> 
>> Thanks.
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Added missing mask of VMError::get_resetted_sigflags(sig)

Changes match what you described. Thumbs up.

src/hotspot/os/posix/signals_posix.cpp line 54:

> 52: // in this flag and need to ignore it when checking our
> 53: // own flag settings.
> 54: // Note: SA_RESTORER is not exposed through signal.h so we

Should this comment mention `SA_RESTORER` or `SA_RESTORER_FLAG_MASK`?

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

Marked as reviewed by dcubed (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1309


More information about the hotspot-runtime-dev mailing list