autopkgtest net is failing on 6.2 kernels with 'System is deadlocked on memory'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
initramfs-tools (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned | ||
Lunar |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
In debian/
Example of a test failure:
https:/
'net' test fails with a kernel panic due to out-of-memory.
It also relies on an existing and working cloud image. If the cloud image is not available, the test will silently succeed.
[Fix]
The net autopkgtest was ported to the common test framework in initramfs-tools 0.142ubuntu3. This makes the test more robust by relying on the minimum needed for the integration test.
[Test Plan]
Check that the autopkgtest succeed or test it manually:
1. Download a lunar image:
$ autopkgtest-
2. Run autotestpkg tests from initramfs-tools package. The "net" test is the one that depends on the image instantiated by 'run-image'. The testcase should complete successfully without the kernel panic.
$ autopkgtest initramfs-tools -- qemu autopkgtest-
[Where problems could occur]
The usage of a larger image for the tests could fail if the the test system is low on ram size.
tags: | added: sru-20230612 sru-230230710 |
description: | updated |
tags: | added: patch |
description: | updated |
Changed in initramfs-tools (Ubuntu): | |
status: | New → Fix Committed |
status: | Fix Committed → Fix Released |
importance: | Undecided → High |
Lunar fix is attached.
Tested locally after downloading a lunar image:
$ autopkgtest initramfs-tools -- qemu autopkgtest- lunar-amd64. img local-bottom ... done. lvl+0x48/ 0x70 0x10/0x20 memory+ 0x36c/0x370 pages_may_ oom+0x112/ 0x1e0 pages_slowpath. constprop. 0+0x4c7/ 0xa20 pages+0x31d/ 0x350 0x90/0x1a0 pages+0x11/ 0x50 constprop. 0+0x51/ 0x120 0xae3/0x1570 clone+0xbd/ 0x440 clone+0x76/ 0xb0 clone+0x25/ 0x40 64+0x5b/ 0x90 exit_to_ user_mode+ 0x29/0x50 64+0x67/ 0x90 addr_fault+ 0x1e8/0x720 user_mode_ prepare+ 0x30/0xb0 exit_to_ user_mode+ 0x9/0x20 exit+0x43/ 0x50 fault+0x91/ 0x1b0 64_after_ hwframe+ 0x72/0xdc ba5538 EFLAGS: 00000246 ORIG_RAX: 0000000000000038 000-0xffffffffb fffffff) ------- ------- --] @@@@@@@ @@@@@@ summary
It uses the package in updates, therefore this fails:
Begin: Running /scripts/
...
...
[ 17.069410] Call Trace:
[ 17.069504] <TASK>
[ 17.069594] dump_stack_
[ 17.069747] dump_stack+
[ 17.069866] panic+0x37b/0x3c0
[ 17.070029] out_of_
[ 17.070226] __alloc_
[ 17.070480] __alloc_
[ 17.070761] __alloc_
[ 17.070992] alloc_pages+
[ 17.071179] __get_free_
[ 17.071362] pgd_alloc+0x20/0xc0
[ 17.071548] mm_init+0x18a/0x390
[ 17.071730] dup_mm.
[ 17.071933] copy_process+
[ 17.072165] kernel_
[ 17.072373] __do_sys_
[ 17.072587] __x64_sys_
[ 17.072816] do_syscall_
[ 17.073027] ? syscall_
[ 17.073269] ? do_syscall_
[ 17.073446] ? do_user_
[ 17.073654] ? exit_to_
[ 17.073871] ? irqentry_
[ 17.074089] ? irqentry_
[ 17.074322] ? exc_page_
[ 17.074474] entry_SYSCALL_
[ 17.074723] RIP: 0033:0x7fb27d64be07
[ 17.074897] Code: 00 66 90 f3 0f 1e fa 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 bf 11 00 20 01 4c 8d 90 d0 02 00 00 0
[ 17.075588] RSP: 002b:00007ffc9d
[ 17.075976] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fb27d64be07
[ 17.076359] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
[ 17.076669] RBP: 0000000000000000 R08: 0000000000000000 R09: 0000000000000000
[ 17.077004] R10: 00007fb27d567a10 R11: 0000000000000246 R12: 0000000000000001
[ 17.077354] R13: 0000556e56d9f5f0 R14: 0000556e56d9d798 R15: 0000000000000000
[ 17.077722] </TASK>
[ 17.078438] Kernel Offset: 0x2c00000 from 0xffffffff81000000 (relocation range: 0xffffffff80000
[ 17.079602] ---[ end Kernel panic - not syncing: System is deadlocked on memory ]---
qemu-system-x86_64: terminating on signal 15 from pid 7616 (timeout)
autopkgtest [14:15:54]: test net: -------
autopkgtest [14:15:55]: test net: - - - - - - - - - - results - - - - - - - - - -
net FAIL non-zero exit status 124
autopkgtest [14:15:55]: @@@@@@@
amd64-klibc PASS
amd64-busybox PASS
amd64-ata-only PASS
amd64-virtio-only PASS
amd64-separate-usr PASS
amd64-panic-shell PASS
command1 PASS
net FAIL non-zero exit status 124
qemu-system-x86_64: terminating on signal 15 from pid 40557 (/usr/bin/python3)
$ autopkgtest ~/canonical/ initramf- tools/initramfs -tools_ 0.142ubuntu3. dsc -- qemu autopkgtest- lunar-amd64. img
This is the fix and the results are good:
net PASS @@@@@@@ @@@@@@ summary
autopkgtest [14:32:26]: @@@@@@@
amd64-klibc PASS
amd64-busyb...