Bug 16829 - [965] Segfault when run manywin or glthreads with large parameter (>28)
[965] Segfault when run manywin or glthreads with large parameter (>28)
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965
Other Linux (All)
: low minor
Assigned To: haihao
Depends on:
  Show dependency treegraph
Reported: 2008-07-23 23:40 UTC by liuhaien
Modified: 2009-06-04 01:07 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:

xorg.0.log (55.08 KB, text/plain)
2008-07-23 23:40 UTC, liuhaien
xorg conf file (3.83 KB, text/plain)
2008-07-23 23:41 UTC, liuhaien

Note You need to log in before you can comment on or make changes to this bug.
Description liuhaien 2008-07-23 23:40:38 UTC
Created attachment 17849 [details]

System Environment:
Host:		g965
Arch:		x86_64
OSD:		Fedora release 8 (Werewolf)
3D driver:	7.0-branch	97eb33529ae2f96220eec5238d8d0e9a07ce91d5
Xserver: 1.4-branch	c3a7903f6a6a27e53ba0372408e0c5a68c608e86
2D driver: 2.4-branch	45c1da56891723dd85153853885dd3b52a23c117
Drm:	shipped with kernel patch-2.6.26-rc9

Bug detailed description:
start X, then run manywin when set parameter more than 28,we will get a Segmentation fault.
following is the backtrace:
(gdb) bt
#0  0x000000000620fe70 in copy_array_to_vbo_array (brw=<value optimized out>,
    i=0, array=0x7f2e81f42a78, element_size=8, count=3)
    at brw_draw_upload.c:263
#1  0x00000000062104fa in brw_upload_vertices (brw=0x7f2e81f1cd00,
    min_index=0, max_index=2) at brw_draw_upload.c:478
#2  0x000000000620f822 in brw_try_draw_prims (ctx=0x7f2e81f1cd00,
    arrays=0x7f2e81f432c0, prim=0x7f2e81f41aa4, nr_prims=1, ib=0x0,
    min_index=0, max_index=2) at brw_draw.c:319
#3  0x000000000620fb10 in brw_draw_prims (ctx=0x7f2e81f1cd00,
    arrays=0x7f2e81f432c0, prim=0x7f2e81f41aa4, nr_prims=1, ib=0x0,
    min_index=0, max_index=2) at brw_draw.c:446
#4  0x00000000062a9a90 in vbo_exec_vtx_flush (exec=0x7f2e81f41860)
    at vbo/vbo_exec_draw.c:215
#5  0x00000000062a5a75 in vbo_exec_FlushVertices (ctx=<value optimized out>,
    flags=0) at vbo/vbo_exec_api.c:700
#6  0x0000000006268671 in _mesa_PopMatrix () at main/matrix.c:274
#7  0x000000000016213f in glPopMatrix ()
    at ../../../src/mesa/glapi/glapitemp.h:1570
#8  0x0000000000401550 in Redraw (h=0x61e220) at manywin.c:231
#9  0x0000000000401cd5 in main (argc=<value optimized out>,
    argv=<value optimized out>) at manywin.c:274

Reproduce steps:
2../manywin 29
Comment 1 liuhaien 2008-07-23 23:41:40 UTC
Created attachment 17850 [details]
xorg conf file
Comment 2 liuhaien 2008-07-23 23:45:30 UTC
and the same issue happens when run glthreads and args setting more than 27.
Comment 3 Gordon Jin 2008-07-29 20:47:30 UTC
Haihao says it's memory manager architecture design limitation (32MB on 965), and is expected to be resolved in GEM.

Haien, please verify when GEM is ready.

On the other side, Eric says the current architecture will get race conditions for threads. So glthreads (with multiple threads) are expected to fail before Eric fixed it, as it requires locking the bufmgr and moving it back to the screen. 
Comment 4 liuhaien 2009-06-04 01:07:17 UTC