Bug 739498

Summary: [virt-manager]Stream had I/O failure when destroy guest without graphic device
Product: [Community] Virtualization Tools Reporter: zhe peng <zpeng>
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: berrange, crobinso, jwu, mzhan, rwu, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-06-13 01:18:25 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:
Attachments:
Description Flags
full debug info none

Description zhe peng 2011-09-19 09:52:53 UTC
Description of problem:
Stream had I/O failure in debug info when destroy guest without graphic device,
and can't re-add graphic device .

Version-Release number of selected component (if applicable):
virt-manager-0.9.0-6.el6
libvirt-0.9.4-11.el6
python-virtinst-0.600.0-3.el6


How reproducible:
always

Steps to Reproduce:
1. Open virt-manager, make sure a good guest is in shutdown status

2. Open guest details page, Select Display VNC, Click Remove button, Finish

3. Start the guest

4. # virsh list --all
 Id Name                 State
----------------------------------
 23 win2008              running
the guest started without graphic device

5. Force off the guest,in debug info with error msg:

2011-09-19 03:03:58,729 (serialcon:150): Error receiving stream data
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/serialcon.py", line 148, in _event_on_stream
    got = self.stream.recv(1024)
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 3541, in recv
    if ret == None: raise libvirtError ('virStreamRecv() failed')
libvirtError: stream had I/O failure
2011-09-19 03:03:58,731 (serialcon:208): Error finishing stream
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/serialcon.py", line 206, in close
    self.stream.finish()
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 3393, in finish
    if ret == -1: raise libvirtError ('virStreamFinish() failed')
libvirtError: stream had I/O failure

6. switch to hardware detail page, add a vnc graphic to guest

7. start the guest.
the guest can start, but no vnc graphic shown in virt-manager.

Actual results:
see Steps to Reproduce

Expected results:
no error output when destroy guest without graphic device.
the guest can start normally with vnc graphic after re-add graphic device.


Additional info:
this issue occur on windows guest and rhel6 guest(installed X system)
if install rhel6 guest without X system, the guest can started with console normally.

Comment 1 zhe peng 2011-09-19 09:53:34 UTC
Created attachment 523813 [details]
full debug info

Comment 2 Cole Robinson 2011-09-26 20:40:47 UTC
I've seen this too. Pretty sure virsh console suffers from the same problem, but we actually don't catch errors on stream finish/abort in virsh console last time I checked.

Either way it is apparently harmless, so deferring to 6.3

Comment 4 Cole Robinson 2011-12-09 22:32:29 UTC
Not urgent, and given reduced capacity for virt-manager/virtinst, just moving
this to the upstream tracker.

Comment 5 Cole Robinson 2013-06-13 01:18:25 UTC
This was a libvirt issue fixed upstream recently:

commit e7b0382945c9bf043f06ee4dd760c2051d63d0f0
Author: Daniel P. Berrange <berrange>
Date:   Tue Apr 9 13:24:02 2013 +0100

    Tweak EOF handling of streams