Bug 1065225
| Summary: | QMP socket breaks on unexpected close | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Amit Shah <amit.shah> |
| Component: | qemu-kvm | Assignee: | Amit Shah <amit.shah> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | urgent | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 7.0 | CC: | acathrow, amit.shah, bsarathy, chayang, cloud, hhuang, juzhang, konishchev, mazhang, mkenneth, qzhang, sluo, ukar, virt-maint |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-kvm-1.5.3-48.el7 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1060024 | Environment: | |
| Last Closed: | 2014-06-13 12:42:55 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: | |
| Embargoed: | |||
| Bug Depends On: | 1060024 | ||
| Bug Blocks: | |||
|
Description
Amit Shah
2014-02-14 07:23:07 UTC
Hi, Amit
On rhel7 host (qemu-kvm-1.5.3-47.el7.x86_64), the python script shows:
# python break_qmp.py qemu-kvm/ /tmp/qmp
Connecting to QMP...
OK
Connecting using socket...
OK
Connecting to QMP...
Traceback (most recent call last):
File "break_qmp.py", line 13, in <module>
c.connect()
File "qemu-kvm/QMP/qmp.py", line 76, in connect
raise QMPCapabilitiesError
qmp.QMPCapabilitiesError
But it works on rhel6 bug 1060024. Could you give a help on the above issue?
Thanks,
Qunfang
(In reply to Qunfang Zhang from comment #1) > Hi, Amit > > On rhel7 host (qemu-kvm-1.5.3-47.el7.x86_64), the python script shows: > # python break_qmp.py qemu-kvm/ /tmp/qmp > Connecting to QMP... > OK > Connecting using socket... > OK > Connecting to QMP... > Traceback (most recent call last): > File "break_qmp.py", line 13, in <module> > c.connect() > File "qemu-kvm/QMP/qmp.py", line 76, in connect > raise QMPCapabilitiesError > qmp.QMPCapabilitiesError > > But it works on rhel6 bug 1060024. Could you give a help on the above issue? The expected result is thta this traceback doesn't happen, and the connecting...OK sequences keep happening in a loop. Please try the brew build. For RHEL6, the python script doesn't quit, but instead just freezes, and if you see 'top' output, qemu uses 100% cpu. With the fix, RHEL6 too will just continue connecting and disconnecting in a loop. (In reply to Amit Shah from comment #3) > (In reply to Qunfang Zhang from comment #1) > > Hi, Amit > > > > On rhel7 host (qemu-kvm-1.5.3-47.el7.x86_64), the python script shows: > > # python break_qmp.py qemu-kvm/ /tmp/qmp > > Connecting to QMP... > > OK > > Connecting using socket... > > OK > > Connecting to QMP... > > Traceback (most recent call last): > > File "break_qmp.py", line 13, in <module> > > c.connect() > > File "qemu-kvm/QMP/qmp.py", line 76, in connect > > raise QMPCapabilitiesError > > qmp.QMPCapabilitiesError > > > > But it works on rhel6 bug 1060024. Could you give a help on the above issue? > > The expected result is thta this traceback doesn't happen, and the > connecting...OK sequences keep happening in a loop. Please try the brew > build. > > For RHEL6, the python script doesn't quit, but instead just freezes, and if > you see 'top' output, qemu uses 100% cpu. With the fix, RHEL6 too will just > continue connecting and disconnecting in a loop. Tried your build also meet the same problem as comment #3. # uname -r && rpm -q qemu-kvm 3.10.0-86.el7.x86_64 qemu-kvm-1.5.3-45.el7.bz1065225.x86_64 # python break_qmp.py /home/qemu-kvm /tmp/qmp Connecting to QMP... OK Connecting using socket... OK Connecting to QMP... Traceback (most recent call last): File "break_qmp.py", line 13, in <module> c.connect() File "/home/qemu-kvm/QMP/qmp.py", line 87, in connect return self.__negotiate_capabilities() File "/home/qemu-kvm/QMP/qmp.py", line 59, in __negotiate_capabilities raise QMPCapabilitiesError qmp.QMPCapabilitiesError (In reply to Sibiao Luo from comment #4) > Tried your build also meet the same problem as comment #3. Can you try multiple times? Do you get the same result each time? (In reply to Amit Shah from comment #5) > (In reply to Sibiao Luo from comment #4) > > Tried your build also meet the same problem as comment #3. > > Can you try multiple times? Do you get the same result each time? sure, each time can hit it. Strange. In my testing, with the patch, I don't see any problems and the script continues to run, whereas without the patch, the script aborts quickly. Fix included in qemu-kvm-1.5.3-48.el7 Reproduce this bug with qemu-kvm-1.5.3-41.el7.x86_64.
[root@m1 ~]# python break_qmp.py /root/source/qemu-kvm /tmp/qmp
Connecting to QMP...
OK
Connecting using socket...
OK
Connecting to QMP...
Traceback (most recent call last):
File "break_qmp.py", line 13, in <module>
c.connect()
File "/root/source/qemu-kvm/QMP/qmp.py", line 87, in connect
return self.__negotiate_capabilities()
File "/root/source/qemu-kvm/QMP/qmp.py", line 59, in __negotiate_capabilities
raise QMPCapabilitiesError
qmp.QMPCapabilitiesError
Update qemu-kvm and re-test this bug.
Host:
qemu-kvm-debuginfo-1.5.3-49.el7.x86_64
qemu-img-1.5.3-49.el7.x86_64
libvirt-daemon-driver-qemu-1.1.1-22.el7.x86_64
qemu-kvm-common-1.5.3-49.el7.x86_64
qemu-kvm-tools-1.5.3-49.el7.x86_64
qemu-kvm-1.5.3-49.el7.x86_64
Steps:
# /usr/libexec/qemu-kvm -qmp unix:/tmp/qmp,server,nowait
VNC server running on `::1:5900'
Result:
1. Continue output following:
Connecting using socket...
OK
Connecting to QMP...
OK
Connecting using socket...
OK
Connecting to QMP...
OK
Connecting using socket...
OK
Connecting to QMP...
OK
Connecting using socket...
OK
2. qemu-kvm uses 70~80% cpu.
This bug has been fixed.
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |