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

Hit error when shutdown 100 VMs and run `virsh domstats` concurrently

Details

    • Normal
    • sst_virtualization
    • ssg_virtualization
    • False
    • Hide

      None

      Show
      None
    • If docs needed, set a value

    Description

      Description of problem:
      Hit error when shutdown 100 VMs and run `virsh domstats` concurrently,
      "error: internal error: End of file from qemu monitor
      error: Unable to read from monitor: Connection reset by peer".

      Version-Release number of selected component (if applicable):
      libvirt-6.6.0-6.module+el8.3.0+8125+aefcf088.x86_64
      qemu-kvm-5.1.0-9.module+el8.3.0+8182+ac9ced32.x86_64
      kernel: 4.18.0-234.el8.x86_64

      How reproducible:
      100%

      Steps to Reproduce:
      1. Start 100 VMs
      2. Run domstats.sh to get all domain stats on one terminal

      1. cat domstats.sh
        #!/bin/sh
        for i in {1..50}

        do
        virsh domstats 2>&1 >>stats.log
        sleep 2
        done

      #sh domstats.sh

      3. On another terminal, shutdown 100 VMs concurrently

      1. for i in $(virsh list --name); do virsh shutdown $i & done

      4. Get error in libvirtd.log and on the terminal which is running domstats.sh
      -------------------------------------------------------------------

      1. sh domstats.sh
        error: internal error: End of file from qemu monitor
        error: Unable to read from monitor: Connection reset by peer
        error: Unable to read from monitor: Connection reset by peer
        error: Unable to read from monitor: Connection reset by peer
        --------------------------------------------------------------------

      Actual results:
      In Step4, Get error in libvirtd.log

      Expected results:
      In Step4, No error.

      Additional info:

      • libvirtd.log
      • qemu guest log
      • In step2 run `python3 domstats.py`, hit same error.
      1. cat domstats.py
        import libvirt
        import time
        conn = libvirt.open("qemu:///system")
        for x in range(1,100):
        print(conn.getAllDomainStats())
        time.sleep(2)

      Attachments

        Issue Links

          Activity

            People

              khanicov@redhat.com Kristina Hanicova
              chhu@redhat.com Chenli Hu
              Kristina Hanicova Kristina Hanicova
              Yan Fu Yan Fu
              Votes:
              0 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: