суббота

[Bug 2056461]

@Kip Thanks for the log. The kernel used there does not have my patch
applied that I can tell - unless it is included in the Ubuntu kernel
build already - but unlikely given that kernel is dated May 20th:

12:09:49.192706 [ 0.000000] Linux version 6.8.0-35-generic
(buildd@lcy02-amd64-020) (x86_64-linux-gnu-gcc-13 (Ubuntu
13.2.0-23ubuntu4) 13.2.0, GNU ld (GNU Binutils for Ubuntu) 2.42)
#35-Ubuntu SMP PREEMPT_DYNAMIC Mon May 20 15:51:52 UTC 2024 (Ubuntu
6.8.0-35.35-generic 6.8.4)

In my case I manually boot the image file with QEMU and install patched
kernel builds into it (using ssh/scp/rsync), do an `apt update; apt
upgrade` to prevent autopkgtest doing that in just the (temporary)
overlay image it creates for each run. Then ensure the required GRUB
menu entry will be used with 'grub-set-default' [0].

[0] grub-set-default "1>4" is the kind of syntax required; this would
select the 5th "menuentry" from the 1st "submenu" (indexes begin at 0).
The value is written into `/boot/grub/grubenv` that is read early when
GRUB loads the generated grub.cfg at boot-time.

To identify the correct value I do a manual count using this (one-line!)
command:

awk '{id=gensub(/.*(gnulinux-[^'"'"']*).*/,"\\1","g")};/menuentry
/{prefix="";if(submenu){prefix=submenu ">";}print("ENTRY \"" prefix
menu++ "\"",id)}
/^submenu/{print("SUBMENU",++submenu,id);menu_saved=menu;menu=0}/^}/ &&
submenu {--submenu;menu=menu_saved}' /boot/grub/grub.cfg

--
You received this bug notification because you are subscribed to linux
in Ubuntu.
Matching subscriptions: Bgg, Bmail, Nb
https://bugs.launchpad.net/bugs/2056461

Title:
autopkgtest-virt-qemu on noble images sometimes hangs doing copydown

Status in Linux:
Confirmed
Status in autopkgtest package in Ubuntu:
Confirmed
Status in linux package in Ubuntu:
In Progress
Status in autopkgtest package in Debian:
New

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://lore.kernel.org/lkml/Zj0ErxVBE3DYT2Ea@gpd/).

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-buildvm-ubuntu-cloud -r noble
  autopkgtest -U hello*.dsc -- qemu ./autopkgtest-noble-amd64.img


[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-virt-qemu sometimes hangs when running tests on noble
images. Originally reported by schopin, who also provided a
reproducer:

  pull-lp-source -d hello
  autopkgtest-buildvm-ubuntu-cloud -r noble
  autopkgtest -U hello*.dsc -- qemu ./autopkgtest-noble-amd64.img

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-6.8.0-11-generic (6.8.0-11.11) migrated to noble. The testbeds I
used booted 6.6 but then rebooted into that 6.8 kernel after being
upgraded by autopkgtest.

-- logs --

Removing autopkgtest-satdep (0) ...
[...]
autopkgtest-virt-qemu: DBG: executing copydown /tmp/autopkgtest.output.g8v75e8g/tests-tree/ /t/
autopkgtest-virt-qemu: DBG: ['cmdls', "(['tar', '--directory', '/tmp/autopkgtest.output.g8v75e]
autopkgtest-virt-qemu: DBG: ['srcstdin', "<_io.BufferedReader name='/dev/null'>", 'deststdout']
autopkgtest-virt-qemu: DBG: +< tar --directory /tmp/autopkgtest.output.g8v75e8g/tests-tree/ --
autopkgtest-virt-qemu: DBG: +> /tmp/autopkgtest-qemu.ztmr6f5k/runcmd sh -ec if ! test -d /tmp-
autopkgtest-virt-qemu: DBG: +>?

-- or --

autopkgtest: DBG: sending command to testbed: copydown /tmp/autopkgtest.output.c9utq3bx/tests-tree/ /tmp/autopkgtest.H8NDfW/build.DLR/src/
autopkgtest-virt-qemu: DBG: executing copydown /tmp/autopkgtest.output.c9utq3bx/tests-tree/ /tmp/autopkgtest.H8NDfW/build.DLR/src/
autopkgtest-virt-qemu: DBG: ['cmdls', "(['tar', '--directory', '/tmp/autopkgtest.output.c9utq3bx/tests-tree/', '--warning=none', '-c', '.', '-f', '-'], ['/tmp/autopkgtest-qemu.qtkcgg5l/runcm]
autopkgtest-virt-qemu: DBG: ['srcstdin', "<_io.BufferedReader name='/dev/null'>", 'deststdout', "<_io.BufferedReader name='/dev/null'>", 'devnull_read', <_io.BufferedReader name='/dev/null'>]
autopkgtest-virt-qemu: DBG: +< tar --directory /tmp/autopkgtest.output.c9utq3bx/tests-tree/ --warning=none -c . -f -
autopkgtest-virt-qemu: DBG: +> /tmp/autopkgtest-qemu.qtkcgg5l/runcmd sh -ec if ! test -d /tmp/autopkgtest.H8NDfW/build.DLR/src/; then mkdir -- /tmp/autopkgtest.H8NDfW/build.DLR/src/; fi; cd-
autopkgtest-virt-qemu: DBG: +>?

To manage notifications about this bug go to:
https://bugs.launchpad.net/linux/+bug/2056461/+subscriptions

Комментариев нет:

Отправить комментарий