Richard W.M. Jones
2020-Mar-16 08:39 UTC
[Libguestfs] nbdkit Assertion `h->can_flush == 1' failed on Arch
https://aur.archlinux.org/packages/nbdkit/#comment-733981 reports that tests-parallel-nbd.sh hangs. Looking at the log file from the test reveals: nbdkit: backend.c:523: backend_flush: Assertion `h->can_flush == 1' failed. I've attached the full log. If you want to see other logs from the run (probably not relevant) then download https://svenne.dk/nbdkit-20200315/nbdkit-logs-20200315.tar.gz I believe the assertion comes from calling flush when can_flush previously returned false, but also I don't quite understand why the server is doing this. However I think the wider problem is that the reporter is using the non-libnbd "standalone" nbd plugin. I basically never test this any longer. I wonder if we should think about either having a way to routinely test it despite libnbd being installed, or simply dropping it? I will ask the reporter if they can try installing libnbd. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into KVM guests. http://libguestfs.org/virt-v2v
Eric Blake
2020-Mar-16 14:15 UTC
Re: [Libguestfs] nbdkit Assertion `h->can_flush == 1' failed on Arch
On 3/16/20 3:39 AM, Richard W.M. Jones wrote:> > https://aur.archlinux.org/packages/nbdkit/#comment-733981 reports that > tests-parallel-nbd.sh hangs. Looking at the log file from the test > reveals: > > nbdkit: backend.c:523: backend_flush: Assertion `h->can_flush == 1' failed.I can confirm the hang.> > I've attached the full log. If you want to see other logs from the > run (probably not relevant) then download > https://svenne.dk/nbdkit-20200315/nbdkit-logs-20200315.tar.gz > > I believe the assertion comes from calling flush when can_flush > previously returned false, but also I don't quite understand why the > server is doing this. > > However I think the wider problem is that the reporter is using the > non-libnbd "standalone" nbd plugin. I basically never test this any > longer. I wonder if we should think about either having a way to > routinely test it despite libnbd being installed, or simply dropping > it?My plan is to patch the bug, backport the patch to the stable branches, and then remove the file for the next major release. libnbd is now stable enough that I'm comfortable enough having nbdkit 1.20 depend on libnbd (and only the stable releases, like 1.18.2, will still have the option of building a limited nbd plugin without libnbd).> > I will ask the reporter if they can try installing libnbd. > > Rich. >-- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org
Possibly Parallel Threads
- [nbdkit PATCH 0/4] Fix testsuite hang with nbd-stadalone
- Re: [nbdkit PATCH 1/2] sh, eval: Cache .can_zero and .can_flush
- Re: [PATCH nbdkit v2 10/10] tests: Test the Python plugin thoroughly.
- [PATCH nbdkit 1/3] server: Rename global backend pointer to "top".
- [nbdkit PATCH 4/4] RFC tests: Add test to cover unusual .can_flush return