PROBLEM: Hang in selftests/netfilter/nft_trans_stress.sh

From: Mirsad Goran Todorovac
Date: Tue Jan 03 2023 - 09:03:39 EST


Hi all,

The `make kselftest` hangs in netfilter/nft_trans_stress.sh test when testing 6.2.0-rc2
(attempted 2 times, waiting half an hour at least):

make[2]: Leaving directory '/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/net/openvswitch'
make[2]: Entering directory '/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/netfilter'
TAP version 13
1..17
# selftests: netfilter: nft_trans_stress.sh
# PASS: nft add/delete test returned 0
# PASS: nft reload test returned 0

The test script seems to be stuck in ping flood:
%Cpu(s): 0.9 us, 21.5 sy, 0.0 ni, 0.0 id, 0.0 wa, 0.0 hi, 77.6 si, 0.0 st
MiB Mem : 7734.0 total, 4624.5 free, 1966.2 used, 1143.2 buff/cache
MiB Swap: 10240.0 total, 9422.2 free, 817.8 used. 4946.0 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
602866 root 20 0 13048 2944 2816 R 51.4 0.0 6:31.68 ping -6 ::1 -fq
602869 root 20 0 13048 2944 2816 R 51.4 0.0 6:56.59 ping -6 ::1 -fq
602871 root 20 0 13048 2944 2816 R 51.4 0.0 6:47.24 ping -4 127.0.0.1 -fq
602872 root 20 0 13048 2944 2816 R 50.5 0.0 6:47.24 ping -6 ::1 -fq
602868 root 20 0 13048 2944 2816 R 49.5 0.0 6:56.60 ping -4 127.0.0.1 -fq
602856 root 20 0 13048 2944 2816 R 48.6 0.0 6:53.21 ping -4 127.0.0.1 -fq
602857 root 20 0 13048 2944 2816 R 48.6 0.0 6:53.21 ping -6 ::1 -fq
602865 root 20 0 13048 2944 2816 R 48.6 0.0 6:31.64 ping -4 127.0.0.1 -fq
602853 root 20 0 13048 2944 2816 R 47.7 0.0 6:42.07 ping -4 127.0.0.1 -fq
602863 root 20 0 13048 2944 2816 R 47.7 0.0 6:41.97 ping -6 ::1 -fq
602850 root 20 0 13048 2944 2816 R 46.7 0.0 6:45.15 ping -4 127.0.0.1 -fq
602851 root 20 0 13048 2944 2816 R 46.7 0.0 6:45.16 ping -6 ::1 -fq
602862 root 20 0 13048 2944 2816 R 46.7 0.0 6:41.96 ping -4 127.0.0.1 -fq
602854 root 20 0 13048 2944 2816 R 45.8 0.0 6:42.05 ping -6 ::1 -fq
602859 root 20 0 13048 2944 2816 R 44.9 0.0 6:43.49 ping -4 127.0.0.1 -fq
602860 root 20 0 13048 2944 2816 R 43.9 0.0 6:43.53 ping -6 ::1 -fq
15 root 20 0 0 0 0 R 9.3 0.0 14:17.74 [rcu_preempt]

