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

Reply via email to