Bug#851870: autopkgtest-virt-qemu: Hangs if test causes a kernel panic
Iain Lane [2017-01-19 14:06 +0000]:
> I was attempting to debug/fix LP: #1630578, so I wrote the attached
> package to trigger a panic manually.
> Seems that the qemu runner hangs when the panic happens. (Hopefully it's
> going to timeout eventually.)
It does time out:
| $ runner/autopkgtest -B /tmp/panic -d --timeout-test=60 --timeout-copy=10 -- qemu -d autopkgtest-zesty-amd64.img
| autopkgtest [11:03:40]: test panic: [-----------------------
| make: Leaving directory '/usr/src/linux-headers-4.9.0-11-generic'
| autopkgtest [11:04:40]: ERROR: timed out on command [...]
| autopkgtest [11:04:41]: test panic: -----------------------]
it then tries to copy the results, which times out as well:
| autopkgtest-virt-qemu: DBG: executing copyup /tmp/autopkgtest.6i3fb7/panic-stdout /tmp/autopkgtest.output.e4e00v7l/panic-stdout
| autopkgtest: DBG: got reply from testbed: timeout
| autopkgtest: WARNING: Copying up test output timed out, ignoring
| autopkgtest [11:04:51]: test panic: - - - - - - - - - - results - - - - - - - - - -
| panic FAIL timed out
and exits with error 4 (i. e. test failure). So while this is certainly not
optimal, it is at least reasonable. So I don't think it's an urgent/critical
> I thought about solving by slightly refactoring the auxverb use to use
> asyncio when waiting for the command to exit, and then also for reading
> from ttyS0 for occurrences of 'Kernel panic'.
This should take care to not catch kernel warnings or oopses -- when these
happen, the machine should limp on normally, and package tests like kerneloops
even trigger them deliberately.
Martin Pitt | http://www.piware.de
Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)