I found this issue is limited to node "dazzle", other ARM64 nodes like
kopter-kernel and scobee-kernel they do not have this issue.
Also, a manual test show the real cause seems to be the efivarfs.sh in
efivarfs, which can be found failed with timeout in the RT test report.
Running the test manually on dazzle with "set -x" added to the script:
$ sudo ./efivarfs.sh
+ check_prereqs
+ local 'msg=skip all tests:'
+ '[' 0 '!=' 0 ']'
+ grep -q '^\S\+ /sys/firmware/efi/efivars efivarfs' /proc/mounts
+ rc=0
+ run_test test_create
+ local test=test_create
+ echo --------------------
--------------------
+ echo 'running test_create'
running test_create
+ echo --------------------
--------------------
++ type -t test_create
+ '[' function = function ']'
+ test_create
+ local 'attrs=\x07\x00\x00\x00'
+ local
file=/sys/firmware/efi/efivars/test_create-210be57c-9849-4fc7-a635-e6382d1aec27
+ printf '\x07\x00\x00\x00\x00'
dmesg:
[ 420.122478] rcu: INFO: rcu_preempt detected stalls on CPUs/tasks:
[ 420.128599] rcu: 20-...0: (9 GPs behind) idle=1a04/1/0x4000000000000000
softirq=1701/1701 fqs=6790
[ 420.137665] (detected by 30, t=15005 jiffies, g=6805, q=768 ncpus=32)
[ 420.137670] Task dump for CPU 20:
[ 420.137672] task:kworker/u64:0 state:R running task stack:0 pid:9
ppid:2 flags:0x0000000a
[ 420.137680] Workqueue: efi_rts_wq efi_call_rts
[ 420.137691] Call trace:
[ 420.137693] __switch_to+0xbc/0x100
[ 420.137699] 0xffff80002585bb2c
[ 484.991153] INFO: task efivarfs.sh:1786 blocked for more than 120 seconds.
[ 484.998061] Not tainted 6.2.0-20-generic #20-Ubuntu
[ 485.003478] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this
message.
[ 485.011332] task:efivarfs.sh state:D stack:0 pid:1786 ppid:1782
flags:0x00000004
[ 485.011339] Call trace:
[ 485.011341] __switch_to+0xbc/0x100
[ 485.011349] __schedule+0x2fc/0x7b0
[ 485.011353] schedule+0x68/0x160
[ 485.011356] schedule_timeout+0x1a8/0x1dc
[ 485.011360] wait_for_completion+0xe0/0x180
[ 485.011364] virt_efi_set_variable+0x16c/0x220
[ 485.011369] efivar_set_variable_locked+0x80/0x120
[ 485.011372] efivar_entry_set_get_size+0xc4/0x180
[ 485.011377] efivarfs_file_write+0xb0/0x1d0
[ 485.011380] vfs_write+0xd0/0x310
[ 485.011385] ksys_write+0x7c/0x130
[ 485.011388] __arm64_sys_write+0x28/0x50
[ 485.011392] invoke_syscall+0x7c/0x124
[ 485.011396] el0_svc_common.constprop.0+0x5c/0x1cc
[ 485.011399] do_el0_svc+0x38/0x60
[ 485.011402] el0_svc+0x30/0xe0
[ 485.011407] el0t_64_sync_handler+0x11c/0x150
[ 485.011411] el0t_64_sync+0x1a8/0x1ac
I will modify the bug title and description accordingly.
** Summary changed:
- memfd:run_fuse_test.sh in ubuntu_kernel_selftests crash L-6.2 ARM64
+ efivarfs:efivarfs.sh in ubuntu_kernel_selftests crash L-6.2 ARM64 node dazzle
(rcu_preempt detected stalls)
--
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2015741
Title:
efivarfs:efivarfs.sh in ubuntu_kernel_selftests crash L-6.2 ARM64 node
dazzle (rcu_preempt detected stalls)
Status in ubuntu-kernel-tests:
New
Status in linux package in Ubuntu:
Incomplete
Bug description:
Issue found on 6.2.0-20.20 ARM64 instances.
Looks like the memfd:run_fuse_test.sh will never finish properly and
the whole test will be interrupted abnormally.
Test log:
Running 'make run_tests -C memfd TEST_PROGS=run_fuse_test.sh
TEST_GEN_PROGS='' TEST_CUSTOM_PROGS='''
make: Entering directory
'/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux/tools/testing/selftests/memfd'
TAP version 13
1..1
# selftests: memfd: run_fuse_test.sh
sut-test TEST SYSTEM FAILURE DETECTED Test results file
'/home/maas/workspace/lunar-linux-generic-arm64-6.2.0-dazzle-ubuntu_kernel_selftests/kernel-results.xml'
not found.
This issue can be found since 6.2.0-19.19
6.2.0-18.18 works fine:
Running 'make run_tests -C memfd TEST_PROGS=run_fuse_test.sh
TEST_GEN_PROGS='' TEST_CUSTOM_PROGS='''
make: Entering directory
'/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux/tools/testing/selftests/memfd'
TAP version 13
1..1
# selftests: memfd: run_fuse_test.sh
# opening: ./mnt/memfd
# fuse: DONE
ok 1 selftests: memfd: run_fuse_test.sh
make: Leaving directory
'/home/ubuntu/autotest/client/tmp/ubuntu_kernel_selftests/src/linux/tools/testing/selftests/memfd'
GOOD ubuntu_kernel_selftests.memfd:run_fuse_test.sh
ubuntu_kernel_selftests.memfd:run_fuse_test.sh timestamp=1679321878
localtime=Mar 20 14:17:58 completed successfully
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2015741/+subscriptions
--
Mailing list: https://launchpad.net/~kernel-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~kernel-packages
More help : https://help.launchpad.net/ListHelp