We may be saying the same thing, but I'd word it differently. If a "device" has a "path" then it gets a se->compat (compatibility?) record. - Within that record each device gets an instance_id value based on its name. Multiple IDs for the same name are allowed. - At the "se" level each device also gets an instance id but now based on path + name. There can only be one instance for that combination which requires that the path must be unique for each device name.
In this case both SCSI device have the path "0:0:0" (chan:id:lun) which violates the above requirement. Looking at the debug info I noticed that for "virtio-net" the (PCI) path is not all zeroes (0000:00:01.0). Makes me wonder if maybe something on the SCSI side of things should be generating valid paths. Still digging. On 1 July 2016 at 09:08, Dr. David Alan Gilbert <dgilb...@redhat.com> wrote: > Yeh I *think* the idea is that you either: > a) have an instance_id > or > b) have a unique name > in which case you're also allowed to have an old compatibility > name/instance_id to work with old code that didn't have a unique name > (that's in se->compat) > > so the assert is: > assert(!se->compat || se->instance_id == 0); > > The !se->compat corresponds to (a) > se->instance_id == 0 corresponds to (b) > > Having a unique name is a very good idea for hotplug - it lets you > unplug the middle one and still receive a migration correctly. > > Dave > > -- > You received this bug notification because you are subscribed to the bug > report. > https://bugs.launchpad.net/bugs/1594239 > > Title: > After adding more scsi disks for Aarch64 virtual machine, start the VM > and got Qemu Error > > Status in QEMU: > Confirmed > > Bug description: > Description > =========== > Using virt-manager to create a VM in Aarch64, Ubuntu 16.04. > Add scsi disk to the VM. After add four or more scsi disks, start the VM > and will got Qemu error. > > Steps to reproduce > ================== > 1.Use virt-manager to create a VM. > 2.After the VM is started, add scsi disk to the VM. They will be > allocated to "sdb,sdc,sdd....." . > 3.If we got a disk name > sdg, virt-manager will also assign a > virtio-scsi controller for this disk.And the VM will be shutdown. > 4.Start the VM, will see the error log. > > > Expected result > =============== > Start the vm smoothly.The added disks can work. > > Actual result > ============= > Got the error: > starting domain: internal error: process exited while connecting to > monitor: qemu-system-aarch64: > /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: > vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id > == 0' failed. > details=Traceback (most recent call last): > File "/usr/share/virt-manager/virtManager/asyncjob.py", line 90, in > cb_wrapper > callback(asyncjob, *args, **kwargs) > File "/usr/share/virt-manager/virtManager/asyncjob.py", line 126, in > tmpcb > callback(*args, **kwargs) > File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, > in newfn > ret = fn(self, *args, **kwargs) > File "/usr/share/virt-manager/virtManager/domain.py", line 1402, in > startup > self._backend.create() > File "/usr/local/lib/python2.7/dist-packages/libvirt.py", line 1035, > in create > if ret == -1: raise libvirtError ('virDomainCreate() failed', > dom=self) > libvirtError: internal error: process exited while connecting to > monitor: qemu-system-aarch64: > /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: > vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id > == 0' failed. > > > Environment > =========== > 1. virt-manager version is 1.3.2 > > 2. Which hypervisor did you use? > Libvirt+KVM > $ kvm --version > QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), > Copyright (c) 2003-2008 Fabrice Bellard > $ libvirtd --version > libvirtd (libvirt) 1.3.1 > > 3. Which storage type did you use? > In the host file system,all in one physics machine. > stack@u202154:/opt/stack/nova$ df -hl > Filesystem Size Used Avail Use% Mounted on > udev 7.8G 0 7.8G 0% /dev > tmpfs 1.6G 61M 1.6G 4% /run > /dev/sda2 917G 41G 830G 5% / > tmpfs 7.9G 0 7.9G 0% /dev/shm > tmpfs 5.0M 0 5.0M 0% /run/lock > tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup > /dev/sda1 511M 888K 511M 1% /boot/efi > cgmfs 100K 0 100K 0% /run/cgmanager/fs > tmpfs 1.6G 0 1.6G 0% /run/user/1002 > tmpfs 1.6G 0 1.6G 0% /run/user/1000 > tmpfs 1.6G 0 1.6G 0% /run/user/0 > > 4. Environment information: > Architecture : AARCH64 > OS: Ubuntu 16.04 > > The Qemu commmand of libvirt is : > 2016-06-20 02:39:46.561+0000: starting up libvirt version: 1.3.1, > package: 1ubuntu10 (William Grant <wgr...@ubuntu.com> Fri, 15 Apr 2016 > 12:08:21 +1000), qemu version: 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), > hostname: u202154 > LC_ALL=C > PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > QEMU_AUDIO_DRV=none /usr/bin/kvm -name cent7 -S -machine > virt,accel=kvm,usb=off -cpu host -drive > file=/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw,if=pflash,format=raw,unit=0,readonly=on > -drive > file=/var/lib/libvirt/qemu/nvram/cent7_VARS.fd,if=pflash,format=raw,unit=1 > -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid > d5462bb6-159e-4dbd-9266-bf8c07fa1695 -nographic -no-user-config -nodefaults > -chardev > socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-cent7/monitor.sock,server,nowait > -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown > -boot strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1 > -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device > virtio-scsi-device,id=scsi0 -device lsi,id=scsi1 -device lsi,id=scsi2 > -device virtio-scsi-device,id=scsi3 -usb -drive > file=/var/lib/libvirt/images/cent7-2.img,format=qcow2,if=none,id=drive-scsi0-0-0-0 > -device > scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 > -drive if=none,id=drive-scsi0-0-0-1,readonly=on -device > scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,id=scsi0-0-0-1 > -drive > file=/var/lib/libvirt/images/cent7-10.img,format=qcow2,if=none,id=drive-scsi0-0-0-2 > -device > scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi0-0-0-2,id=scsi0-0-0-2 > -drive > file=/var/lib/libvirt/images/cent7-11.img,format=qcow2,if=none,id=drive-scsi0-0-0-3 > -device > scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=3,drive=drive-scsi0-0-0-3,id=scsi0-0-0-3 > -drive > file=/var/lib/libvirt/images/cent7-13.img,format=qcow2,if=none,id=drive-scsi3-0-0-0 > -device > scsi-hd,bus=scsi3.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi3-0-0-0,id=scsi3-0-0-0 > -netdev tap,fd=33,id=hostnet0,vhost=on,vhostfd=35 -device > virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:a1:6e:75 -serial pty > -msg timestamp=on > Domain id=11 is tainted: host-cpu > > The libvirt xml is: > <domain type='kvm'> > <name>cent7</name> > <uuid>d5462bb6-159e-4dbd-9266-bf8c07fa1695</uuid> > <memory unit='KiB'>2097152</memory> > <currentMemory unit='KiB'>2097152</currentMemory> > <vcpu placement='static'>2</vcpu> > <os> > <type arch='aarch64' machine='virt'>hvm</type> > <loader readonly='yes' > type='pflash'>/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw</loader> > <nvram>/var/lib/libvirt/qemu/nvram/cent7_VARS.fd</nvram> > <boot dev='hd'/> > </os> > <cpu mode='host-passthrough'/> > <clock offset='utc'/> > <on_poweroff>destroy</on_poweroff> > <on_reboot>restart</on_reboot> > <on_crash>restart</on_crash> > <devices> > <emulator>/usr/bin/kvm</emulator> > <disk type='file' device='disk'> > <driver name='qemu' type='qcow2'/> > <source file='/var/lib/libvirt/images/cent7-2.img'/> > <target dev='sda' bus='scsi'/> > <address type='drive' controller='0' bus='0' target='0' unit='0'/> > </disk> > <disk type='file' device='cdrom'> > <driver name='qemu' type='raw'/> > <target dev='sdb' bus='scsi'/> > <readonly/> > <address type='drive' controller='0' bus='0' target='0' unit='1'/> > </disk> > <disk type='file' device='disk'> > <driver name='qemu' type='qcow2'/> > <source file='/var/lib/libvirt/images/cent7-10.img'/> > <target dev='sdc' bus='scsi'/> > <address type='drive' controller='0' bus='0' target='0' unit='2'/> > </disk> > <disk type='file' device='disk'> > <driver name='qemu' type='qcow2'/> > <source file='/var/lib/libvirt/images/cent7-11.img'/> > <target dev='sdd' bus='scsi'/> > <address type='drive' controller='0' bus='0' target='0' unit='3'/> > </disk> > <disk type='file' device='disk'> > <driver name='qemu' type='qcow2'/> > <source file='/var/lib/libvirt/images/cent7-13.img'/> > <target dev='sdv' bus='scsi'/> > <address type='drive' controller='3' bus='0' target='0' unit='0'/> > </disk> > <controller type='scsi' index='0' model='virtio-scsi'> > <address type='virtio-mmio'/> > </controller> > <controller type='scsi' index='1'> > <address type='virtio-mmio'/> > </controller> > <controller type='scsi' index='2'> > <address type='virtio-mmio'/> > </controller> > <controller type='scsi' index='3' model='virtio-scsi'> > <address type='virtio-mmio'/> > </controller> > <controller type='pci' index='0' model='pcie-root'/> > <controller type='pci' index='1' model='dmi-to-pci-bridge'> > <model name='i82801b11-bridge'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x01' > function='0x0'/> > </controller> > <controller type='pci' index='2' model='pci-bridge'> > <model name='pci-bridge'/> > <target chassisNr='2'/> > <address type='pci' domain='0x0000' bus='0x01' slot='0x01' > function='0x0'/> > </controller> > <interface type='bridge'> > <mac address='52:54:00:a1:6e:75'/> > <source bridge='br0'/> > <model type='virtio'/> > <address type='virtio-mmio'/> > </interface> > <serial type='pty'> > <target port='0'/> > </serial> > <console type='pty'> > <target type='serial' port='0'/> > </console> > </devices> > </domain> > > To manage notifications about this bug go to: > https://bugs.launchpad.net/qemu/+bug/1594239/+subscriptions > -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1594239 Title: After adding more scsi disks for Aarch64 virtual machine, start the VM and got Qemu Error Status in QEMU: Confirmed Bug description: Description =========== Using virt-manager to create a VM in Aarch64, Ubuntu 16.04. Add scsi disk to the VM. After add four or more scsi disks, start the VM and will got Qemu error. Steps to reproduce ================== 1.Use virt-manager to create a VM. 2.After the VM is started, add scsi disk to the VM. They will be allocated to "sdb,sdc,sdd....." . 3.If we got a disk name > sdg, virt-manager will also assign a virtio-scsi controller for this disk.And the VM will be shutdown. 4.Start the VM, will see the error log. Expected result =============== Start the vm smoothly.The added disks can work. Actual result ============= Got the error: starting domain: internal error: process exited while connecting to monitor: qemu-system-aarch64: /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id == 0' failed. details=Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 90, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 126, in tmpcb callback(*args, **kwargs) File "/usr/share/virt-manager/virtManager/libvirtobject.py", line 83, in newfn ret = fn(self, *args, **kwargs) File "/usr/share/virt-manager/virtManager/domain.py", line 1402, in startup self._backend.create() File "/usr/local/lib/python2.7/dist-packages/libvirt.py", line 1035, in create if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirtError: internal error: process exited while connecting to monitor: qemu-system-aarch64: /build/qemu-zxCwKP/qemu-2.5+dfsg/migration/savevm.c:620: vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id == 0' failed. Environment =========== 1. virt-manager version is 1.3.2 2. Which hypervisor did you use? Libvirt+KVM $ kvm --version QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), Copyright (c) 2003-2008 Fabrice Bellard $ libvirtd --version libvirtd (libvirt) 1.3.1 3. Which storage type did you use? In the host file system,all in one physics machine. stack@u202154:/opt/stack/nova$ df -hl Filesystem Size Used Avail Use% Mounted on udev 7.8G 0 7.8G 0% /dev tmpfs 1.6G 61M 1.6G 4% /run /dev/sda2 917G 41G 830G 5% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup /dev/sda1 511M 888K 511M 1% /boot/efi cgmfs 100K 0 100K 0% /run/cgmanager/fs tmpfs 1.6G 0 1.6G 0% /run/user/1002 tmpfs 1.6G 0 1.6G 0% /run/user/1000 tmpfs 1.6G 0 1.6G 0% /run/user/0 4. Environment information: Architecture : AARCH64 OS: Ubuntu 16.04 The Qemu commmand of libvirt is : 2016-06-20 02:39:46.561+0000: starting up libvirt version: 1.3.1, package: 1ubuntu10 (William Grant <wgr...@ubuntu.com> Fri, 15 Apr 2016 12:08:21 +1000), qemu version: 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), hostname: u202154 LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm -name cent7 -S -machine virt,accel=kvm,usb=off -cpu host -drive file=/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw,if=pflash,format=raw,unit=0,readonly=on -drive file=/var/lib/libvirt/qemu/nvram/cent7_VARS.fd,if=pflash,format=raw,unit=1 -m 2048 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid d5462bb6-159e-4dbd-9266-bf8c07fa1695 -nographic -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-cent7/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1 -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device virtio-scsi-device,id=scsi0 -device lsi,id=scsi1 -device lsi,id=scsi2 -device virtio-scsi-device,id=scsi3 -usb -drive file=/var/lib/libvirt/images/cent7-2.img,format=qcow2,if=none,id=drive-scsi0-0-0-0 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=1 -drive if=none,id=drive-scsi0-0-0-1,readonly=on -device scsi-cd,bus=scsi0.0,channel=0,scsi-id=0,lun=1,drive=drive-scsi0-0-0-1,id=scsi0-0-0-1 -drive file=/var/lib/libvirt/images/cent7-10.img,format=qcow2,if=none,id=drive-scsi0-0-0-2 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=2,drive=drive-scsi0-0-0-2,id=scsi0-0-0-2 -drive file=/var/lib/libvirt/images/cent7-11.img,format=qcow2,if=none,id=drive-scsi0-0-0-3 -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=3,drive=drive-scsi0-0-0-3,id=scsi0-0-0-3 -drive file=/var/lib/libvirt/images/cent7-13.img,format=qcow2,if=none,id=drive-scsi3-0-0-0 -device scsi-hd,bus=scsi3.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi3-0-0-0,id=scsi3-0-0-0 -netdev tap,fd=33,id=hostnet0,vhost=on,vhostfd=35 -device virtio-net-device,netdev=hostnet0,id=net0,mac=52:54:00:a1:6e:75 -serial pty -msg timestamp=on Domain id=11 is tainted: host-cpu The libvirt xml is: <domain type='kvm'> <name>cent7</name> <uuid>d5462bb6-159e-4dbd-9266-bf8c07fa1695</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <vcpu placement='static'>2</vcpu> <os> <type arch='aarch64' machine='virt'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw</loader> <nvram>/var/lib/libvirt/qemu/nvram/cent7_VARS.fd</nvram> <boot dev='hd'/> </os> <cpu mode='host-passthrough'/> <clock offset='utc'/> <on_poweroff>destroy</on_poweroff> <on_reboot>restart</on_reboot> <on_crash>restart</on_crash> <devices> <emulator>/usr/bin/kvm</emulator> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-2.img'/> <target dev='sda' bus='scsi'/> <address type='drive' controller='0' bus='0' target='0' unit='0'/> </disk> <disk type='file' device='cdrom'> <driver name='qemu' type='raw'/> <target dev='sdb' bus='scsi'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-10.img'/> <target dev='sdc' bus='scsi'/> <address type='drive' controller='0' bus='0' target='0' unit='2'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-11.img'/> <target dev='sdd' bus='scsi'/> <address type='drive' controller='0' bus='0' target='0' unit='3'/> </disk> <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='/var/lib/libvirt/images/cent7-13.img'/> <target dev='sdv' bus='scsi'/> <address type='drive' controller='3' bus='0' target='0' unit='0'/> </disk> <controller type='scsi' index='0' model='virtio-scsi'> <address type='virtio-mmio'/> </controller> <controller type='scsi' index='1'> <address type='virtio-mmio'/> </controller> <controller type='scsi' index='2'> <address type='virtio-mmio'/> </controller> <controller type='scsi' index='3' model='virtio-scsi'> <address type='virtio-mmio'/> </controller> <controller type='pci' index='0' model='pcie-root'/> <controller type='pci' index='1' model='dmi-to-pci-bridge'> <model name='i82801b11-bridge'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/> </controller> <controller type='pci' index='2' model='pci-bridge'> <model name='pci-bridge'/> <target chassisNr='2'/> <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:a1:6e:75'/> <source bridge='br0'/> <model type='virtio'/> <address type='virtio-mmio'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> </devices> </domain> To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1594239/+subscriptions