This service will be undergoing maintenance at 00:00 UTC, 2017-10-23 It is expected to last about 30 minutes
Bug 599496 - SPICE: Client connected to win7-X64 Guest crashed on migration.
SPICE: Client connected to win7-X64 Guest crashed on migration.
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: qspice (Show other bugs)
5.6
All Windows
high Severity high
: rc
: ---
Assigned To: Yonit Halperin
Desktop QE
VDI
: ZStream
Depends On:
Blocks: 609582 622278
  Show dependency treegraph
 
Reported: 2010-06-03 07:21 EDT by Omri Hochman
Modified: 2014-01-20 18:59 EST (History)
15 users (show)

See Also:
Fixed In Version: qspice-0.3.0-55.el5
Doc Type: Bug Fix
Doc Text:
After a live migration of a virtual machine with multiple monitors, not being reset properly at the client side, the palette cache was not always synchronized between the server and the client, which could cause the client to terminate unexpectedly. With this update, the target server always sends the "RESET" instruction to the client for all monitors, and the client now works as expected.
Story Points: ---
Clone Of:
: 622278 (view as bug list)
Environment:
Last Closed: 2013-10-02 08:00:45 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
spice: clear client palette caches on migration (787 bytes, patch)
2010-06-09 05:41 EDT, Uri Lublin
no flags Details | Diff

  None (edit)
Description Omri Hochman 2010-06-03 07:21:41 EDT
SPICE: Client connected to win7-X64 Guest crashed on migration.

scenario:
***********
the Client crashed after migration while the session was connected in full screen mode to win7-x64 guest with 2monitors, I've been able to reproduce the crash few more times by dragging a window inside the guest while migration in progress. 

*another scenario is executing Passmark-PerformanceTest (2D all tests) and start migration. 
can be found:   
\\10.35.255.10\files\appz\Passmark-PerformanceTest\petst_x64.exe

SPICE.log
**********
2010-06-03 10:01:17,765 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5886
2010-06-03 10:01:17,812 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:17,921 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:17,968 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,015 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,187 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,312 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,343 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,390 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,500 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,640 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5914
2010-06-03 10:01:18,656 INFO  [3116:3604] RedPeer::connect: Connecting 10.35.107.10 5886
2010-06-03 10:02:42,265 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5883
2010-06-03 10:02:42,343 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:42,500 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:42,828 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:42,937 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:43,015 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:43,078 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:43,171 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:43,203 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:43,218 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:43,265 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5917
2010-06-03 10:02:43,359 INFO  [3116:4756] RedPeer::connect: Connecting 10.35.101.23 5883
2010-06-03 10:03:29,203 WARN  [3116:3780] RedChannel::run: Cache<class CachedPalette,class PaletteCacheTreat,1024>::add: palette id 411012, double insert
2010-06-03 10:03:29,203 WARN  [3116:3500] RedChannel::run: AbortTrigger::on_event: abort
2010-06-03 10:03:29,203 WARN  [3116:2556] RedChannel::run: AbortTrigger::on_event: abort
2010-06-03 10:03:29,234 INFO  [3116:1912] WinMain: Spice client terminated (exitcode = -1).

END of STDIO:
*************
create_cairo_context: using cairo canvas
handle_dev_input: load
ram_map: addr 0xcc000000 size 0x4000000
vram_map: addr 0xd0000000 size 0x1000
rom_map: addr 0xd0002000 size 0x2000
ioport_map: base 0xc160 size 0x8
handle_dev_input: attach
create_cairo_context: using cairo canvas
handle_dev_input: load
ram_map: addr 0xd4000000 size 0x4000000
vram_map: addr 0xd8000000 size 0x1000
rom_map: addr 0xd8002000 size 0x2000
ioport_map: base 0xc170 size 0x8
ram_map: addr 0xdc000000 size 0x4000000
vram_map: addr 0xe0000000 size 0x1000
rom_map: addr 0xe0002000 size 0x2000
ioport_map: base 0xc180 size 0x8
QXL: qxl_vm_change_state_handler: running=1
QXL: qxl_vm_change_state_handler: running=1
QXL: qxl_vm_change_state_handler: running=1
handle_dev_input: start
handle_dev_input: start
QXL: qxl_vm_change_state_handler: running=1
handle_dev_input: mouse mode 2
handle_dev_input: mouse mode 2
handle_dev_input: start
handle_dev_input: mouse mode 2
handle_dev_input: start
handle_dev_input: mouse mode 2
red_receive: Connection reset by peer
reds_disconnect:
red_dispatcher_shutdown_cursor_peer:
red_dispatcher_shutdown_peer:
red_dispatcher_shutdown_cursor_peer:
handle_dev_input: cursor disconnect
handle_dev_input: disconnect
red_dispatcher_shutdown_peer:
handle_dev_input: cursor disconnect
red_dispatcher_shutdown_cursor_peer:
handle_dev_input: disconnect
red_dispatcher_shutdown_peer:
red_dispatcher_shutdown_cursor_peer:
red_dispatcher_shutdown_peer:
handle_dev_input: cursor disconnect
handle_dev_input: disconnect
handle_dev_input: cursor disconnect
handle_dev_input: disconnect
Comment 1 Itamar Heim 2010-06-03 08:17:10 EDT
does it always crash?
Comment 2 Yonit Halperin 2010-06-03 08:37:33 EDT
The palette cache is not synchronized between the server and the client after migration: it is empty at the server, and not cleaned at the client.
It is not win7 64-bit dependent and may occur any time after migration. It depends on the palette cache usage.
Comment 3 Omri Hochman 2010-06-03 08:46:31 EDT
its reproducible with the above scenario, but not always happened.
Comment 4 Yonit Halperin 2010-06-03 11:07:01 EDT
The bug is related to multiple monitors. Each monitor has its own palette cache. The target server sends a message to the client to RESET the cache, but only for one monitor. This occurs since it sends the message before the vm is started, and then, it seems like only one device is attached.
We need to send the messages to all monitors.
Comment 10 Uri Lublin 2010-06-09 05:41:40 EDT
Created attachment 422488 [details]
spice: clear client palette caches on migration
Comment 14 Jaromir Hradilek 2010-07-11 09:25:52 EDT
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:
After a live migration of a virtual machine with multiple monitors, not being reset properly at the client side, the palette cache was not always synchronized between the server and the client, which could cause the client to terminate unexpectedly. With this update, the target server always sends the "RESET" instruction to the client for all monitors, and the client now works as expected.
Comment 16 Lubos Kocman 2011-05-09 10:24:52 EDT
Verified on qspice-client-0.3.0-4.el5_5 / qspice-0.3.0-55 

3/3 sucessful migrations with (winxp/2 monitors)

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