Bug 810544 - virt-viewer adds 1px black bar to the bottom in full screen mode, thus causing guest to be unnecessarily scaled
virt-viewer adds 1px black bar to the bottom in full screen mode, thus causin...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virt-viewer (Show other bugs)
6.3
i686 Unspecified
high Severity high
: rc
: 6.3
Assigned To: Daniel Berrange
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-06 11:32 EDT by David Jaša
Modified: 2016-04-26 10:27 EDT (History)
9 users (show)

See Also:
Fixed In Version: virt-viewer-0.5.2-6.el6
Doc Type: Bug Fix
Doc Text:
Cause: On i386 platforms an arithmetic error caused inaccurate calculation of the desired window size Consequence: On i386 platforms the window may be resized 1 pixel too small, causing the guest display to be unnecessarily scaled Fix: The scaling code was changed to round to the nearest integer, instead of truncating, avoiding a reliance on precision of floating point calculations. Result: On i386 windows are resized such that scaling is not required if the guest display is small enough to fit on the host desktop
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-06-20 08:12:11 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
screenshot (1.03 MB, image/png)
2012-04-06 11:32 EDT, David Jaša
no flags Details
backtrace of i686 binary with black bar (3.51 KB, text/plain)
2012-04-16 09:46 EDT, David Jaša
no flags Details
backtrace of x86_64 binary without black bar (3.54 KB, text/plain)
2012-04-16 09:47 EDT, David Jaša
no flags Details
screenshot: remote-viewer with blurred fonts and 1px black under the cursor (32.24 KB, image/png)
2012-04-17 10:21 EDT, David Jaša
no flags Details
screenshot: spicy with clear fonts and cursor right next to bottom border (22.29 KB, image/png)
2012-04-17 10:22 EDT, David Jaša
no flags Details

  None (edit)
Description David Jaša 2012-04-06 11:32:34 EDT
Created attachment 575788 [details]
screenshot

Description of problem:
virt-viewer adds 1px black bar to the bottom in full screen mode, thus causing guest to be unnecessarily scaled.

Version-Release number of selected component (if applicable):
virt-viewer-0.5.2-4.el6.i686
spice-gtk-0.11-6.el6.i686

How reproducible:
always on the machine where I hit the bug
never on different machine with the same virt-viewer & spice-gtk versions

Steps to Reproduce:
1. 
2.
3.
  
Actual results:


Expected results:


Additional info:
does not happen on: 
virt-viewer-0.5.2-3.el6.x86_64
spice-gtk-0.11-5.el6.x86_64
Comment 1 David Jaša 2012-04-06 13:32:39 EDT
minor update: does not happen also with:
virt-viewer-0.5.2-4.el6.x86_64
spice-gtk-0.11-6.el6.x86_64

iow the same revisions as on faulty client but in x86_64 versions.
Comment 2 David Jaša 2012-04-16 08:59:51 EDT
This bug occurs on all i686 boxes I've tried with most recent versions available:
virt-viewer-0.5.2-4.el6.i686
spice-gtk-0.11-7.el6.i686

Given that replacement of spicec with virt-viewer is approaching quickly, I'm marking this as a Regression and I'm raising priority of this one.

Note: spicy on the same system works just fine.
Comment 3 David Jaša 2012-04-16 09:46:10 EDT
Created attachment 577719 [details]
backtrace of i686 binary with black bar
Comment 4 David Jaša 2012-04-16 09:47:32 EDT
Created attachment 577720 [details]
backtrace of x86_64 binary without black bar

all versions should be the same in these two backtraces, the VM the clients connected to is the very same.
Comment 5 David Jaša 2012-04-17 10:21:21 EDT
Created attachment 578056 [details]
screenshot: remote-viewer with blurred fonts and 1px black under the cursor
Comment 6 David Jaša 2012-04-17 10:22:44 EDT
Created attachment 578057 [details]
screenshot: spicy with clear fonts and cursor right next to bottom border

These two screenshots demonstrate the problem better.
Comment 7 Daniel Berrange 2012-04-19 05:48:07 EDT
I have been unable to reproduce this problem so far. The virt-viewer layout doesn't have any fixed padding around it, so any incorrect sizing must be related to resizing of the spice-gtk widget. I can't see any reason for a difference between i686 and x86_64 binaries. I guess there is perhaps a race condition in the full screen resizing code that by luck only occurs on one platform.

