Re: [main-line][PowerPC]selftests/powerpc/signal: sigfuz fails

From: Venkat Rao Bagalkote
Date: Wed Mar 19 2025 - 07:58:12 EST


/Resending in proper format./

On 18/03/25 4:20 pm, Madhavan Srinivasan wrote:

On 3/17/25 4:43 PM, Michael Ellerman wrote:
Venkat Rao Bagalkote <venkat88@xxxxxxxxxxxxx> writes:
Greetings!!

I am observing selftests/powerpc/signal:sigfuz test fails on linux
mainline repo on IBM Power10 systems.

The test passes on the kernel with commit head:
619f0b6fad524f08d493a98d55bac9ab8895e3a6 and fails on the kernel with
commit head: ce69b4019001407f9cd738dd2ba217b3a8ab831b on the main line.


Repo: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

I tried to do git bisect and the bisect tool pointed first bad commit
to: 16ebb6f5b6295c9688749862a39a4889c56227f8.

But upon reverting the first bad commit issue is still seen. So please
ignore, if the bisection dosent help.


Error:

# selftests: powerpc/signal: sigfuz
# test: signal_fuzzer
# tags: git_version:v6.14-rc7-1-g49c747976afa
# !! killing signal_fuzzer
# !! child died by signal 15
# failure: signal_fuzzer
not ok 3 selftests: powerpc/signal: sigfuz # exit=1
That error means the test is timing out and being killed by the test
harness.

I increased the timeout from 0 to 120, I still see the issue.

Below are the logs with and with out time out.

# make -j 33 -C powerpc/signal/ run_tests

  CC       signal
  CC       signal_tm
  CC       sigfuz
  CC       sigreturn_vdso
  CC       sig_sc_double_restart
  CC       sigreturn_kernel
  CC       sigreturn_unaligned
TAP version 13
1..7
# timeout set to 0
# selftests: powerpc/signal: signal
# test: signal
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: signal
ok 1 selftests: powerpc/signal: signal
# timeout set to 0
# selftests: powerpc/signal: signal_tm
# test: signal_tm
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# [SKIP] Test skipped on line 58
# skip: signal_tm
ok 2 selftests: powerpc/signal: signal_tm
# timeout set to 0
# selftests: powerpc/signal: sigfuz
# test: signal_fuzzer
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# !! killing signal_fuzzer
# !! child died by signal 15
# failure: signal_fuzzer
not ok 3 selftests: powerpc/signal: sigfuz # exit=1
# timeout set to 0
# selftests: powerpc/signal: sigreturn_vdso
# test: sigreturn_vdso
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# VDSO is at 0x7fffb1860000-0x7fffb186ffff (65536 bytes)
# Signal delivered OK with VDSO mapped
# VDSO moved to 0x7fffb17f0000-0x7fffb17fffff (65536 bytes)
# Signal delivered OK with VDSO moved
# Unmapped VDSO
# Remapped the stack executable
# Signal delivered OK with VDSO unmapped
# success: sigreturn_vdso
ok 4 selftests: powerpc/signal: sigreturn_vdso
# timeout set to 0
# selftests: powerpc/signal: sig_sc_double_restart
# test: sig sys restart
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: sig sys restart
ok 5 selftests: powerpc/signal: sig_sc_double_restart
# timeout set to 0
# selftests: powerpc/signal: sigreturn_kernel
# test: sigreturn_kernel
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# All children killed as expected
# success: sigreturn_kernel
ok 6 selftests: powerpc/signal: sigreturn_kernel
# timeout set to 0
# selftests: powerpc/signal: sigreturn_unaligned
# test: sigreturn_unaligned
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: sigreturn_unaligned
ok 7 selftests: powerpc/signal: sigreturn_unaligned
make: Leaving directory '/root/linux/tools/testing/selftests/powerpc/signal'

# vi powerpc/signal/settings

# make -j 33 -C powerpc/signal/ run_tests

