Bug 1390256 - RHEL VM dual monitors randomly hanging
Summary: RHEL VM dual monitors randomly hanging
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-vdagent
Version: 6.8
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: pre-dev-freeze
: ---
Assignee: Victor Toso
QA Contact: SPICE QE bug list
URL:
Whiteboard:
Depends On:
Blocks: 1521059
TreeView+ depends on / blocked
 
Reported: 2016-10-31 14:56 UTC by Frank DeLorey
Modified: 2019-07-03 13:39 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-07-03 12:28:01 UTC
Target Upstream Version:


Attachments (Terms of Use)
vsarah qemu log (6.50 KB, text/plain)
2016-11-01 14:58 UTC, Frank DeLorey
no flags Details
XML dump from failing VM (5.48 KB, text/plain)
2017-03-06 13:06 UTC, Frank DeLorey
no flags Details

Description Frank DeLorey 2016-10-31 14:56:19 UTC
Description of problem:

Customer reports that randomly his users are reporting that their spice/dual monitors are hanging and exiting.


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

Host details:
-------------
Hostname: dwi16.dwi.litle.com
Distro:   [redhat-release] Red Hat Enterprise Virtualization Hypervisor release 6.6 (20150603.0.el6ev)
Booted kernel:  2.6.32-504.23.4.el6.x86_64
spice-server-0.12.4-11.el6.x86_64
vdsm-4.16.20-1.el6ev.x86_64


VM Details
----------
Hostname: vsarah-vm1
Distro:   [redhat-release] Red Hat Enterprise Linux Server release 6.8
Booted kernel:  2.6.32-642.4.2.el6.x86_64
spice-client-0.8.2-15.el6.x86_64
rhevm-guest-agent-common-1.0.11-6.el6ev.noarch
rhevm-guest-agent-gdm-plugin-1.0.11-6.el6ev.x86_64


How reproducible:

Random however certain VMs see it more frequently. In this case vsarah-vm1

Steps to Reproduce:
1.User connects to RHEL 6.8 vm with dual monitors from a Windows laptop via spice.
2. After some time the monitors will hang and go white.
3. They must close the monitor windows and reconnect and even then spice options like cut and paste stop working.

Actual results:

Monitors hang

Expected results:

There should be no hangs

Additional info:

When this happens customer is generally running an application called squirrel and doing a query. We have verified that the VM was shutdown and properly set to allow to monitors before running with the dual monitors.

Comment 1 Frank DeLorey 2016-10-31 14:58:43 UTC
The resolution for the monitors is as follows:

one screen is 1432x1087
the other screen is 1872x1106

These are not running in full screen mode.

There are no indications in the logs as there being any hang or problem even with spice debugging enabled.

Comment 2 Uri Lublin 2016-11-01 10:17:43 UTC
Hello,

Please provide additional information:
1. What is the version of spice-vdagent package on the guest ?
   (on the guest -- rpm -q spice-vdagent)
2. What is OS is running on the laptop (e.g Windows 7 amd64 or Windows XP) ?
   What is the version of virt-viewer/remote-viewer running on the laptop ?
   (e.g. from Help->About menu)
3. Was the VM configured to have 2 monitors in RHEV-M ?
   (possibly in addition what was the qemu-kvm command line on the host)
4. Are there any errors/warnings in the qemu-kvm log file on the host ?
   (in /var/log/libvirt/qemu/VMNAME.log)

Comment 3 Frank DeLorey 2016-11-01 14:56:47 UTC
1 - rpm -qav|grep spice
spice-gtk-python-0.26-7.el6.x86_64
spice-client-0.8.2-15.el6.x86_64
spice-glib-0.26-7.el6.x86_64        
spice-gtk-0.26-7.el6.x86_64
spice-server-0.12.4-13.el6.1.x86_64 
spice-protocol-0.12.6-1.el6.noarch            
spice-vdagent-0.14.0-11.el6.x86_64               
spice-xpi-2.7-27.el6.x86_64    

2 - windows 7 pro 64B
 virt viewer 3.1-256

3 - Yes I had them shutdown the VM and verify that they selected two monitors   
    before starting the vm again.

4 - attached qemu log file no errors

Comment 4 Frank DeLorey 2016-11-01 14:58:11 UTC
Created attachment 1216140 [details]
vsarah qemu log

Comment 5 Victor Toso 2016-11-01 15:18:55 UTC
Hi Frank,

We also need:

1. log from the client to check what's going on there;
   You can run with --spice-debug to gather the logs

2. log from spice-vdagent in the guest based on:
> and even then spice options like cut and paste stop working.

I also suggest the customer to check with rhevm spice client (virt-viewer 3.1 is upstream release)

Comment 6 Frank DeLorey 2017-03-06 13:05:21 UTC
The customer has set the number of heads correctly as verified by the attached xml dump from the failing VM. I noticed that there is no entry for vgamem. This seems to be not implemented until rhev 3.6.3 with 7.2 hosts according to BZ 1275539. The white screens are always happening after multiple cut+paste operations. I suspect that this would only be solved by the fixed put into BZ 1275539. Does this sound correct?

Thanks,

Frank

Comment 7 Frank DeLorey 2017-03-06 13:06:25 UTC
Created attachment 1260399 [details]
XML dump from failing VM

Comment 14 Victor Toso 2018-05-30 07:23:01 UTC
Logs from client and agent please, in order to see something unusual that could help create a reproducer (comment #5)

Comment 20 Frank DeLorey 2018-10-08 16:01:01 UTC
It seems we are seeing some clipboard activity and then the session is gone and they need to reconnect:

Oct  4 11:16:24.082484 spice-vdagentd: debug: 0x60bed0 clipboard req from agent which is not in the active session?
Oct  4 11:16:24.082562 spice-vdagentd: debug: 0x60c070 received clipboard grab, arg1: 0, arg2: 0, size 4
Oct  4 11:16:24.114917 spice-vdagentd: debug: 0x60bed0 received clipboard release, arg1: 0, arg2: 0, size 0
Oct  4 11:16:24.114967 spice-vdagentd: debug: 0x60bed0 clipboard req from agent which is not in the active session?
Oct  4 11:16:24.114981 spice-vdagentd: debug: 0x60c070 received clipboard release, arg1: 0, arg2: 0, size 0
Oct  4 11:16:24.115744 spice-vdagentd: debug: 0x60bed0 received clipboard grab, arg1: 0, arg2: 0, size 4
Oct  4 11:16:24.115823 spice-vdagentd: debug: 0x60bed0 clipboard req from agent which is not in the active session?
Oct  4 11:16:24.116385 spice-vdagentd: debug: 0x60c070 received clipboard grab, arg1: 0, arg2: 0, size 4
Oct  4 11:16:24.149587 spice-vdagentd: debug: 0x60bed0 received clipboard release, arg1: 0, arg2: 0, size 0
Oct  4 11:16:24.149643 spice-vdagentd: debug: 0x60bed0 clipboard req from agent which is not in the active session?
Oct  4 11:18:21.810761 spice-vdagentd: debug: New client connected
Oct  4 11:18:21.974484 spice-vdagentd: debug: 0x60c070 sent monitors config, arg1: 0, arg2: 0, size 48
Oct  4 11:18:21.976712 spice-vdagentd: debug: 0x60c070 sent monitors config, arg1: 0, arg2: 0, size 328
Oct  4 11:18:22.738557 spice-vdagentd: debug: 0x60bed0 received guest xorg resolution, arg1: 3840, arg2: 1200, size 32
Oct  4 11:18:22.738592 spice-vdagentd: debug: uinput-update-size: 3408x1134
Oct  4 11:18:22.738600 spice-vdagentd: debug: screen 0: +0+0
Oct  4 11:18:22.738612 spice-vdagentd: debug: screen 1: +1512+0
Oct  4 11:18:22.738620 spice-vdagentd: debug: 0x60bed0 received guest xorg resolution, arg1: 3840, arg2: 1200, size 32
Oct  4 11:18:22.738627 spice-vdagentd: debug: uinput-update-size: 3408x1134
Oct  4 11:18:22.738634 spice-vdagentd: debug: screen 0: +0+0
Oct  4 11:18:22.738641 spice-vdagentd: debug: screen 1: +1512+0
Oct  4 11:18:22.738648 spice-vdagentd: debug: 0x60bed0 received guest xorg resolution, arg1: 3840, arg2: 1200, size 32
Oct  4 11:18:22.738654 spice-vdagentd: debug: uinput-update-size: 3408x1134
Oct  4 11:18:22.738683 spice-vdagentd: debug: screen 0: +0+0
Oct  4 11:18:22.738690 spice-vdagentd: debug: screen 1: +1512+0
Oct  4 11:18:22.756210 spice-vdagentd: debug: 0x60c070 received guest xorg resolution, arg1: 3840, arg2: 1200, size 32
Oct  4 11:18:22.756267 spice-vdagentd: debug: uinput-update-size: 3840x1200
Oct  4 11:18:22.756301 spice-vdagentd: debug: screen 0: +0+0
Oct  4 11:18:22.756324 spice-vdagentd: debug: screen 1: +1920+0
Oct  4 11:18:22.782446 spice-vdagentd: debug: 0x60c070 received guest xorg resolution, arg1: 3840, arg2: 1200, size 32
Oct  4 11:18:22.782517 spice-vdagentd: debug: uinput-update-size: 3840x1200
Oct  4 11:18:22.782533 spice-vdagentd: debug: screen 0: +0+0
Oct  4 11:18:22.782547 spice-vdagentd: debug: screen 1: +1920+0
Oct  4 11:18:23.156981 spice-vdagentd: debug: 0x60c070 sent monitors config, arg1: 0, arg2: 0, size 328


From the customer the time of the failure:

Thursday, October 04, 2018 11:18 AM

I am attaching the complete spice-vdagent log but it is HUGE.

Comment 21 Victor Toso 2018-10-09 08:31:46 UTC
Thanks Frank, this is very important hint

> spice-vdagentd: debug: 0x60bed0 clipboard req from agent which is not in the active session?

As the messages between spice components could be doing what is expected but something is broken in the agent leading to weird behaviour.

Any other information from the RHEL 6? Is it running GNOME? Was it tested with latest RHEL 6 version too? I'm asking because lasted build for spice-vdagentd is 0.14-13 while comment #3 mentions usage of 0.14-11

Comment 22 Frank DeLorey 2018-10-09 13:14:35 UTC
They are running 6.10 in the guest with the latest spice-vdagent.

kernel-2.6.32-754.3.5.el6.x86_64 

spice-vdagent-0.14.0-13.el6.x86_64 

It does appear that they are using gnome within the virtual machine.

gnome-desktop-2.28.2-11.el6.x86_64

Comment 23 Victor Toso 2019-01-08 13:24:45 UTC
Reproduced the warnings so far:

> Jan  8 11:01:03.040009 spice-vdagentd: debug: 0xfe5510 received clipboard grab, arg1: 1, arg2: 0, size 4
> Jan  8 11:01:03.040322 spice-vdagentd: debug: 0xfe91b0 received clipboard grab, arg1: 1, arg2: 0, size 4
> Jan  8 11:01:03.040510 spice-vdagentd: debug: 0xfe91b0 clipboard req from agent which is not in the active session?

0xfe5510 and 0xfe91b0 are both spice-vdagent from gdm user;

Having two instances of spice-vdagent for the same user is the bug and it is related to console-kit.

To trigger this scenario, I have here a RHEL-6.10 VM image from QE:
1) user 'test' connects automatically. At this point, only 'test' session agent is running;
2) Switch user will open the GDM interface; Connect with 'test2' user
3) At this point you have 3 session agents running: 'gdm', 'test', 'test2'
4) Switch user will open the GDM interface; Log back to 'test' user;
5) At this point, you have 4 session agents running: 'gdm', 'gdm', 'test', 'test2'

Comment 24 Victor Toso 2019-01-08 13:48:46 UTC
> Having two instances of spice-vdagent for the same user is the bug and it is related to console-kit.

Err. I think we can somehow workaround using console-kit/logind but the issue is related to whom is creating the multiple daemons (...)

Reproducible also in a RHEL7.6 VM

$ ps aux | grep -i spice | grep -v "root\|grep" 
gdm       3805  0.0  0.1 190172  3936 ?        Ss   14:42   0:00 /usr/bin/spice-vdagent
test      4452  0.0  0.1 190172  3892 ?        Ss   14:42   0:00 /usr/bin/spice-vdagent -d
gdm       5120  0.0  0.1 190172  3932 ?        Ss   14:43   0:00 /usr/bin/spice-vdagent
toso      5742  0.0  0.1 190172  3892 ?        Ss   14:43   0:00 /usr/bin/spice-vdagent -d


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