Here is the process list [edited]:
root 455273 156779 0 12:54 pts/2 00:00:00 make kselftest
root 455274 156779 0 12:54 pts/2 00:00:02 tee ../kselftest-6.2.0-rc2-2.log
root 455556 455273 0 12:54 pts/2 00:00:00 make -C ./tools/testing/selftests run_tests
root 455864 455556 0 12:54 pts/2 00:00:00 /bin/sh -c for TARGET in alsa amd-pstate arm64 breakpoints capabilities cgroup clone3 core cpufreq cpu-hotplug damon drivers/dma-buf drivers/s390x/uvdevice drivers/net/bonding drivers/net/team efivarfs exec filesystems filesystems/binderfs filesystems/epoll filesystems/fat firmware fpu ftrace futex gpio intel_pstate iommu ipc ir kcmp kexec kvm landlock lib livepatch lkdtm membarrier memfd memory-hotplug mincore mount mount_setattr move_mount_set_group mqueue nci net net/af_unix net/forwarding net/hsr net/mptcp net/openvswitch netfilter nsfs pidfd pid_namespace powerpc proc pstore ptrace openat2 resctrl rlimits rseq rtc seccomp sgx sigaltstack size sparc64 splice static_keys sync syscall_user_dispatch sysctl tc-testing tdx timens timers tmpfs tpm2 user vDSO vm x86 zram; do \ ?BUILD_TARGET=$BUILD/$TARGET;?\ ?make OUTPUT=$BUILD_TARGET -C $TARGET run_tests \ ???O=/home/marvin/linux/kernel/linux_torvalds;?? \ done;
/netfilter -C netfilter run_tests O=/home/marvin/linux/kernel/linux_torvalds
root 599609 599608 0 14:11 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests"; . /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many nft_trans_stress.sh nft_fib.sh nft_nat.sh bridge_brouter.sh conntrack_icmp_related.sh nft_flowtable.sh ipvs.sh nft_concat_range.sh nft_conntrack_helper.sh nft_queue.sh nft_meta.sh nf_nat_edemux.sh ipip-conntrack-mtu.sh conntrack_tcp_unreplied.sh conntrack_vrf.sh nft_synproxy.sh rpath.sh
root 599622 599609 0 14:11 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests"; . /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many nft_trans_stress.sh nft_fib.sh nft_nat.sh bridge_brouter.sh conntrack_icmp_related.sh nft_flowtable.sh ipvs.sh nft_concat_range.sh nft_conntrack_helper.sh nft_queue.sh nft_meta.sh nf_nat_edemux.sh ipip-conntrack-mtu.sh conntrack_tcp_unreplied.sh conntrack_vrf.sh nft_synproxy.sh rpath.sh
root 599623 599622 0 14:11 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests"; . /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many nft_trans_stress.sh nft_fib.sh nft_nat.sh bridge_brouter.sh conntrack_icmp_related.sh nft_flowtable.sh ipvs.sh nft_concat_range.sh nft_conntrack_helper.sh nft_queue.sh nft_meta.sh nf_nat_edemux.sh ipip-conntrack-mtu.sh conntrack_tcp_unreplied.sh conntrack_vrf.sh nft_synproxy.sh rpath.sh
root 599624 599623 0 14:11 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests"; . /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many nft_trans_stress.sh nft_fib.sh nft_nat.sh bridge_brouter.sh conntrack_icmp_related.sh nft_flowtable.sh ipvs.sh nft_concat_range.sh nft_conntrack_helper.sh nft_queue.sh nft_meta.sh nf_nat_edemux.sh ipip-conntrack-mtu.sh conntrack_tcp_unreplied.sh conntrack_vrf.sh nft_synproxy.sh rpath.sh
root 599628 599624 0 14:11 pts/2 00:00:00 /bin/sh -c BASE_DIR="/home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests"; . /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/runner.sh; if [ "X" != "X" ]; then per_test_logging=1; fi; run_many nft_trans_stress.sh nft_fib.sh nft_nat.sh bridge_brouter.sh conntrack_icmp_related.sh nft_flowtable.sh ipvs.sh nft_concat_range.sh nft_conntrack_helper.sh nft_queue.sh nft_meta.sh nf_nat_edemux.sh ipip-conntrack-mtu.sh conntrack_tcp_unreplied.sh conntrack_vrf.sh nft_synproxy.sh rpath.sh
root 599629 599628 0 14:11 pts/2 00:00:00 perl /home/marvin/linux/kernel/linux_torvalds/tools/testing/selftests/kselftest/prefix.pl
root 602850 2528 46 14:11 pts/2 00:01:24 ping -4 127.0.0.1 -fq
root 602851 2528 46 14:11 pts/2 00:01:24 ping -6 ::1 -fq
root 602853 2528 46 14:11 pts/2 00:01:25 ping -4 127.0.0.1 -fq
root 602854 2528 46 14:11 pts/2 00:01:25 ping -6 ::1 -fq
root 602856 2528 47 14:11 pts/2 00:01:27 ping -4 127.0.0.1 -fq
root 602857 2528 47 14:11 pts/2 00:01:27 ping -6 ::1 -fq
root 602859 2528 45 14:11 pts/2 00:01:23 ping -4 127.0.0.1 -fq
root 602860 2528 45 14:11 pts/2 00:01:23 ping -6 ::1 -fq
root 602862 2528 47 14:11 pts/2 00:01:26 ping -4 127.0.0.1 -fq
root 602863 2528 47 14:11 pts/2 00:01:26 ping -6 ::1 -fq
root 602865 2528 46 14:11 pts/2 00:01:25 ping -4 127.0.0.1 -fq
root 602866 2528 46 14:11 pts/2 00:01:25 ping -6 ::1 -fq
root 602868 2528 48 14:11 pts/2 00:01:28 ping -4 127.0.0.1 -fq
root 602869 2528 48 14:11 pts/2 00:01:28 ping -6 ::1 -fq
root 602871 2528 46 14:11 pts/2 00:01:25 ping -4 127.0.0.1 -fq
root 602872 2528 46 14:11 pts/2 00:01:25 ping -6 ::1 -fq

The platform is Lenovo Ideapad 3 15ITL6 BIOS GGCN50WW running Ubuntu 22.10 kinetic kudu
with XWayland and vanilla mainline Torvalds tree kernel with MGLRU|KMEMLEAK enabled in config.

I am available for additional diagnostics.

Please find the dmesg log, config and the hardware list attached.

NOTE: NMI backtrace reports the kernel as "Tainted", but I am not aware of any modules
force-loaded or proprietary modules.

Thanks,

--
Mirsad Goran Todorovac
Sistem inženjer
Grafički fakultet | Akademija likovnih umjetnosti
Sveučilište u Zagrebu
--
System engineer
Faculty of Graphic Arts | Academy of Fine Arts
University of Zagreb, Republic of Croatia
The European Union

Attachment: config-6.2.0-rc2-mglru-kmemlk-nokasan+.xz
Description: application/xz

Attachment: lshw.txt.xz
Description: application/xz

Attachment: dmesg.log.xz
Description: application/xz

Attachment: lsmod.txt.xz
Description: application/xz