TAP version 13
1..7
# timeout set to 120
# selftests: powerpc/signal: signal
# test: signal
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: signal
ok 1 selftests: powerpc/signal: signal
# timeout set to 120
# selftests: powerpc/signal: signal_tm
# test: signal_tm
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# [SKIP] Test skipped on line 58
# skip: signal_tm
ok 2 selftests: powerpc/signal: signal_tm
# timeout set to 120
# selftests: powerpc/signal: sigfuz
# test: signal_fuzzer
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
#
not ok 3 selftests: powerpc/signal: sigfuz # TIMEOUT 120 seconds
# timeout set to 120
# selftests: powerpc/signal: sigreturn_vdso
# test: sigreturn_vdso
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# VDSO is at 0x7fff8b170000-0x7fff8b17ffff (65536 bytes)
# Signal delivered OK with VDSO mapped
# VDSO moved to 0x7fff8b100000-0x7fff8b10ffff (65536 bytes)
# Signal delivered OK with VDSO moved
# Unmapped VDSO
# Remapped the stack executable
# Signal delivered OK with VDSO unmapped
# success: sigreturn_vdso
ok 4 selftests: powerpc/signal: sigreturn_vdso
# timeout set to 120
# selftests: powerpc/signal: sig_sc_double_restart
# test: sig sys restart
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: sig sys restart
ok 5 selftests: powerpc/signal: sig_sc_double_restart
# timeout set to 120
# selftests: powerpc/signal: sigreturn_kernel
# test: sigreturn_kernel
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# All children killed as expected
# success: sigreturn_kernel
ok 6 selftests: powerpc/signal: sigreturn_kernel
# timeout set to 120
# selftests: powerpc/signal: sigreturn_unaligned
# test: sigreturn_unaligned
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: sigreturn_unaligned
ok 7 selftests: powerpc/signal: sigreturn_unaligned
make: Leaving directory '/root/linux/tools/testing/selftests/powerpc/signal'

# uname -r
6.14.0-rc7-00069-g81e4f8d68c66

I tired multiple times with the config shared by Venkat in my P10 LPAR
and it always passes for me with default timeout as 0.


ok 2 selftests: powerpc/signal: signal_tm
# timeout set to 0
# selftests: powerpc/signal: sigfuz
# test: signal_fuzzer
# tags: git_version:v6.14-rc2-61-g861efb8a48ee
# success: signal_fuzzer
ok 3 selftests: powerpc/signal: sigfuz
# timeout set to 0
# selftests: powerpc/signal: sigreturn_vdso
# test: sigreturn_vdso
# tags: git_version:v6.14-rc2-61-g861efb8a48ee
# VDSO is at 0x7fff9aac0000-0x7fff9aacffff (65536 bytes)
# Signal delivered OK with VDSO mapped
# VDSO moved to 0x7fff9aa50000-0x7fff9aa5ffff (65536 bytes)
# Signal delivered OK with VDSO moved
# Unmapped VDSO
# Remapped the stack executable
# Signal delivered OK with VDSO unmapped
# success: sigreturn_vdso


Setup: P10 LPAR with 16CPUs, LPAR running only the selftest
Kernel: powerpc/next (861efb8a48ee), config shared by venkat

Maddy

One key difference which I could figure out so far in the set up is, mine is Power10 system running on P11 FW.

I quickly gave a try with P10 system with P10 FW, and issue is not seen.

Logs from P10 system running on P10 FW:


1..7
# timeout set to 0
# selftests: powerpc/signal: signal
# test: signal
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: signal
ok 1 selftests: powerpc/signal: signal
# timeout set to 0
# selftests: powerpc/signal: signal_tm
# test: signal_tm
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# [SKIP] Test skipped on line 58
# skip: signal_tm
ok 2 selftests: powerpc/signal: signal_tm
# timeout set to 0
# selftests: powerpc/signal: sigfuz
# test: signal_fuzzer
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: signal_fuzzer
ok 3 selftests: powerpc/signal: sigfuz
# timeout set to 0
# selftests: powerpc/signal: sigreturn_vdso
# test: sigreturn_vdso
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# VDSO is at 0x7fffae2e0000-0x7fffae2effff (65536 bytes)
# Signal delivered OK with VDSO mapped
# VDSO moved to 0x7fffae270000-0x7fffae27ffff (65536 bytes)
# Signal delivered OK with VDSO moved
# Unmapped VDSO
# Remapped the stack executable
# Signal delivered OK with VDSO unmapped
# success: sigreturn_vdso
ok 4 selftests: powerpc/signal: sigreturn_vdso
# timeout set to 0
# selftests: powerpc/signal: sig_sc_double_restart
# test: sig sys restart
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: sig sys restart
ok 5 selftests: powerpc/signal: sig_sc_double_restart
# timeout set to 0
# selftests: powerpc/signal: sigreturn_kernel
# test: sigreturn_kernel
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# All children killed as expected
# success: sigreturn_kernel
ok 6 selftests: powerpc/signal: sigreturn_kernel
# timeout set to 0
# selftests: powerpc/signal: sigreturn_unaligned
# test: sigreturn_unaligned
# tags: git_version:v6.14-rc7-69-g81e4f8d68c66
# success: sigreturn_unaligned
ok 7 selftests: powerpc/signal: sigreturn_unaligned

Regards,

Venkat.


That could be due to a bug, but it could just be that your system is
overloaded or something. You can increase the timeout in the code by
adding a call to test_harness_timeout().

The test also includes lots of randomisation, so if you actually need to
bisect it you'd want to change the code to use a consistent random seed
in the calls to srand().

cheers