Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-64714

Guest unusable after silent failure trying to detach interface

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Undefined Undefined
    • None
    • rhel-9.6
    • qemu-kvm / Networking
    • None
    • Yes
    • Critical
    • rhel-sst-virtualization-networking
    • ssg_virtualization
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • Unspecified
    • None

      What were you trying to do that didn't work?

      After reverting a snapshot, remove an attached interface device. The virsh command exits successfully but the device is still present.

      What is the impact of this issue to you?

      We can't unplug devices while using snapshots.

      Please provide the package NVR for which the bug is seen:

      libvirt-10.8.0-2.el9 

      libvirt-10.5.0-7.1.el9_5

      qemu-kvm-9.1.0-1.el9

      How reproducible is this bug?:

      100%

      Steps to reproduce

      1. Start a VM without an interface device
      2. [root@libvirt-rhel-9 ~]# cat iface.xml 
        <interface type="network">
              <mac address="9a:44:3c:0d:49:9e" />
              <source network="default" portid="608aa754-a37f-4417-ad5c-58da62d08cc5" bridge="virbr0" />
              <target dev="vnet1" />
              <model type="virtio" />
              <driver queues="2" />
              <alias name="net0" />
              <address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0" />
            <coalesce><rx><frames max="32" /></rx></coalesce></interface>
        
        [root@libvirt-rhel-9 ~]# virsh attach-device avocado-vt-vm1 iface.xml --live
        Device attached successfully
        
        [root@libvirt-rhel-9 ~]# virsh snapshot-create-as avocado-vt-vm1 --memspec /tmp/mem1,snapshot=external --diskspec vda,snapshot=external,file=/tmp/disk1
        Domain snapshot 1729768744 created
        [root@libvirt-rhel-9 ~]# virsh snapshot-revert avocado-vt-vm1 --current
        Domain snapshot 1729768744 reverted
        
        [root@libvirt-rhel-9 ~]# virsh detach-interface avocado-vt-vm1 --type network --mac 9a:44:3c:0d:49:9e --live
        Interface detached successfully
        
      1. # virsh dumpxml avocado-vt-vm1 --xpath //interface

         

      Expected results

      The command returns empty. The device has been removed.

      Actual results

      The interface is still present.
      When I try to check in the guest if the device is still present the VM is stuck:

      [root@localhost ~]# ip link
      [   88.061610] watchdog: BUG: soft lockup - CPU#1 stuck for 53s! [kworker/1:2:260]
      
      Message from syslogd@localhost at Oct 24 19:38:58 ...
       kernel:watchdog: BUG: soft lockup - CPU#1 stuck for 53s! [kworker/1:2:260]
      ...
      

      Additional information

      1. This does not reproduce with a simpler interface definition
        <interface type="network">
              <mac address="9a:44:3c:0d:49:9e" />
              <source network="default"/>
              <model type="virtio" />
        </interface>
        
      1. This does not reproduce with qemu-kvm-9.0.0-10.el9_5
      2.  
         # virsh event --all --loop 

        doesn't observe any device-removed event.

              virt-maint virt-maint
              smitterl@redhat.com Sebastian Mitterle
              virt-maint virt-maint
              virt-bugs virt-bugs
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: