<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.2">
</HEAD>
<BODY>
Am Dienstag, den 02.03.2010, 22:48 +0100 schrieb Florian Mickler:
<BLOCKQUOTE TYPE=CITE>
<PRE>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="1">-->On Tue, 2 Mar 2010 11:50:05 -0800
Jesse Barnes <<A HREF="mailto:jbarnes@virtuousgeek.org">jbarnes@virtuousgeek.org</A>> wrote:
> So the server is hanging when the client tries to get buffers? Can you
> see what it's doing at the time?
>
i'll try tomorrow...
</PRE>
</BLOCKQUOTE>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->btw, no. it is glxgears is hanging. everything else works as it should.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->and it is hanging on this _XReply (@428) here:<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> @line 428 in mesa/src/glx/dri2.c:<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->416 XextCheckExtension(dpy, info, dri2ExtensionName, False);<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->417 <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->418 LockDisplay(dpy);<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->419 GetReqExtra(DRI2GetBuffers, count * (4 * 2), req);<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->420 req->reqType = info->codes->major_opcode;<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->421 req->dri2ReqType = X_DRI2GetBuffersWithFormat;<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->422 req->drawable = drawable;<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->423 req->count = count;<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->424 p = (CARD32 *) & req[1];<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->425 for (i = 0; i < (count * 2); i++)<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->426 p[i] = attachments[i];<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->427 <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->428 if (!_XReply(dpy, (xReply *) & rep, 0, xFalse)) {<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->429 UnlockDisplay(dpy);<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->430 SyncHandle();<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->431 return NULL;<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->432 }<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->433 <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->434 *width = rep.width;<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->435 *height = rep.height;<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->it's not looping... i verified with strace that glxgears is blocking on that poll() here...<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->but i don't know what i should make of this...<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->cheers,<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->Flo<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->p.p.s.: the whole backtrace when glxgears is hanging:<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->(gdb) bt full<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#0 0x00007f3aef5ea10f in poll () from /lib/libc.so.6<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->No symbol table info available.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#1 0x00007f3aee19fa32 in _xcb_conn_wait () from /usr/lib/libxcb.so.1<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->No symbol table info available.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#2 0x00007f3aee1a15e1 in xcb_wait_for_reply () from /usr/lib/libxcb.so.1<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->No symbol table info available.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#3 0x00007f3aef2460be in _XReply () from /usr/lib/libX11.so.6<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->No symbol table info available.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#4 0x00007f3aefb44f76 in DRI2GetBuffersWithFormat (dpy=0x234c010, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> drawable=<value optimized out>, width=0x235f3b4, height=0x235f3b8, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> attachments=0x7fffc5ac6450, count=2, outCount=0x7fffc5ac648c) at dri2.c:428<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> info = 0x2357960<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> rep = {type = 112 'p', pad1 = 100 'd', sequenceNumber = 50604, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> length = 32767, width = 3984539715, height = 32570, count = 0, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> pad2 = 0, pad3 = 37116448, pad4 = 0}<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> buffers = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> repBuffer = {attachment = 41009200, name = 0, pitch = 3985030468, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> cpp = 32570, flags = 2097152}<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> i = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#5 0x00007f3aefb43ca8 in dri2GetBuffersWithFormat (<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> driDrawable=<value optimized out>, width=0x235f3b4, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> height=0xffffffffffffffff, attachments=0x234d6d8, count=5277, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> out_count=0x7fffc5ac648c, loaderPrivate=0x235f2c0) at dri2_glx.c:435<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->---Type <return> to continue, or q <return> to quit---<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> pdraw = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> buffers = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#6 0x00007f3aed6de927 in intel_update_renderbuffers (<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> context=<value optimized out>, drawable=0x235f380) at intel_context.c:252<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> rb = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> region = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> depth_region = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> intel = 0x2365a20<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> front_rb = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> back_rb = 0x3<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> depth_rb = 0x26b9340<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> stencil_rb = 0x26b9340<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> buffers = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> screen = 0x235cf20<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> i = 3<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> count = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> attachments = {1, 32, 9, 32, 13, 0, 0, 0, 655360, 0}<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> region_name = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> __func__ = "intel_update_renderbuffers"<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#7 0x00007f3aed6decef in intel_prepare_render (intel=0x2365a20)<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> at intel_context.c:395<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> driContext = 0x2361d70<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> drawable = 0x235f380<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->---Type <return> to continue, or q <return> to quit---<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#8 0x00007f3aed70d3ca in brw_try_draw_prims (ctx=0x2365a20, arrays=0x23b54a8, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> prim=0x7fffc5ac65a0, nr_prims=1, ib=0x0, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> index_bounds_valid=<value optimized out>, min_index=0, max_index=3)<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> at brw_draw.c:340<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> retval = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> warn = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> first_time = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> i = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> intel = 0x7fffc5ac6200<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> __FUNCTION__ = "brw_try_draw_prims"<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> warned = 0 '\000'<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#9 brw_draw_prims (ctx=0x2365a20, arrays=0x23b54a8, prim=0x7fffc5ac65a0, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> nr_prims=1, ib=0x0, index_bounds_valid=<value optimized out>, min_index=0, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> max_index=3) at brw_draw.c:441<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->No locals.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#10 0x00007f3aed7c91bf in vbo_exec_DrawArrays (mode=6, start=0, count=4)<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> at vbo/vbo_exec_array.c:524<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> ctx = 0x2365a20<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> prim = {{mode = 6, indexed = 0, begin = 1, end = 1, weak = 0, pad = 0, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> start = 0, count = 4, basevertex = 0}}<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> __FUNCTION__ = "vbo_exec_DrawArrays"<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#11 0x00007f3aed847910 in _mesa_meta_Clear (ctx=0x2365a20, buffers=0)<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> at drivers/common/meta.c:1461<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->---Type <return> to continue, or q <return> to quit---<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> clear = 0x26b47e4<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> verts = {{x = 0, y = 0, z = -1, r = 0, g = 0, b = 0, a = 0}, {x = 300, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> y = 0, z = -1, r = 0, g = 0, b = 0, a = 0}, {x = 300, y = 300, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> z = -1, r = 0, g = 0, b = 0, a = 0}, {x = 0, y = 300, z = -1, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> r = 0, g = 0, b = 0, a = 0}}<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> metaSave = 4294967003<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> __PRETTY_FUNCTION__ = "_mesa_meta_Clear"<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#12 0x00007f3aed6dd8ac in intelClear (ctx=0x2365a20, <BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> mask=<value optimized out>) at intel_clear.c:182<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> intel = 0x7fffc5ac6200<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> colorMask = <value optimized out><BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> tri_mask = 18<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> blit_mask = 0<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> swrast_mask = 0<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> fb = 0x26b8e20<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--> i = 0<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#13 0x0000000000402be6 in draw ()<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->No symbol table info available.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->#14 0x000000000040360b in main ()<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">-->No symbol table info available.<BR>
<!--+GtkHTML:<DATA class="ClueFlow" key="orig" value="0">--><BR>
</BODY>
</HTML>