RFR: 8292054: Test runtime/posixSig/TestPosixSig.java fails with 'Test failed, bad output.' [v2]
Coleen Phillimore
coleenp at openjdk.org
Wed Aug 17 19:56:43 UTC 2022
On Wed, 17 Aug 2022 15:11:35 GMT, Harold Seigel <hseigel at openjdk.org> wrote:
>> test/hotspot/gtest/runtime/test_signals.cpp line 71:
>>
>>> 69: modified = strstr(modified + 1, "Handler was modified!");
>>> 70: ASSERT_NE(modified, nullptr) << "Only one message found";
>>> 71: ASSERT_EQ(strstr(modified + 1, "Handler was modified!"), nullptr) << "Too many messages found";
>>
>> Should this also assert that you only see one SIGFPE and one SIGILL handler once after both are modified ?
>
> The test could be changed to assert that but the main goal of the test is to check that the list of signals only appears once.
>
> The test is testing the fix for https://bugs.openjdk.org/browse/JDK-8285792. Without the fix for 8285792, users would see output like this if two handlers were modified. Note that the full list of signals appears twice!
>
> Warning: SIGILL handler modified!
> Signal Handlers:
> SIGSEGV: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGBUS: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGFPE: sig_handler in libTestPsig.so, mask=00000000000000000000000000000000, flags=none
> *** Handler was modified!
> *** Expected: javaSignalHandler in libjvm.so, mask=11100100110111111111111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGPIPE: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGXFSZ: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGILL: sig_handler in libTestPsig.so, mask=00000000000000000000000000000000, flags=none
> *** Handler was modified!
> *** Expected: javaSignalHandler in libjvm.so, mask=11100100110111111111111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGUSR2: SR_handler in libjvm.so, mask=00100000000000000000000000000000, flags=SA_RESTART|SA_SIGINFO
> SIGHUP: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGINT: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGTERM: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGQUIT: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGTRAP: SIG_DFL, mask=00000000000000000000000000000000, flags=none
> Consider using jsig library.
>
> Warning: SIGFPE handler modified!
> Signal Handlers:
> SIGSEGV: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGBUS: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGFPE: sig_handler in libTestPsig.so, mask=00000000000000000000000000000000, flags=none
> *** Handler was modified!
> *** Expected: javaSignalHandler in libjvm.so, mask=11100100110111111111111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGPIPE: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGXFSZ: javaSignalHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGILL: sig_handler in libTestPsig.so, mask=00000000000000000000000000000000, flags=none
> *** Handler was modified!
> *** Expected: javaSignalHandler in libjvm.so, mask=11100100110111111111111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGUSR2: SR_handler in libjvm.so, mask=00100000000000000000000000000000, flags=SA_RESTART|SA_SIGINFO
> SIGHUP: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGINT: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGTERM: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGQUIT: UserHandler in libjvm.so, mask=11100100010111111101111111111110, flags=SA_RESTART|SA_SIGINFO
> SIGTRAP: SIG_DFL, mask=00000000000000000000000000000000, flags=none
> Consider using jsig library.
>
> With the fix, the full list of signals should only appear once, showing both modified handlers.
I see. that's a lot of output. So you're testing that you only see "Handler was modified!" twice now.
-------------
PR: https://git.openjdk.org/jdk/pull/9882
More information about the hotspot-runtime-dev
mailing list