[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1793791] Re: Crash with nbd_reply_chunk_iter_receive:

From: Matthew Schumacher
Subject: [Qemu-devel] [Bug 1793791] Re: Crash with nbd_reply_chunk_iter_receive: Assertion `chunk->flags & NBD_REPLY_FLAG_DONE' failed
Date: Fri, 21 Sep 2018 23:34:43 -0000

Hi Eric,

Thanks for looking at this.

I looked at the nbd/server.c code and couldn't see how it could send a
NBD_REPLY_TYPE_NONE packet without setting the NBD_REPLY_FLAG_DONE bit.
The only place NBD_REPLY_TYPE_NONE is set is on line 1603:

    set_be_chunk(&chunk, NBD_REPLY_FLAG_DONE, NBD_REPLY_TYPE_NONE,
handle, 0);

Anyway, here is the command line generated:

/usr/bin/qemu-system-x86_64 -name guest=dng-smokeping,debug-threads=on
-S -object
smokeping/master-key.aes -machine pc-1.1,accel=kvm,usb=off,dump-guest-
core=off -cpu qemu64,pmu=off -m 4096 -realtime mlock=off -smp
2,sockets=2,cores=1,threads=1 -object iothread,id=iothread1 -uuid
3d0e1603-ad08-4876-9d9f-2d563fac07ea -no-user-config -nodefaults
-chardev socket,id=charmonitor,fd=26,server,nowait -mon
chardev=charmonitor,id=monitor,mode=control -rtc
base=localtime,clock=vm,driftfix=slew -global kvm-
pit.lost_tick_policy=delay -no-shutdown -boot strict=on -device piix3
-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/datastore/vm/dng-
disk0,cache=writeback,aio=threads -device virtio-blk-
disk0,id=virtio-disk0,bootindex=2,write-cache=on -drive if=none,id
=drive-ide0-1-0,readonly=on -device ide-cd,bus=ide.1,unit=0,drive=drive-
ide0-1-0,id=ide0-1-0,bootindex=1 -netdev
tap,fd=28,id=hostnet0,vhost=on,vhostfd=29 -device virtio-net-
-device usb-tablet,id=input0,bus=usb.0,port=1 -vnc -device
cirrus-vga,id=video0,bus=pci.0,addr=0x2 -device virtio-balloon-
pci,id=balloon0,bus=pci.0,addr=0x4 -sandbox
-msg timestamp=on

Is there some way to turn on NBD trace?  I don't see any trace code around the 
assert, so I'm guessing it would need to be written....   Is there a log event 
in QMP?  Can that be used to trace what is going on?  If so it would be easy to 
make libvirt log all of that, which should tell us what is going on...

If that won't work, I can run the VM outside of libvirt and tell it to
migrate over the QMP socket

You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.

  Crash with nbd_reply_chunk_iter_receive: Assertion `chunk->flags &

Status in QEMU:

Bug description:
  Qemu version on both sides: 2.12.1
  Host A Linux: 4.9.76
  Host B Linux: 4.14.67

  While calling from Host A:
  virsh migrate virtualmachine qemu+ssh://hostB/system --live --undefinesource 
--persistent --verbose --copy-storage-all

  I get a qemu crash with:

  2018-09-21 16:12:23.073+0000: 14428: info : virObjectUnref:350 : 
OBJECT_UNREF: obj=0x7f922c03d990
  qemu-system-x86_64: block/nbd-client.c:606: nbd_reply_chunk_iter_receive: 
Assertion `chunk->flags & NBD_REPLY_FLAG_DONE' failed.
  2018-09-21 16:12:41.230+0000: shutting down, reason=crashed
  2018-09-21 16:12:52.900+0000: shutting down, reason=failed

  It doesn't do it every time, but most of the time.

To manage notifications about this bug go to:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]