<!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>