Bug 1138190 - Blocking UI
Summary: Blocking UI
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: virt-manager
Version: 7.1
Hardware: x86_64
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Giuseppe Scrivano
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 1105530
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-09-04 08:49 UTC by tingting zheng
Modified: 2015-03-05 10:07 UTC (History)
10 users (show)

Fixed In Version: virt-manager-1.1.0-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of: 1105530
Environment:
Last Closed: 2015-03-05 10:07:03 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0427 0 normal SHIPPED_LIVE virt-manager bug fix and enhancement update 2015-03-05 14:38:46 UTC

Description tingting zheng 2014-09-04 08:49:22 UTC
The bug can also be reproduced on rhel7,so cloned it.

+++ This bug was initially created as a clone of Bug #1105530 +++

Description of problem:
Upon losing a connection to VM(s), the virt. mgr. UI freezes and it's necessary to force quit the vrt. mgr. UI

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

How reproducible:
Every time

Steps to Reproduce:
1. Open virt. mgr. UI
2. Open a connection to VM(s)
3. Drop the connection on VM(s) side

Actual results:
The virt. mgr. UI freezes and the user has to force quit it

Expected results:
The virt. mgr. UI doesn't freeze and notifies about the dropped / lost connection and tries to reconnect (it probably tries to reconnect in the background, but this is not visible to the user)

Additional info:

--- Additional comment from Jiri Prajzner on 2014-06-06 07:01:46 EDT ---

virt. mgr. version:
virt-manager-0.9.0-19.el6.x86_64

--- Additional comment from Giuseppe Scrivano on 2014-06-30 10:06:41 EDT ---

the upstream version is affected by the same issue.  The solution seems to be in the usage of the virConnectSetKeepAlive API so the libvirt client (virt-manager in this case) keeps regularly pinging the server and be able to detect a dropped connection.

--- Additional comment from Giuseppe Scrivano on 2014-07-02 09:30:43 EDT ---

fixed upstream with these patches:

commit 0c95a5e725256f552774db05cc2fa3bee3b1a25e
Author: Giuseppe Scrivano <gscrivan>
Date:   Tue Jul 1 15:01:58 2014 +0200

    console: prevent access to deleted objects
    
    last commits revealed that some objects can still be accessed by
    registered callbacks after the console is closed.  Unregister these
    callbacks.
    
    Signed-off-by: Giuseppe Scrivano <gscrivan>

commit dc1c22bd97aa9104a5299408934036530406f9ca
Author: Giuseppe Scrivano <gscrivan>
Date:   Tue Jul 1 13:06:05 2014 +0200

    virt-manager: check if still connected every 20 seconds
    
    Signed-off-by: Giuseppe Scrivano <gscrivan>

commit 8b94cfa073b517eb65ccf180004c76929c9ebf1a
Author: Giuseppe Scrivano <gscrivan>
Date:   Tue Jul 1 12:54:38 2014 +0200

    virtinst: add method to set connection keep-alive
    
    Signed-off-by: Giuseppe Scrivano <gscrivan>



This is going to be considered for 6.7, hopefully the change won't be too intrusive to be included.

--- Additional comment from tingting zheng on 2014-07-28 05:34:46 EDT ---

Hi,Jiri Prajzner
   I am confused by the steps in description,what do you mean in step 3:Drop the connection on VM(s) side.
   I only can reproduce the bug by adding a remote connection,open a guest console,then destroy the network in remote host,then virt-manager freeze.

--- Additional comment from Jiri Prajzner on 2014-09-04 04:03:54 EDT ---

(In reply to tingting zheng from comment #4)
> Hi,Jiri Prajzner
>    I am confused by the steps in description,what do you mean in step 3:Drop
> the connection on VM(s) side.
>    I only can reproduce the bug by adding a remote connection,open a guest
> console,then destroy the network in remote host,then virt-manager freeze.

hi,

the way you reprduced it is exactly what i meant.
apologies for vague description and late reply.

Comment 3 tingting zheng 2014-09-10 09:23:26 UTC
I can reproduce the bug with:
virt-manager-0.10.0-20.el7.noarch

Steps:
1.On host A,add a remote connection from host B via virt-manager.
2.Open a guest console on host B from the remote connection.
3.Disable the network of host B.
4.Virt-manager GUI freezes and we can use force quit to quit virt-manager.

Tested with:
virt-manager-1.1.0-1.el7.noarch

In step 4,after wait about 20 seconds,error info shows:
Error polling connection 'qemu+ssh://root.5.243/system': internal error: received hangup / error event on socket
details=Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 341, in _handle_tick_queue
    conn.tick(**kwargs)
  File "/usr/share/virt-manager/virtManager/connection.py", line 1135, in tick
    raise e  # pylint: disable=raising-bad-type
libvirtError: internal error: received hangup / error event on socket

After shutdown the console,from virt-manager GUI on host A,the remote connection is disconnected.

Refer to the above comments,the bug has been fixed,so move the bug to VERIFIED.

Comment 5 errata-xmlrpc 2015-03-05 10:07:03 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.

https://rhn.redhat.com/errata/RHBA-2015-0427.html


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