[Spice-devel] Tripping assertions in spice-common/common/ring.h
Nahum Shalman
nshalman at elys.com
Mon Jul 23 05:49:56 PDT 2012
On 07/22/2012 02:14 PM, Yonit Halperin wrote:
> Hi,
> the trace implies some problem in the drawables tree structure. Please
> describe in more details how you reproduce it: which web site, which
> browser you use, what operations you execute on the web site? In
> addition, what is the qxl driver version, and are surfaces and/or
> caching enabled?
> What is the spice-server version? Is it a modified version?
So far I've trimmed the crash process down to:
1. Boot the Fedora 16 VM
2. Log in, icewm is the window manager.
3. Launch google-chrome
4. Open pandora.com and get some music playing (serves as a non-visual
cue that the VM has crashed, doesn't need to be visible on-screen)
5. Open another tab and go to http://arbesman.net (make sure that the
cross-fading images are on-screen and are cross-fading correctly
(sometimes needs a refresh of the web page))
6. In a little while the VM will crash enough that the music stops and
the UI becomes unresponsive (but QEMU hasn't crashed)
The spice-server is the master branch from the spice git repositories
(as of ~July 17, I think) with two patches applied:
One is the ENOPROTOOPT patch that I just sent to the mailing list
The second is the alteration of the spice_assert macro to invoke
spice_backtrace on errors (which enabled me to trace the crash).
The QEMU server has some modifications including that it is listening on
a UNIX socket and a different process is listening on a TCP socket and
passing the connection through (thus the need for the ENOPROTOOPT
patch). None of the modifications touch the qxl device code.
I'm not sure of the qxl driver version, we may have made a small
modification to it to alter which screen resolutions it would run, but
it's probably relatively old.
The offscreen surfaces are disabled (they were giving us a performance
regression with GTK applications like firefox), but the image and
fallback caches are enabled.
Here's some of the output it placed in Xorg.0.log:
[ 8.183] (II) LoadModule: "qxl"
[ 8.183] (II) Loading /usr/lib64/xorg/modules/drivers/qxl_drv.so
[ 8.185] (II) Module qxl: vendor="X.Org Foundation"
[ 8.185] (II) qxl: Driver for QXL virtual graphics: QXL 1
[ 8.201] (II) Loading /usr/lib64/xorg/modules/drivers/qxl_drv.so
[ 8.201] (**) qxl(0): Depth 24, (--) framebuffer bpp 32
[ 8.201] (==) qxl(0): RGB weight 888
[ 8.201] (==) qxl(0): Default visual is TrueColor
[ 8.201] (==) qxl(0): Using gamma correction (1.0, 1.0, 1.0)
[ 8.201] (II) qxl(0): Offscreen Surfaces: Disabled
[ 8.201] (II) qxl(0): Image Cache: Enabled
[ 8.201] (II) qxl(0): Fallback Cache: Enabled
[ 8.209] (II) qxl(0): framebuffer at 0x7f67dfcb1000 (16384 KB)
[ 8.209] (II) qxl(0): command ram at 0x7f67e0cb1000 (32760 KB)
[ 8.209] (II) qxl(0): vram at 0x7f67dbcb1000 (65536 KB)
[ 8.209] (II) qxl(0): rom at 0x7f67e4bc9000
[ 8.210] (II) qxl(0): Device version 0.0
[ 8.210] (II) qxl(0): Compression level 0, log level 0
[ 8.210] (II) qxl(0): 12286 io pages at 0x7f67dfcb1000
[ 8.210] (II) qxl(0): RAM header offset: 0x3ffe000
[ 8.210] (II) qxl(0): Correct RAM signature 41525851
[ 8.210] (II) qxl(0): 49144 KB of video RAM
[ 8.210] (II) qxl(0): 1024 surfaces
[ 8.210] (II) qxl(0): <default monitor>: Using hsync range of
29.00-160.00 kHz
[ 8.210] (II) qxl(0): <default monitor>: Using vrefresh range of
50.00-75.00 Hz
[ 8.210] (II) qxl(0): Clock range: 10.00 to 400.00 MHz
<snip>
[ 8.219] (II) qxl(0): PreInit complete
[ 8.219] (II) qxl(0): git commit 5fc9ef5
[ 8.225] (II) qxl(0): framebuffer at 0x7f67dfcb1000 (16384 KB)
[ 8.225] (II) qxl(0): command ram at 0x7f67e0cb1000 (32760 KB)
[ 8.225] (II) qxl(0): vram at 0x7f67dbcb1000 (65536 KB)
[ 8.225] (II) qxl(0): rom at 0x7f67e4bc9000
Let me know if you need additional details or have variations of my test
you'd like me to try.
Thanks so much,
Nahum
More information about the Spice-devel
mailing list