Bug 2075464

Summary: There is error log when restart virtqemud during vm is running
Product: Red Hat Enterprise Linux 9 Reporter: yalzhang <yalzhang>
Component: libvirtAssignee: Andrea Bolognani <abologna>
libvirt sub component: General QA Contact: Yanqiu Zhang <yanqzhan>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: abologna, jdenemar, jsuchane, lmen, smitterl, virt-maint, xuzhang, yanqzhan
Version: 9.1Keywords: Regression, Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-8.3.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-15 10:04:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version: 8.3.0
Embargoed:

Description yalzhang@redhat.com 2022-04-14 09:51:14 UTC
Description of problem:
There is error log when restart virtqemud during vm is running

Version-Release number of selected component (if applicable):
libvirt-8.2.0-1.el9.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Set the log and restart services, then start a vm;
Run below script to set the log:
#!/bin/bash
for drv in qemu interface network nodedev nwfilter secret storage proxy;
do
cp /etc/libvirt/virt${drv}d.conf  /etc/libvirt/virt${drv}d.conf_bak
#echo 'log_filters="3:remote 4:event 3:util.json 3:rpc 1:*"' >> /etc/libvirt/virt${drv}d.conf;
echo 'log_level=2' >> /etc/libvirt/virt${drv}d.conf;
echo 'log_outputs="2:file:/var/log/libvirt/libvirtd.log"' >> /etc/libvirt/virt${drv}d.conf;
systemctl restart virt${drv}d.service
done

then start a vm:
# virsh start rhel

2. Restart  virtqemud;
# systemctl restart virtqemud

3. Check the log and find there is an error:
# cat libvirtd.log |grep -i error | grep -v info
2022-04-14 09:29:40.580+0000: 4520: error : virXMLPropEnumInternal:516 : XML error: Invalid value for attribute 'value' in element 'allowReboot': 'default'.

Actual results:
There is error in the log files

Expected results:
There should not be error in the logs

Additional info:
There is a patch on upstream to fix it:
https://www.spinics.net/linux/fedora/libvir/msg229217.html

Comment 1 Andrea Bolognani 2022-04-15 08:02:41 UTC
The fix has already been merged upstream.

  commit d83d9dde1da88ab4fa83d594cd53d85642f86a39
  Author: Andrea Bolognani <abologna>
  Date:   Thu Mar 24 19:47:16 2022 +0100

    qemu: Accept <allowReboot value='default'/>

    Up until a few commits ago, libvirt produced this XML and so
    we need to be able to read it back to prevent a bunch of

      error : virXMLPropEnumInternal:516 : XML error: Invalid value
      for attribute 'value' in element 'allowReboot': 'default'

    messages from being logged on daemon upgrade when there are
    running guests.

    Fixes: 0fe2d8dd335054fae38b46bbbac58a4662e1a1d0
    Signed-off-by: Andrea Bolognani <abologna>
    Reviewed-by: Michal Privoznik <mprivozn>

  v8.2.0-79-gd83d9dde1d

It will be included in the libvirt 8.3.0 release and make its way
into RHEL 9.1 via a rebase.

Comment 2 Yanqiu Zhang 2022-04-24 07:54:42 UTC
Reproduce with:
libvirt-8.2.0-1.el9.x86_64
qemu-kvm-6.2.0-13.el9.x86_64

Steps:
# virsh start r9
Domain 'r9' started

# systemctl restart virtqemud

# grep allowReboot /var/log/messages
Apr 23 23:37:07 dell-per740xd-18 journal[91447]: XML error: Invalid value for attribute 'value' in element 'allowReboot': 'default'.

------
Pre-verify with:
libvirt-v8.2.0-209-gde0a50833f
qemu-kvm-7.0.0-1.fc37.x86_64

Steps:
# virsh start avocado-vt-vm1
Domain 'avocado-vt-vm1' started

# systemctl restart virtqemud

Set or not set libvirtd logging:
#  grep allowReboot /var/log/ -Rin
(nothing output)


But there’s a new error in libvirtd log:

# tail -f  /var/log/libvirt/libvirtd.log |grep -i error | grep -v info
2022-04-24 07:16:07.328+0000: 59095: error : virNetSocketReadWire:1791 : End of file while reading data: Input/output error

It happens most times when restart daemon or sometimes destroy vm.


Hi Andrea,

Could you help check this new issue, and confirm whether it need be fixed in current bug please?
Thank you!

Comment 4 Andrea Bolognani 2022-04-27 17:55:26 UTC
(In reply to yanqzhan from comment #2)
> But there’s a new error in libvirtd log:
> 
> # tail -f  /var/log/libvirt/libvirtd.log |grep -i error | grep -v info
> 2022-04-24 07:16:07.328+0000: 59095: error : virNetSocketReadWire:1791 : End
> of file while reading data: Input/output error
> 
> It happens most times when restart daemon or sometimes destroy vm.
> 
> 
> Hi Andrea,
> 
> Could you help check this new issue, and confirm whether it need be fixed in
> current bug please?
> Thank you!

I've tried to reproduce this locally (Fedora 35, QEMU 7.0, libvirt
8.3.0-rc1) without luck. Even restarting the daemon and destroying a
VM multiple times in a row, I didn't manage to see that error message
a single time.

Either way, it wouldn't be related to this change. If you keep seeing
that error, please file a separate bug.

Comment 5 Yanqiu Zhang 2022-04-28 02:29:47 UTC
Thanks Andrea.

Comment 6 Yanqiu Zhang 2022-05-19 04:22:32 UTC
Verified on:
libvirt-8.3.0-1.el9.x86_64
qemu-kvm-7.0.0-3.el9.x86_64

Steps:
# virsh start avocado-vt-vm1
Domain 'avocado-vt-vm1' started

# systemctl restart virtqemud

# grep allowReboot /var/log/ -Rin
(nothing output)

#  grep error -i /var/log/messages 
(nothing output)

# grep error -i /var/log/libvirt/libvirtd.log
(nothing output)

Comment 10 errata-xmlrpc 2022-11-15 10:04:06 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Low: libvirt security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2022:8003