It is possible that getting the logs fro  'remote-viewer --debug --spice-debug URI' would show something interesting - can you try to capture logs in each of the two scenarios so we can compare
Comment 8 David Jaša 2012-04-19 07:24:38 EDT
(In reply to comment #7)
> I have been unable to reproduce this problem so far. The virt-viewer layout
> doesn't have any fixed padding around it, so any incorrect sizing must be
> related to resizing of the spice-gtk widget. I can't see any reason for a
> difference between i686 and x86_64 binaries.

It definitely is there, i couldn't reproduce on any x86_64 machine while all i686 ones do exhibit it.

> I guess there is perhaps a race
> condition in the full screen resizing code that by luck only occurs on one
> platform.

This applies to windowed mode as well, as shown by screenshots above.

> 
> It is possible that getting the logs fro  'remote-viewer --debug --spice-debug
> URI' would show something interesting - can you try to capture logs in each of
> the two scenarios so we can compare

sure, i686 follows:

** (remote-viewer:8275): DEBUG: fullscreen display 0: 0
** (remote-viewer:8275): DEBUG: fullscreen display 0: 0
** (remote-viewer:8275): DEBUG: Opening display to spice://<IP>/?port=5900
** (remote-viewer:8275): DEBUG: Guest spice://<IP>/?port=5900 has a spice display

(remote-viewer:8275): GSpice-DEBUG: spice-session.c:124 New session (compiled from package spice-gtk 0.11)
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8afd088
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8afd138
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8afd0e0
** (remote-viewer:8275): DEBUG: After open connection callback fd=-1
** (remote-viewer:8275): DEBUG: Opening connection to display at spice://<IP>/?port=5900

(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:124 main-1:0: spice_channel_constructed
(remote-viewer:8275): GSpice-DEBUG: spice-gtk-session.c:791 Changing main channel from (nil) to 0x8b03668
** (remote-viewer:8275): DEBUG: notebook show status 0x8acb010
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x8b03668
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x8b036b8 for main-1:0
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1497 Finally connected
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1664 main-1:0: spice_channel_recv_link_msg: 2 caps
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1680 got channel caps 0:0x1
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
** (remote-viewer:8275): DEBUG: main channel: opened
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1089 main-1:0: channel up, state 5
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1659 set mm time: 85110402
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:124 cursor-4:0: spice_channel_constructed
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:124 display-2:0: spice_channel_constructed
** (remote-viewer:8275): DEBUG: notebook show status 0x8acb010
** (remote-viewer:8275): DEBUG: new display channel (#0)
(remote-viewer:8275): vnc-keymap-DEBUG: vncdisplaykeymap.c:174 Using evdev keycode mapping
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:1528 mouse mode 1
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
** (remote-viewer:8275): DEBUG: notebook show status 0x8acb010
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:124 inputs-3:0: spice_channel_constructed
** (remote-viewer:8275): DEBUG: new inputs channel
** (remote-viewer:8275): DEBUG: Display size request 100x100 (desktop 100x100)
** (remote-viewer:8275): DEBUG: Allocated 400x375
** (remote-viewer:8275): DEBUG: Child allocate 375x375
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x8b57a00
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x8b57a50 for display-2:0
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x8b3f178
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x8b3f1c8 for cursor-4:0
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x8bb08d0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x8bb0920 for inputs-3:0
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1497 Finally connected
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1497 Finally connected
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1497 Finally connected
** (remote-viewer:8275): DEBUG: Display size request 50x50 (desktop 100x100)
** (remote-viewer:8275): DEBUG: Allocated 400x375
** (remote-viewer:8275): DEBUG: Child allocate 375x375
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1664 display-2:0: spice_channel_recv_link_msg: 1 caps
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1664 cursor-4:0: spice_channel_recv_link_msg: 1 caps
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1089 display-2:0: channel up, state 5
(remote-viewer:8275): GSpice-DEBUG: channel-display.c:767 spice_display_channel_up: cache_size 83886080, glz_window_size 12582912 (bytes)
(remote-viewer:8275): GSpice-DEBUG: channel-display.c:625 display: create primary canvas
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 720x400, window 0x0, zoom 1, offset +0+0
** (remote-viewer:8275): DEBUG: spice desktop resize 720x400
** (remote-viewer:8275): DEBUG: Preparing main window resize
** (remote-viewer:8275): DEBUG: Decided todo 720x400 (desktop is 720x400, fullscreen is 1680x1050
** (remote-viewer:8275): DEBUG: Display size request 720x400 (desktop 720x400)
** (remote-viewer:8275): DEBUG: Allocated 720x400
** (remote-viewer:8275): DEBUG: Child allocate 720x399
(remote-viewer:8275): GSpice-DEBUG: channel-display.c:815 display_handle_mark
** (remote-viewer:8275): DEBUG: Display size request 50x50 (desktop 720x400)
** (remote-viewer:8275): DEBUG: Allocated 720x400
** (remote-viewer:8275): DEBUG: Child allocate 720x399
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:1601 widget mark: 1, channel 0
** (remote-viewer:8275): DEBUG: display mark 1
** (remote-viewer:8275): DEBUG: notebook show display 0x8acb010
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:1075 focus_in_event
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:925 release_keys
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 720x400, window 720x399, zoom 1, offset +0+0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1664 inputs-3:0: spice_channel_recv_link_msg: 1 caps
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1089 cursor-4:0: channel up, state 5
(remote-viewer:8275): GSpice-DEBUG: channel-cursor.c:342 set_cursor: type 0, 8a87cc000000010, 0x32, flags 1, size 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1089 inputs-3:0: channel up, state 5
(remote-viewer:8275): GSpice-DEBUG: channel-base.c:80 spice_channel_handle_notify: channel main-1:0 -- warn!!! #0: keyboard channel is insecure
** (remote-viewer:8275): DEBUG: Window closed
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:1102 focus_out_event
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:925 release_keys
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:290 spice display dispose
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:290 spice display dispose
(remote-viewer:8275): GSpice-DEBUG: spice-widget.c:314 Finalize spice display
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit inputs-3:0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit display-2:0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit cursor-4:0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit main-1:0
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:124 New session (compiled from package spice-gtk 0.11)
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8a87920
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8a87a68
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8bc7ef0
(remote-viewer:8275): GSpice-DEBUG: channel-display.c:732 keeping exisiting primary surface, migration or reset
** (remote-viewer:8275): DEBUG: main channel: closed
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel inputs-3:0 0x8bb08d0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:139 inputs-3:0: spice_channel_dispose 0x8bb08d0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:161 inputs-3:0: spice_channel_finalize 0x8bb08d0
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel display-2:0 0x8b57a00
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:139 display-2:0: spice_channel_dispose 0x8b57a00
** (remote-viewer:8275): DEBUG: zap session channel (#0)
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:161 display-2:0: spice_channel_finalize 0x8b57a00
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel cursor-4:0 0x8b3f178
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:139 cursor-4:0: spice_channel_dispose 0x8b3f178
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:161 cursor-4:0: spice_channel_finalize 0x8b3f178
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel main-1:0 0x8b03668
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:139 main-1:0: spice_channel_dispose 0x8b03668
** (remote-viewer:8275): DEBUG: zap main channel
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:139 session dispose
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:124 New session (compiled from package spice-gtk 0.11)
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8bb0d40
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8b68cc0
(remote-viewer:8275): GSpice-DEBUG: usb-device-manager.c:595 device added 0x8b68c38
** (remote-viewer:8275): DEBUG: notebook show status 0x8acb010
** (remote-viewer:8275): DEBUG: Guest spice://<IP>/?port=5900 display has disconnected, shutting down
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:139 session dispose
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
(remote-viewer:8275): GSpice-DEBUG: spice-channel.c:161 main-1:0: spice_channel_finalize 0x8b03668
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:139 session dispose
(remote-viewer:8275): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
** (remote-viewer:8275): DEBUG: Set connect info: (null),(null),(null),-1,(null),(null),(null),0


$ rpm -q --whatprovides $(rpm -qR virt-viewer) | sort | uniq | grep -v "no package provides"
atk-1.28.0-2.el6.i686
bash-4.1.2-8.el6.i686
cairo-1.8.8-3.1.el6.i686
chkconfig-1.3.49.3-2.el6.i686
fontconfig-2.8.0-3.el6.i686
freetype-2.3.11-6.el6_2.9.i686
glib2-2.22.5-7.el6.i686
glibc-2.12-1.79.el6.i686
gnutls-2.8.5-4.el6_2.2.i686
gtk2-2.18.9-10.el6.i686
gtk-vnc-0.3.10-3.el6.i686
libvirt-client-0.9.10-11.el6.i686
libxml2-2.7.6-4.el6_2.4.i686
openssh-clients-5.3p1-76.el6.i686
pango-1.28.1-3.el6_0.5.i686
spice-glib-0.11-8.el6.i686
spice-gtk-0.11-8.el6.i686
Comment 9 David Jaša 2012-04-19 07:41:25 EDT
x86_64:

$ remote-viewer --debug --spice-debug spice://<IP>/?port=5900
** (remote-viewer:3967): DEBUG: fullscreen display 0: 0
** (remote-viewer:3967): DEBUG: fullscreen display 0: 0
** (remote-viewer:3967): DEBUG: Opening display to spice://<IP>/?port=5900
** (remote-viewer:3967): DEBUG: Guest spice://<IP>/?port=5900 has a spice display

(remote-viewer:3967): GSpice-DEBUG: spice-session.c:124 New session (compiled from package spice-gtk 0.11)
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x11c9dd0
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x11c9e50
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x11c9ed0
** (remote-viewer:3967): DEBUG: After open connection callback fd=-1
** (remote-viewer:3967): DEBUG: Opening connection to display at spice://<IP>/?port=5900

(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:124 main-1:0: spice_channel_constructed
(remote-viewer:3967): GSpice-DEBUG: spice-gtk-session.c:791 Changing main channel from (nil) to 0x11db600
** (remote-viewer:3967): DEBUG: notebook show status 0x117a070
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x11db600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x11db688 for main-1:0
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1497 Finally connected
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1664 main-1:0: spice_channel_recv_link_msg: 2 caps
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1680 got channel caps 0:0x1
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
** (remote-viewer:3967): DEBUG: main channel: opened
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1089 main-1:0: channel up, state 5
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1659 set mm time: 86228996
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:124 cursor-4:0: spice_channel_constructed
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:124 display-2:0: spice_channel_constructed
** (remote-viewer:3967): DEBUG: notebook show status 0x117a070
** (remote-viewer:3967): DEBUG: new display channel (#0)
(remote-viewer:3967): vnc-keymap-DEBUG: vncdisplaykeymap.c:174 Using evdev keycode mapping
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:1528 mouse mode 1
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 0x0, window 0x0, zoom 1, offset +0+0
** (remote-viewer:3967): DEBUG: notebook show status 0x117a070
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:124 inputs-3:0: spice_channel_constructed
** (remote-viewer:3967): DEBUG: new inputs channel
** (remote-viewer:3967): DEBUG: Display size request 100x100 (desktop 100x100)
** (remote-viewer:3967): DEBUG: Allocated 400x375
** (remote-viewer:3967): DEBUG: Child allocate 375x375
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x127da00
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x127da88 for display-2:0
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x1264600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x1264688 for cursor-4:0
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2238 Open coroutine starting 0x1279600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2090 Started background coroutine 0x1279688 for inputs-3:0
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1520 Resolving host <IP> 5900
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1533 Trying one socket
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1482 Socket pending
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1497 Finally connected
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1497 Finally connected
** (remote-viewer:3967): DEBUG: Display size request 50x50 (desktop 100x100)
** (remote-viewer:3967): DEBUG: Allocated 400x375
** (remote-viewer:3967): DEBUG: Child allocate 375x375
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1497 Finally connected
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1664 cursor-4:0: spice_channel_recv_link_msg: 1 caps
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1664 display-2:0: spice_channel_recv_link_msg: 1 caps
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1170 Peer version: 2:2
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1664 inputs-3:0: spice_channel_recv_link_msg: 1 caps
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1674 got common caps 0:0xB
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 0 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 2 in 0xB: no
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 1 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2467 test cap 3 in 0xB: yes
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1710 use mini header: 1
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1089 cursor-4:0: channel up, state 5
(remote-viewer:3967): GSpice-DEBUG: channel-cursor.c:342 set_cursor: type 18261, 4245442d65636970, 8250x0, flags 1, size 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1089 display-2:0: channel up, state 5
(remote-viewer:3967): GSpice-DEBUG: channel-display.c:767 spice_display_channel_up: cache_size 83886080, glz_window_size 12582912 (bytes)
(remote-viewer:3967): GSpice-DEBUG: channel-base.c:80 spice_channel_handle_notify: channel main-1:0 -- warn!!! #0: keyboard channel is insecure
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1089 inputs-3:0: channel up, state 5
(remote-viewer:3967): GSpice-DEBUG: channel-display.c:625 display: create primary canvas
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 720x400, window 0x0, zoom 1, offset +0+0
** (remote-viewer:3967): DEBUG: spice desktop resize 720x400
** (remote-viewer:3967): DEBUG: Preparing main window resize
** (remote-viewer:3967): DEBUG: Decided todo 720x400 (desktop is 720x400, fullscreen is 1680x1050
** (remote-viewer:3967): DEBUG: Display size request 720x400 (desktop 720x400)
** (remote-viewer:3967): DEBUG: Allocated 720x400
** (remote-viewer:3967): DEBUG: Child allocate 720x400
** (remote-viewer:3967): DEBUG: Display size request 50x50 (desktop 720x400)
** (remote-viewer:3967): DEBUG: Allocated 720x400
** (remote-viewer:3967): DEBUG: Child allocate 720x400
(remote-viewer:3967): GSpice-DEBUG: channel-display.c:815 display_handle_mark
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:1601 widget mark: 1, channel 0
** (remote-viewer:3967): DEBUG: display mark 1
** (remote-viewer:3967): DEBUG: notebook show display 0x117a070
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:1075 focus_in_event
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:925 release_keys
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:781 monitors: id 0, guest 720x400, window 720x400, zoom 1, offset +0+0
** (remote-viewer:3967): DEBUG: Window closed
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:1102 focus_out_event
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:925 release_keys
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:290 spice display dispose
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:290 spice display dispose
(remote-viewer:3967): GSpice-DEBUG: spice-widget.c:314 Finalize spice display
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit inputs-3:0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit display-2:0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit cursor-4:0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:1960 channel destroy
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2032 channel has error, breaking loop
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2220 Coroutine exit main-1:0
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:124 New session (compiled from package spice-gtk 0.11)
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x123b3e0
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x123b460
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x1230dc0
(remote-viewer:3967): GSpice-DEBUG: channel-display.c:732 keeping exisiting primary surface, migration or reset
** (remote-viewer:3967): DEBUG: main channel: closed
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel inputs-3:0 0x1279600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:139 inputs-3:0: spice_channel_dispose 0x1279600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:161 inputs-3:0: spice_channel_finalize 0x1279600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel display-2:0 0x127da00
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:139 display-2:0: spice_channel_dispose 0x127da00
** (remote-viewer:3967): DEBUG: zap session channel (#0)
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:161 display-2:0: spice_channel_finalize 0x127da00
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel cursor-4:0 0x1264600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:139 cursor-4:0: spice_channel_dispose 0x1264600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:161 cursor-4:0: spice_channel_finalize 0x1264600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2073 Delayed unref channel main-1:0 0x11db600
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:139 main-1:0: spice_channel_dispose 0x11db600
** (remote-viewer:3967): DEBUG: zap main channel
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:139 session dispose
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:124 New session (compiled from package spice-gtk 0.11)
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x1274380
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x1111a40
(remote-viewer:3967): GSpice-DEBUG: usb-device-manager.c:595 device added 0x1111ac0
** (remote-viewer:3967): DEBUG: notebook show status 0x117a070
** (remote-viewer:3967): DEBUG: Guest spice://<IP>/?port=5900 display has disconnected, shutting down
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:2433 channel disconnect 12
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:139 session dispose
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
(remote-viewer:3967): GSpice-DEBUG: spice-channel.c:161 main-1:0: spice_channel_finalize 0x11db600
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 0
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:139 session dispose
(remote-viewer:3967): GSpice-DEBUG: spice-session.c:1381 session: disconnecting 1
** (remote-viewer:3967): DEBUG: Set connect info: (null),(null),(null),-1,(null),(null),(null),0

$ rpm -q --whatprovides $(rpm -qR virt-viewer) | sort | uniq | grep -v "no package provides"
atk-1.28.0-2.el6.x86_64
bash-4.1.2-8.el6.x86_64
cairo-1.8.8-3.1.el6.x86_64
chkconfig-1.3.49.3-2.el6.x86_64
fontconfig-2.8.0-3.el6.x86_64
freetype-2.3.11-6.el6_2.9.x86_64
glib2-2.22.5-7.el6.x86_64
glibc-2.12-1.79.el6.x86_64
gnutls-2.8.5-4.el6_2.2.x86_64
gtk2-2.18.9-10.el6.x86_64
gtk-vnc-0.3.10-3.el6.x86_64
libvirt-client-0.9.10-11.el6.x86_64
libxml2-2.7.6-4.el6_2.4.x86_64
openssh-clients-5.3p1-76.el6.x86_64
pango-1.28.1-3.el6_0.5.x86_64
spice-glib-0.11-8.el6.x86_64
spice-gtk-0.11-8.el6.x86_64
Comment 10 Daniel Berrange 2012-04-19 09:55:01 EDT
Thanks that is somewhat helpful.

This part on i686:

** (remote-viewer:8275): DEBUG: spice desktop resize 720x400
** (remote-viewer:8275): DEBUG: Preparing main window resize
** (remote-viewer:8275): DEBUG: Decided todo 720x400 (desktop is 720x400,
fullscreen is 1680x1050
** (remote-viewer:8275): DEBUG: Display size request 720x400 (desktop 720x400)
** (remote-viewer:8275): DEBUG: Allocated 720x400
** (remote-viewer:8275): DEBUG: Child allocate 720x399
(remote-viewer:8275): GSpice-DEBUG: channel-display.c:815 display_handle_mark
** (remote-viewer:8275): DEBUG: Display size request 50x50 (desktop 720x400)
** (remote-viewer:8275): DEBUG: Allocated 720x400
** (remote-viewer:8275): DEBUG: Child allocate 720x399

we get an off-by-1 error there.

Whereas on x86_64 it is correct

** (remote-viewer:3967): DEBUG: spice desktop resize 720x400
** (remote-viewer:3967): DEBUG: Preparing main window resize
** (remote-viewer:3967): DEBUG: Decided todo 720x400 (desktop is 720x400,
fullscreen is 1680x1050
** (remote-viewer:3967): DEBUG: Display size request 720x400 (desktop 720x400)
** (remote-viewer:3967): DEBUG: Allocated 720x400
** (remote-viewer:3967): DEBUG: Child allocate 720x400
** (remote-viewer:3967): DEBUG: Display size request 50x50 (desktop 720x400)
** (remote-viewer:3967): DEBUG: Allocated 720x400
** (remote-viewer:3967): DEBUG: Child allocate 720x400
Comment 11 Daniel Berrange 2012-04-19 11:21:06 EDT
Fixed upstream

commit c1af3ab0cc3aad382f6bd396f62ae76f3052c553
Author: Daniel P. Berrange <berrange@redhat.com>
Date:   Thu Apr 19 16:15:11 2012 +0100

    Fix scaling of window to avoid integer truncation
    
    Use round() instead of integer truncation when scaling the window,
    to avoid floating point precision problems on i386
Comment 12 Daisy Wu 2012-04-20 02:31:57 EDT
Hi David,

I am QE in Beijing. I can reproduce your bug on virt-viewer-0.5.2-4.el6.i686, but the virt-viewer-0.5.2-3.el6.i686 still has this bug, maybe this bug always exists on i686 platform. We need to define it is a regression bug or not. Please provide the previous version of i686 because the Regression Keywords. Thanks a lot!
Comment 13 David Jaša 2012-04-20 06:08:01 EDT
Hi Jingxian, this is a regression from spicec behavior which is being replaced with remote-viewer.
Comment 14 Daniel Berrange 2012-04-20 11:17:31 EDT
NB, it is not a regression wrt previous virt-viewer builds in RHEL-6.2 - the i686 code was always broken.
Comment 16 Daniel Berrange 2012-04-23 13:04:33 EDT
Fix applied to virt-viewer-0.5.2-6.el6
Comment 17 Daniel Berrange 2012-04-23 13:09:32 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:
Cause:
On i386 platforms an arithmetic error caused inaccurate calculation of the desired window size

Consequence:
On i386 platforms the window may be resized 1 pixel too small, causing the guest display to be unnecessarily scaled

Fix:
The scaling code was changed to round to the nearest integer, instead of truncating, avoiding a reliance on precision of floating point calculations.

Result:
On i386 windows are resized such that scaling is not required if the guest display is small enough to fit on the host desktop
Comment 19 Geyang Kong 2012-04-24 05:36:35 EDT
Reproduced build
virt-viewer-0.5.2-4.el6.i686

Verified pass on the build
virt-viewer-0.5.2-6.el6.i686

Reproduced steps:
1. Have a running guest on a x86_64 host.
2. run #virt-viewer -c qemu+ssh://root@ip/system $guestname
3. run #remote-viewer vnc://ip:port

Actual result:
1. The 1px black bar is not there.

Change this bug to VERIFIED.
Comment 21 errata-xmlrpc 2012-06-20 08:12:11 EDT
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-2012-0772.html

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