<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Which version of qemu-kvm do you use ?
2.0 ?<br>
<br>
Dominique<br>
<br>
Le 13/05/2014 22:01, David Mansfield a écrit :<br>
</div>
<blockquote cite="mid:53727A1C.5030401@dm.cobite.com" type="cite">Hi
All:
<br>
<br>
I'd like help tracking down the solution to a very repeatable xorg
crash. I can cause the crash by either:
<br>
<br>
1) logging in and opening the second monitor without having
removed ~/.config/monitors.xml first.
<br>
<br>
2) using "shutter" (screen capture utility) to capture a
"selection"
<br>
<br>
I have a few coredumps with what seem like valid backtraces. (see
below for an example).
<br>
<br>
The xorg crash is caused by an assert is happening in frame#4,
function qxl_bo_output_bo_reloc():
<br>
<br>
if (qxl->cmds.n_reloc_bos >= MAX_RELOCS ||
qxl->cmds.n_relocs >= MAX_RELOCS)
<br>
assert(0);
<br>
<br>
According to GDB, both n_reloc_bos = 96 and n_relocs = 96.
(MAX_RELOCS=96).
<br>
<br>
It seems that the "loop" in qxl_image_create (qxl_image.c) is
"chunking" the the create into pieces no bigger than "chunk_size"
and that this size is not big enough (or MAX_RELOCS is too small).
<br>
<br>
From GDB (inside qxl_image_create() on or about line 174):
<br>
<br>
(gdb) print h
<br>
$13 = 31
<br>
(gdb) print height
<br>
$14 = 847
<br>
(gdb) print chunk_size
<br>
$15 = 262144
<br>
(gdb) print n_lines
<br>
$16 = 17
<br>
<br>
So we have 31 lines left to go (out of 847), and we're copying 17
lines at a time. Close but no cigar.
<br>
<br>
Is the fix to increase the chunk_size or to increase MAX_RELOCS or
is something else broken here?
<br>
<br>
FYI: I'm running F20 fully updated guest, host and client (all
same box). I'm running "dual head" 1920x1200 (3840x1200 total FB
resolution).
<br>
<br>
Thanks,
<br>
David Mansfield
<br>
Cobite, INC.
<br>
<br>
Thread 1 (Thread 0x7f35578169c0 (LWP 1256)):
<br>
#0 0x0000003810c35c39 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
<br>
resultvar = 0
<br>
pid = 1256
<br>
selftid = 1256
<br>
#1 0x0000003810c37348 in __GI_abort () at abort.c:89
<br>
save_stage = 2
<br>
act = {__sigaction_handler = {sa_handler = 0x7fff57866f2a,
sa_sigaction = 0x7fff57866f2a}, sa_mask = {__val = {240800730995,
<br>
139867066025450, 482, 4294967295, 240799384819, 4,
140734661805968, 49, 0, 140734661806112, 0, 0, 0, 21474836480,
<br>
139867078164480, 240800742792}}, sa_flags =
1456027411, sa_restorer = 0x7f3556c94720
<__PRETTY_FUNCTION__.25149>}
<br>
sigs = {__val = {32, 0 <repeats 15 times>}}
<br>
#2 0x0000003810c2eb96 in __assert_fail_base (fmt=0x3810d7bd88
"%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
<br>
assertion=assertion@entry=0x7f3556c93713 "0",
file=file@entry=0x7f3556c945ea "qxl_kms.c", line=line@entry=482,
<br>
function=function@entry=0x7f3556c94720
<__PRETTY_FUNCTION__.25149> "qxl_bo_output_bo_reloc") at
assert.c:92
<br>
str = 0x2832860 ""
<br>
total = 4096
<br>
#3 0x0000003810c2ec42 in __GI___assert_fail
(assertion=assertion@entry=0x7f3556c93713 "0",
file=file@entry=0x7f3556c945ea "qxl_kms.c",
<br>
line=line@entry=482, function=function@entry=0x7f3556c94720
<__PRETTY_FUNCTION__.25149> "qxl_bo_output_bo_reloc") at
assert.c:101
<br>
No locals.
<br>
#4 0x00007f3556c80005 in qxl_bo_output_bo_reloc
(qxl=<optimized out>, dst_offset=<optimized out>,
_dst_bo=<optimized out>,
<br>
_src_bo=<optimized out>) at qxl_kms.c:482
<br>
qxl = <optimized out>
<br>
dst_offset = <optimized out>
<br>
_dst_bo = <optimized out>
<br>
_src_bo = <optimized out>
<br>
dst_bo = <optimized out>
<br>
src_bo = <optimized out>
<br>
r = <optimized out>
<br>
#5 0x00007f3556c76e31 in qxl_image_create
(qxl=qxl@entry=0x2226900, data=0x39338a0 "", data@entry=0x2d3f8a0
"", x=x@entry=0, y=y@entry=0,
<br>
width=width@entry=3840, height=height@entry=847,
stride=stride@entry=15360, Bpp=4, fallback=fallback@entry=0) at
qxl_image.c:174
<br>
chunk_size = 262144
<br>
n_lines = 17
<br>
bo = 0x2621080
<br>
chunk = 0x7f354fc1c000
<br>
hash = <optimized out>
<br>
image = <optimized out>
<br>
head_bo = 0x2668620
<br>
tail_bo = 0x2621030
<br>
image_bo = <optimized out>
<br>
dest_stride = 15360
<br>
h = 31
<br>
#6 0x00007f3556c77546 in qxl_surface_put_image_for_reals
(dest=dest@entry=0x2244fb0, x=x@entry=0, y=y@entry=162,
width=width@entry=3840,
<br>
height=height@entry=847, src=src@entry=0x2d3f8a0 "",
src_pitch=src_pitch@entry=15360) at qxl_surface.c:794
<br>
drawable_bo = 0x26204a0
<br>
drawable = <optimized out>
<br>
qxl = 0x2226900
<br>
rect = {top = 162, left = 0, bottom = 1009, right = 3840}
<br>
image_bo = <optimized out>
<br>
#7 0x00007f3556c7888c in qxl_surface_put_image (dest=0x2244fb0,
x=0, y=162, width=<optimized out>, height=<optimized
out>,
<br>
src=0x2d3f8a0 "", src_pitch=15360) at qxl_surface.c:824
<br>
gross = 847
<br>
h2 = 191
<br>
use_hack = 1
<br>
#8 0x00007f3556c84c6d in uxa_copy_n_to_n
(pSrcDrawable=pSrcDrawable@entry=0x2ae0040,
pDstDrawable=0x283e120, pGC=0x266c110,
<br>
pbox=0x2a50358, pbox@entry=0x2a50350, nbox=0, nbox@entry=2,
dx=dx@entry=0, dy=dy@entry=0, reverse=0, upsidedown=0,
<br>
bitplane=bitplane@entry=0, closure=0x0) at uxa-accel.c:582
<br>
stride = <optimized out>
<br>
bpp = 4
<br>
src = <optimized out>
<br>
screen = 0x2230280
<br>
src_off_x = 0
<br>
src_off_y = 0
<br>
dst_off_x = 0
<br>
dst_off_y = 0
<br>
pSrcPixmap = <optimized out>
<br>
pDstPixmap = 0x226a580
<br>
src_region = {extents = {x1 = 32, y1 = 0, x2 = 0, y2 = 0},
data = 0x48000000e00}
<br>
dst_region = {extents = {x1 = 1, y1 = 0, x2 = 0, y2 = 0},
data = 0x40000002}
<br>
__FUNCTION__ = "uxa_copy_n_to_n"
<br>
#9 0x00000000005818ed in miCopyRegion
(pSrcDrawable=pSrcDrawable@entry=0x2ae0040,
pDstDrawable=pDstDrawable@entry=0x283e120,
<br>
pGC=pGC@entry=0x266c110,
pDstRegion=pDstRegion@entry=0x7fff57864cb0, dx=dx@entry=0,
dy=dy@entry=0,
<br>
copyProc=copyProc@entry=0x7f3556c84650
<uxa_copy_n_to_n>, bitPlane=bitPlane@entry=0,
closure=closure@entry=0x0) at micopy.c:121
<br>
careful = <optimized out>
<br>
reverse = <optimized out>
<br>
upsidedown = <optimized out>
<br>
pbox = 0x2a50350
<br>
nbox = 2
<br>
pboxNew1 = <optimized out>
<br>
pboxNew2 = 0x0
<br>
pboxBase = <optimized out>
<br>
pboxNext = <optimized out>
<br>
pboxTmp = <optimized out>
<br>
#10 0x0000000000581eb0 in miDoCopy (pSrcDrawable=0x2ae0040,
pDstDrawable=0x283e120, pGC=0x266c110, xIn=0, yIn=0,
widthSrc=3840,
<br>
heightSrc=heightSrc@entry=1200, xOut=xOut@entry=0,
yOut=yOut@entry=0, copyProc=copyProc@entry=0x7f3556c84650
<uxa_copy_n_to_n>,
<br>
bitPlane=bitPlane@entry=0, closure=closure@entry=0x0) at
micopy.c:297
<br>
prgnSrcClip = 0x0
<br>
freeSrcClip = 0
<br>
prgnExposed = 0x0
<br>
rgnDst = {extents = {x1 = 0, y1 = 0, x2 = 3840, y2 =
1200}, data = 0x2a50340}
<br>
dx = 0
<br>
dy = 0
<br>
box_x1 = <optimized out>
<br>
box_y1 = <optimized out>
<br>
box_x2 = <optimized out>
<br>
box_y2 = <optimized out>
<br>
fastSrc = <optimized out>
<br>
fastDst = <optimized out>
<br>
fastExpose = <optimized out>
<br>
#11 0x00007f3556c839be in uxa_copy_area
(pSrcDrawable=<optimized out>, pDstDrawable=<optimized
out>, pGC=<optimized out>,
<br>
srcx=<optimized out>, srcy=<optimized out>,
width=<optimized out>, height=1200, dstx=0, dsty=0) at
uxa-accel.c:642
<br>
dsty = 0
<br>
srcx = <optimized out>
<br>
pSrcDrawable = <optimized out>
<br>
dstx = 0
<br>
height = 1200
<br>
width = <optimized out>
<br>
srcy = <optimized out>
<br>
pGC = <optimized out>
<br>
pDstDrawable = <optimized out>
<br>
#12 0x00000000004361c6 in ProcCopyArea (client=0x2612d30) at
dispatch.c:1626
<br>
pDst = 0x283e120
<br>
pSrc = 0x2ae0040
<br>
pGC = 0x266c110
<br>
stuff = 0x293c3ac
<br>
pRgn = <optimized out>
<br>
rc = <optimized out>
<br>
#13 0x000000000043a327 in Dispatch () at dispatch.c:432
<br>
clientReady = 0x24a9c70
<br>
result = <optimized out>
<br>
client = 0x2612d30
<br>
nready = 0
<br>
icheck = 0x822670 <checkForInput>
<br>
start_tick = 740
<br>
#14 0x00000000004288da in main (argc=12, argv=0x7fff57864f68,
envp=<optimized out>) at main.c:298
<br>
i = <optimized out>
<br>
alwaysCheckForInput = {0, 1}
<br>
<br>
_______________________________________________
<br>
Spice-devel mailing list
<br>
<a class="moz-txt-link-abbreviated" href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a>
<br>
<a class="moz-txt-link-freetext" href="http://lists.freedesktop.org/mailman/listinfo/spice-devel">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a>
<br>
</blockquote>
<br>
<br>
<div class="moz-signature">-- <br>
<div style="color:#617d8c;">
<h4>Dominique Rodrigues<br>
</h4>
</div>
</div>
</body>
</html>