qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Bug 1594239] Re: After adding more scsi disks for Aarc


From: Tom Hanson
Subject: Re: [Qemu-devel] [Bug 1594239] Re: After adding more scsi disks for Aarch64 virtual machine, start the VM and got Qemu Error
Date: Tue, 05 Jul 2016 20:40:15 -0000

So, given the 1 register block per virt-mmio "bus" then I agree that we
need a "dev path" distinction between them.

On 5 July 2016 at 14:22, Thomas Hanson <address@hidden> wrote:

> OK, that makes sense.  I was thinking that the MMIO transport would/could
> support multiple register blocks and thus multiple devices.
>
> On 5 July 2016 at 13:26, Laszlo Ersek (Red Hat) <address@hidden> wrote:
>
>> A virtio-mmio "bus" is a single-device transport. It has a fixed base
>> address that is set at board creation time. The MMIO area is 0x200 bytes
>> in size, and hosts the virtio registers for one device that can sit on
>> this transport. Transports can be unused.
>>
>> The "virt" machtype creates 32 transports (= 32 virtio-mmio "buses"
>> suitable for one virtio device each). This allows for 32 virtio devices
>> exposed via virtio-mmio. The placement of the different virtio-mmio
>> "buses" at specific addresses in MMIO space is board specific.
>>
>> So yes, it definitely makes sense to create several of these "buses".
>> It's better to think of a single virtio-mmio "bus" as a virtio-mmio
>> "transport" or "register block". The "bus" terminology is just an
>> internal QEMU detail. (It is not enumerable in hardware, for example.)
>>
>> --
>> 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.
>>   address@hidden:/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 <address@hidden> 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.
  address@hidden:/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 <address@hidden> 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



reply via email to

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