Bug 731673

Summary: virsh # start domain1 --console hang there at the third time
Product: Red Hat Enterprise Linux 6 Reporter: yanbing du <ydu>
Component: libvirtAssignee: Daniel Berrangé <berrange>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 6.2CC: bsarathy, dallan, dyuan, jeder, mzhan, rwu, veillard, whuang
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.9.4-8.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 11:27:05 UTC Type: ---
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:    
Bug Blocks: 716393    

Description yanbing du 2011-08-18 10:17:41 UTC
Description of problem:
trying to reproduce bug 716393, when do the third time, virsh # start domain1 --console hang there, but cancel it or open an another terminal, and rerun the cmd, there's no problem.


Version-Release number of selected component (if applicable):
libvirt-0.9.4-4.el6.x86_64


How reproducible:
always

Steps to Reproduce:
1. virsh # start domain1 --console and leave it open.
2. On qemu guest vnc console, type halt as root.
3. rerun the above two steps.
  
Actual results:
at the third time, 
virsh # start domain1 --console
hang there

Expected results:
virsh # start domain1 --console
Domain domain1 started
Connected to domain domain1
Escape character is ^]

Additional info:
#cat /var/log/libvirt/libvirtd.log 
------
18:04:30.073: 3101: error : daemonStreamEvent:205 : stream had I/O failure
18:04:30.073: 3101: error : virNetSocketReadWire:910 : End of file while reading data: Input/output error
18:04:30.074: 3101: error : virStreamEventUpdateCallback:13844 : invalid connection pointer in virStreamEventUpdateCallback
18:04:30.074: 3101: error : qemuMonitorIO:577 : internal error End of file from monitor
18:05:18.434: 3101: error : daemonStreamEvent:205 : stream had I/O failure
18:05:18.434: 3101: error : virNetSocketReadWire:910 : End of file while reading data: Input/output error
18:05:18.435: 3101: error : virStreamEventUpdateCallback:13844 : invalid connection pointer in virStreamEventUpdateCallback
18:05:18.435: 3101: error : qemuMonitorIO:577 : internal error End of file from monitor
------

Comment 2 Daniel Berrangé 2011-09-01 19:28:38 UTC
There are multiple fixes in upstream GIT. We need all of the changes to daemon/ and src/rpc which impact streams, upto and including this final change:

commit b3fb288e52b7d0a0e58ab0e0bcac970436832d04
Author: Daniel P. Berrange <berrange>
Date:   Wed Aug 31 17:42:58 2011 +0100

    Fix tracking of RPC messages wrt streams

Comment 7 dyuan 2011-09-07 07:50:49 UTC
Reproduced this bug with libvirt-0.9.4-7.el6, "virsh # start domain1 --console" will hang at the 3rd time.
Verified PASS with libvirt-0.9.4-9.el6, "virsh # start domain1 --console" run normally for 5 times. But there are still some errors in libvirtd.log at the guest "power down":

15:48:44.185: 10072: error : daemonStreamEvent:208 : stream had I/O failure
15:48:44.186: 10072: error : virFDStreamUpdateCallback:111 : internal error stream is not open
15:48:44.186: 10072: error : qemuMonitorIO:577 : internal error End of file from monitor

Comment 8 errata-xmlrpc 2011-12-06 11:27:05 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-2011-1513.html