autopkgtest-virt-qemu on noble images sometimes hangs doing copydown
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Linux |
Confirmed
|
Medium
|
|||
autopkgtest (Debian) |
New
|
Unknown
|
|||
autopkgtest (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
In Progress
|
Undecided
|
Andrea Righi |
Bug Description
[Impact]
It seems that kernel 6.8 introduced a regression in the 9pfs related to caching and netfslib, that can cause some user-space apps to read content from files that is not up-to-date (when they are used in a producer/consumer fashion).
It seems that the offending commit is this one:
80105ed2fd27 ("9p: Use netfslib read/write_iter")
Reverting the commit seems to fix the problem. However the actual bug might be in netfslib or how netfslib is used in the 9p context.
The regression has been reported upstream and we are still investigating (https:/
In the meantime it probably makes sense to temporarily revert the commit as a SAUCE patch. Then we will drop the SAUCE patch once we'll have a proper fix upstream.
[Test case]
The following test should complete correctly without any timeout:
pull-lp-source -d hello
autopkgtest-
autopkgtest -U hello*.dsc -- qemu ./autopkgtest-
[Fix]
Revert the following commit (until we have a proper fix upstream):
80105ed2fd27 ("9p: Use netfslib read/write_iter")
[Regression potential]
We may experience other regressions related to 9pfs with this change, however it's quite unlikely to happen since we are reverting a commit, restoring the previous behavior.
[Original bug report]
autopkgtest-
pull-lp-source -d hello
autopkgtest-
autopkgtest -U hello*.dsc -- qemu ./autopkgtest-
I've been able to reproduce it with debugging enabled:
autopkgtest -ddd -U hello_2.10-3.dsc -- qemu --debug --show-boot /path/to/image
It can get stuck during different stages, but AFAICT always during "copydown" operations, log excerpts follow. It may be a coincidence, but this started happening around the time linux-image-
-- logs --
Removing autopkgtest-satdep (0) ...
[...]
autopkgtest-
autopkgtest-
autopkgtest-
autopkgtest-
autopkgtest-
autopkgtest-
-- or --
autopkgtest: DBG: sending command to testbed: copydown /tmp/autopkgtes
autopkgtest-
autopkgtest-
autopkgtest-
autopkgtest-
autopkgtest-
autopkgtest-
tags: | added: rls-nn-incoming |
Changed in linux (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → Andrea Righi (arighi) |
description: | updated |
Changed in autopkgtest (Debian): | |
status: | Unknown → Fix Committed |
Changed in autopkgtest (Debian): | |
status: | Fix Committed → Unknown |
Changed in autopkgtest (Debian): | |
status: | Unknown → New |
Changed in linux: | |
importance: | Unknown → Medium |
status: | Unknown → Confirmed |
Communication (including copydown()) with the qemu virt server happens via the serial terminal. That isn't the most solid approach, and I suspect it's racy for some reason.