From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37078) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1am3L2-0005eG-GY for qemu-devel@nongnu.org; Fri, 01 Apr 2016 13:58:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1am3Ky-0008I9-Bx for qemu-devel@nongnu.org; Fri, 01 Apr 2016 13:58:28 -0400 Received: from mx1.redhat.com ([209.132.183.28]:58437) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1am3Ky-0008I5-2N for qemu-devel@nongnu.org; Fri, 01 Apr 2016 13:58:24 -0400 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 7DA0129ACE for ; Fri, 1 Apr 2016 17:58:23 +0000 (UTC) Date: Fri, 1 Apr 2016 18:58:20 +0100 From: "Dr. David Alan Gilbert" Message-ID: <20160401175819.GK2242@work-vm> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] efi var store migration assert (bdrv_co_do_pwritev: Assertion `!(bs->open_flags & 0x0800)' failed.) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, jsnow@redhat.com In the continuing journeys of trying to migrate a q35 guest with ovmf, I've just hit this assert: qemu-system-x86_64: /root/git/qemu/block/io.c:1297: bdrv_co_do_pwritev: Ass= ertion `!(bs->open_flags & 0x0800)' failed. This is just ahead of rc0 - 1458317c8ada834cf39287f6d11a8cb8a37360d6 from y= esterday. It looks like that's the efi var store stuff: #4 0x00007f8073ec3947 in bdrv_co_do_pwritev (bs=3D0x7f8074faf580, offset= =3D, bytes=3D131072,=20 qiov=3D0x7f805d5feb50, flags=3D(unknown: 0)) at /root/git/qemu/block/io= =2Ec:1297 #5 0x00007f8073eb6846 in blk_co_pwritev (blk=3D, offset=3D<= optimized out>, bytes=3D,=20 qiov=3D, flags=3D) at /root/git/qemu/bloc= k/block-backend.c:713 #6 0x00007f8073eb688c in blk_write_entry (opaque=3D0x7f805d5feb70) at /roo= t/git/qemu/block/block-backend.c:736 #7 0x00007f8073f2782a in coroutine_trampoline (i0=3D, i1=3D= ) at /root/git/qemu/util/coroutine-ucontext.c:78 #8 0x00007f806aff9110 in ?? () from /lib64/libc.so.6 #9 0x00007f805d5fe3c0 in ?? () #10 0x0000000000000000 in ?? () (gdb) up #1 0x00007f806afe8ce8 in abort () from /lib64/libc.so.6 (gdb)=20 #2 0x00007f806afe0566 in __assert_fail_base () from /lib64/libc.so.6 (gdb)=20 #3 0x00007f806afe0612 in __assert_fail () from /lib64/libc.so.6 (gdb)=20 #4 0x00007f8073ec3947 in bdrv_co_do_pwritev (bs=3D0x7f8074faf580, offset= =3D, bytes=3D131072,=20 qiov=3D0x7f805d5feb50, flags=3D(unknown: 0)) at /root/git/qemu/block/io= =2Ec:1297 1297 bool use_local_qiov =3D false; (gdb) p *bs $1 =3D {total_sectors =3D 256, read_only =3D 0, open_flags =3D 10242, encry= pted =3D 0, valid_key =3D 0, sg =3D 0,=20 copy_on_read =3D 0, probed =3D false, drv =3D 0x7f8074474840 , = opaque =3D 0x0, blk =3D 0x7f8074fa5920,=20 aio_context =3D 0x7f8074f61bd0, aio_notifiers =3D {lh_first =3D 0x0},=20 filename =3D "/var/lib/libvirt/qemu/nvram/f23q35efi_VARS.fd", '\000' ,=20 backing_file =3D '\000' , backing_format =3D '\000' <= repeats 15 times>,=20 full_open_options =3D 0x7f8074fb9b60,=20 exact_filename =3D "/var/lib/libvirt/qemu/nvram/f23q35efi_VARS.fd", '\000= ' ,=20 backing =3D 0x0, file =3D 0x7f8074fa6020, before_write_notifiers =3D {not= ifiers =3D {lh_first =3D 0x0}},=20 serialising_in_flight =3D 0, throttled_reqs =3D {{entries =3D {tqh_first = =3D 0x0, tqh_last =3D 0x7f8074fb2608}}, { entries =3D {tqh_first =3D 0x0, tqh_last =3D 0x7f8074fb2618}}}, io_li= mits_enabled =3D false, throttle_state =3D 0x0,=20 throttle_timers =3D {timers =3D {0x0, 0x0}, clock_type =3D QEMU_CLOCK_REA= LTIME, read_timer_cb =3D 0x0,=20 write_timer_cb =3D 0x0, timer_opaque =3D 0x0}, pending_reqs =3D {0, 0},= round_robin =3D {le_next =3D 0x0,=20 le_prev =3D 0x0}, wr_highest_offset =3D 0, bl =3D {max_discard =3D 0, d= iscard_alignment =3D 0, max_write_zeroes =3D 0,=20 write_zeroes_alignment =3D 0, opt_transfer_length =3D 0, max_transfer_l= ength =3D 0, min_mem_alignment =3D 1,=20 opt_mem_alignment =3D 4096, max_iov =3D 1024}, zero_beyond_eof =3D true= , request_alignment =3D 512,=20 node_name =3D "#block307", '\000' , node_list =3D {tqe_= next =3D 0x7f8074fc1eb0,=20 tqe_prev =3D 0x7f8074fb8a00}, bs_list =3D {tqe_next =3D 0x7f8074fb5890,= tqe_prev =3D 0x7f8074faa9a0}, monitor_list =3D { tqe_next =3D 0x0, tqe_prev =3D 0x0}, dirty_bitmaps =3D {lh_first =3D 0x= 0}, refcnt =3D 1, tracked_requests =3D { lh_first =3D 0x0}, op_blockers =3D {{lh_first =3D 0x0} }, job =3D 0x0, inherits_from =3D 0x0,=20 children =3D {lh_first =3D 0x7f8074fa6020}, parents =3D {lh_first =3D 0x7= f8074fa5a80}, options =3D 0x7f8074fa04f0,=20 explicit_options =3D 0x7f8074fb2830, detect_zeroes =3D BLOCKDEV_DETECT_ZE= ROES_OPTIONS_OFF, backing_blocker =3D 0x0,=20 write_threshold_offset =3D 0, write_threshold_notifier =3D {notify =3D 0x= 0, node =3D {le_next =3D 0x0, le_prev =3D 0x0}},=20 quiesce_counter =3D 0} Full command line: /opt/qemu-head/bin/qemu-system-x86_64 -name f23q35efib -S -machine pc-q35-2= =2E6,accel=3Dkvm,usb=3Doff,vmport=3Doff -cpu SandyBridge -drive file=3D/usr= /share/OVMF/OVMF_CODE.fd,if=3Dpflash,format=3Draw,unit=3D0,readonly=3Don -d= rive file=3D/var/lib/libvirt/qemu/nvram/f23q35efi.fd,if=3Dpflash,format=3Dr= aw,unit=3D1 -m 4096 -realtime mlock=3Doff -smp 4,sockets=3D4,cores=3D1,thre= ads=3D1 -uuid e938e303-0cff-4863-9a0b-cf7bcca2f532 -no-user-config -nodefau= lts -chardev socket,id=3Dcharmonitor,path=3D/var/lib/libvirt/qemu/domain-2-= f23q35efib/monitor.sock,server,nowait -mon chardev=3Dcharmonitor,id=3Dmonit= or,mode=3Dcontrol -rtc base=3Dutc,driftfix=3Dslew -global kvm-pit.lost_tick= _policy=3Ddiscard -no-hpet -no-shutdown -global ICH9-LPC.disable_s3=3D1 -gl= obal ICH9-LPC.disable_s4=3D1 -boot strict=3Don -device pci-bridge,chassis_n= r=3D1,id=3Dpci.1,bus=3Dpcie.0,addr=3D0x1e -device pci-bridge,chassis_nr=3D2= ,id=3Dpci.2,bus=3Dpci.1,addr=3D0x1 -device ich9-usb-ehci1,id=3Dusb,bus=3Dpc= ie.0,addr=3D0x1d.0x7 -device ich9-usb-uhci1,masterbus=3Dusb.0,firstport=3D0= ,bus=3Dpcie.0,multifunction=3Don,addr=3D0x1d -device ich9-usb-uhci2,masterb= us=3Dusb.0,firstport=3D2,bus=3Dpcie.0,addr=3D0x1d.0x1 -device ich9-usb-uhci= 3,masterbus=3Dusb.0,firstport=3D4,bus=3Dpcie.0,addr=3D0x1d.0x2 -device lsi,= id=3Dscsi0,bus=3Dpci.2,addr=3D0x6 -device virtio-serial-pci,id=3Dvirtio-ser= ial0,bus=3Dpci.2,addr=3D0x3 -drive file=3D/home/vms/f23q35efi.qcow2,format= =3Dqcow2,if=3Dnone,id=3Ddrive-virtio-disk0,cache=3Dnone -device virtio-blk-= pci,scsi=3Doff,bus=3Dpci.2,addr=3D0x4,drive=3Ddrive-virtio-disk0,id=3Dvirti= o-disk0,bootindex=3D1 -drive if=3Dnone,id=3Ddrive-scsi0-0-0,readonly=3Don -= device scsi-cd,bus=3Dscsi0.0,scsi-id=3D0,drive=3Ddrive-scsi0-0-0,id=3Dscsi0= -0-0,bootindex=3D2 -netdev tap,fd=3D25,id=3Dhostnet0 -device e1000,netdev= =3Dhostnet0,id=3Dnet0,mac=3D52:54:00:1f:62:58,bus=3Dpci.2,addr=3D0x1 -chard= ev pty,id=3Dcharserial0 -device isa-serial,chardev=3Dcharserial0,id=3Dseria= l0 -chardev socket,id=3Dcharchannel0,path=3D/var/lib/libvirt/qemu/channel/t= arget/domain-2-f23q35efib/org.qemu.guest_agent.0,server,nowait -device virt= serialport,bus=3Dvirtio-serial0.0,nr=3D1,chardev=3Dcharchannel0,id=3Dchanne= l0,name=3Dorg.qemu.guest_agent.0 -chardev spicevmc,id=3Dcharchannel1,name= =3Dvdagent -device virtserialport,bus=3Dvirtio-serial0.0,nr=3D2,chardev=3Dc= harchannel1,id=3Dchannel1,name=3Dcom.redhat.spice.0 -device usb-tablet,id= =3Dinput0 -spice port=3D5900,addr=3D127.0.0.1,disable-ticketing,seamless-mi= gration=3Don -device qxl-vga,id=3Dvideo0,ram_size=3D67108864,vram_size=3D67= 108864,vram64_size_mb=3D0,vgamem_mb=3D16,bus=3Dpcie.0,addr=3D0x1 -device in= tel-hda,id=3Dsound0,bus=3Dpci.2,addr=3D0x2 -device hda-duplex,id=3Dsound0-c= odec0,bus=3Dsound0.0,cad=3D0 -chardev spicevmc,id=3Dcharredir0,name=3Dusbre= dir -device usb-redir,chardev=3Dcharredir0,id=3Dredir0 -chardev spicevmc,id= =3Dcharredir1,name=3Dusbredir -device usb-redir,chardev=3Dcharredir1,id=3Dr= edir1 -device virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.2,addr=3D0x5 -msg = timestamp=3Don -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK