RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 791200 - Character device consumers can miss OPENED events
Summary: Character device consumers can miss OPENED events
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.3
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: rc
: ---
Assignee: Kevin Wolf
QA Contact: Virtualization Bugs
URL:
Whiteboard:
: 795661 796115 796203 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-02-16 13:42 UTC by Stefan Hajnoczi
Modified: 2012-06-20 11:43 UTC (History)
14 users (show)

Fixed In Version: qemu-kvm-0.12.1.2-2.234.el6
Doc Type: Bug Fix
Doc Text:
No Documentation Needed
Clone Of:
Environment:
Last Closed: 2012-06-20 11:43:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0746 0 normal SHIPPED_LIVE qemu-kvm bug fix and enhancement update 2012-06-19 19:31:48 UTC

Description Stefan Hajnoczi 2012-02-16 13:42:06 UTC
Description of problem:

QEMU character devices emit an OPENED event when the device is open or a connection has been accepted.  This is used, for example, to print the QMP monitor greeting.

Because character devices are initialized in vl.c:main() before their consumers care must be taken to deliver the OPENED event reliably.

In Kevin's coroutine backport to RHEL 6.3 I noticed that the QMP monitor does not work on a socket,path=/tmp/qemu-mon UNIX domain socket because the OPENED event is emitted before the QMP monitor is attached.  As a result, the QMP monitor never begins operation and clients do not see the greeting.

Alexander Graf fixed this issue for a different scenario with the s390 virtio-console.  His patch also addresses RHEL 6.3 qemu-kvm with coroutines in the block layer.

Version-Release number of selected component (if applicable):

RHEL 6.3 qemu-kvm with Kevin's coroutines backport series

How reproducible:

Deterministic

Steps to Reproduce:
1. nc -l -U /tmp/qemu-mon
2. In another shell: x86_64-softmmu/qemu-system-x86_64 -cpu host -chardev socket,id=mon,path=/tmp/qemu-mon -mon chardev=mon,mode=control -nographic -drive if=virtio,file=test.img,cache=none,id=virtio0
  
Actual results:

The netcat sessions never receives the QMP monitor greeting.

Expected results:

The QMP monitor should send the greeting to the netcat client.

Additional info:

Please cherry-pick Alexander Graf's fix 73cdf3f2c97703a89b026d3a42c1120ba05fe37d.

Comment 1 Kevin Wolf 2012-02-21 09:10:10 UTC
*** Bug 795661 has been marked as a duplicate of this bug. ***

Comment 4 Qixiang Wan 2012-02-29 02:16:30 UTC
*** Bug 796115 has been marked as a duplicate of this bug. ***

Comment 5 Chao Yang 2012-03-02 03:16:27 UTC
--- Reproduced this bug with qemu-kvm-0.12.1.2-2.233.el6.x86_64.
Scenario 1:
1. listen by nc -lU /path/to/unix-socket
2. boot a guest by two ways:
a. -chardev socket,id=mon,path=/opt/mon.monitor -mon chardev=mon,mode=control
b. -qmp unix:/opt/mon.monitor 

Actual Result:
No greeting printed.
# nc -lU /opt/mon.monitor
{"execute":"qmp_capabilities"}   <--- returns nothing

Scenario 2:
1. listen by nc -lU /path/to/unix-socket
2. boot a guest by -monitor stdio

Actual Result:
No greeting printed like "QEMU 0.12.1 monitor - type 'help' for more information
"

--- Verified with qemu-kvm-0.12.1.2-2.234.el6.x86_64 using same scenarios above.
Scenario 1 actual result:
Greeting printed.
# nc -lU /opt/mon.monitor
 {"QMP": {"version": {"qemu": {"micro": 1, "minor": 12, "major": 0}, "package": "(qemu-kvm-0.12.1.2)"}, "capabilities": []}}
 {"execute":"qmp_capabilities"}
 {"return": {}}

Scenario 2 actual result:
Greeting printed in screen:
QEMU 0.12.1 monitor - type 'help' for more information


--- As per above, this issue has been fixed.

Comment 7 Amit Shah 2012-04-11 08:19:33 UTC
*** Bug 796203 has been marked as a duplicate of this bug. ***

Comment 9 Michal Novotny 2012-05-04 12:43:08 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
NEEDINFO

Comment 12 Richard W.M. Jones 2012-05-08 10:52:07 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-NEEDINFO+No Documentation Needed

Comment 13 errata-xmlrpc 2012-06-20 11:43:32 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, and where to find the updated
files, follow the link below.

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

http://rhn.redhat.com/errata/RHBA-2012-0746.html


Note You need to log in before you can comment on or make changes to this bug.