WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] VMX nightly testing for Xen:#17269 is blocked

Samuel Thibault wrote:
> Li, Haicheng, le Fri 21 Mar 2008 21:02:30 +0800, a écrit :
>> Actually since qemu window disappears immediately after OS enters
>> graphic mode, it's hard to locate the exact step. Only can say it is
>> just after `startx &`  on Linux and "driver loading progress bar" on
>> Windows.  
> 
> Ok, so that's when we switch to OpenGL rendering.
> 
>>> Could you tell the exact configuration of Windows/Linux? Guest
>>> config file is attached. 
> 
> Well, I meant the guest configuration actually (resolution/color
> depth). 

Resolution: 800 * 600, color: 24 bit.

>>> Are there useful information in /var/log/xen/qemu-dm-yourdomain.log?
>> Seems no useful info for this bug in qemu log.
> 
> Indeed :/
> 
> Could you try to use the attached qemu-dm.gdb script for the device
> model?  It is just a gdb wrapper around the actual qemu-dm, which
> should let get a backtrace.

There is a segment fault caused by sdl_resize() in tools/ioemu/sdl.c. 
I changed a few code as below and found SDL_SetVideoMode() failed with 
error:Couldn't find matching GLX visual. 
And detailed qemu log is attached.

==

diff -r 76c9cf11ce23 tools/ioemu/sdl.c
--- a/tools/ioemu/sdl.c Fri Mar 21 09:45:34 2008 +0000
+++ b/tools/ioemu/sdl.c Mon Mar 24 16:49:09 2008 +0800
@@ -191,15 +191,18 @@ static void sdl_resize(DisplayState *ds,
 {
     int flags;
 
-    //    printf("resizing to %d %d\n", w, h);
+    printf("resizing to %d %d\n", w, h);
 
 #ifdef CONFIG_OPENGL
     if (ds->shared_buf && opengl_enabled)
         flags = SDL_OPENGL|SDL_RESIZABLE;
     else
 #endif
-        flags = 
SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL|SDL_DOUBLEBUF|SDL_HWPALETTE;
-
+       flags = 
SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL|SDL_DOUBLEBUF|SDL_HWPALETTE;
+
+#ifdef CONFIG_OPENGL
+    printf("opengl is defined\n");
+#endif
     if (gui_fullscreen) {
         flags |= SDL_FULLSCREEN;
         flags &= ~SDL_RESIZABLE;
@@ -210,11 +213,11 @@ static void sdl_resize(DisplayState *ds,
 
  again:
     screen = SDL_SetVideoMode(w, h, 0, flags);
-#ifndef CONFIG_OPENGL
     if (!screen) {
         fprintf(stderr, "Could not open SDL display: %s\n", SDL_GetError());
         exit(1);
     }
+#ifndef CONFIG_OPENGL
     if (!screen->pixels && (flags & SDL_HWSURFACE) && (flags & 
SDL_FULLSCREEN)) {
         flags &= ~SDL_HWSURFACE;
         goto again;




-- haicheng

Attachment: qemu-log.txt
Description: qemu-log.txt

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel