From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lr7bN-00081X-M0 for qemu-devel@nongnu.org; Tue, 07 Apr 2009 05:28:17 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lr7bI-0007yT-Bj for qemu-devel@nongnu.org; Tue, 07 Apr 2009 05:28:16 -0400 Received: from [199.232.76.173] (port=35830 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lr7bH-0007yF-Rl for qemu-devel@nongnu.org; Tue, 07 Apr 2009 05:28:12 -0400 Received: from mx2.redhat.com ([66.187.237.31]:52106) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lr7bH-0002Wp-DB for qemu-devel@nongnu.org; Tue, 07 Apr 2009 05:28:11 -0400 Message-ID: <49DB1CA6.4000307@redhat.com> Date: Tue, 07 Apr 2009 12:28:06 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [6989] Fix display breakage when resizing the screen (v2) (Avi Kivity) References: <49DA0FFD.1060600@eu.citrix.com> <49DA11B7.2060705@codemonkey.ws> <49DA12AD.2030705@eu.citrix.com> <49DA153A.40804@redhat.com> <20090407014407.GG11614@us.ibm.com> In-Reply-To: <20090407014407.GG11614@us.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Stefano Stabellini Ryan Harper wrote: > * Avi Kivity [2009-04-06 10:21]: > >> Stefano Stabellini wrote: >> >>> Can you please let me know a simple way to reproduce the breakage Avi >>> was trying to fix? >>> >>> >> The trigger is kvm-autotest; I think you can easily reproduce it by >> booting a guest with vnc (unconnected), and issueing a screendump >> through the monitor (use -monitor stdio, not on the console...) every >> second. >> > > yeah, and btw, with this patch merged into kvm-userspace as of today, > I'm still tripping over it[1] on some guests (RHEL5.3 x86_64 install). > > > 1. http://pastebin.ca/1384339 > > I found the real cause - vga_screen_dump() left values for the current display resolution in s->last_width and s->last_height. This caused the next vga_draw_graphic() to render to the 640x400 display surface it had without resizing it. The bug is triggered if you manage to screendump after a screen resolution change, but before the next bitblit or console refresh. If no vnc or sdl client is connected, that's just the next bitblt so the window is considerably longer. I'll follow up with a patch. Anthony, please revert 6989 before applying it. Thanks to Stefano for pointing out the problems with the patch. -- error compiling committee.c: too many arguments to function