Bug 33247

Summary: [swrast] tnl/t_draw.c:471: _tnl_draw_prims: Assertion `prim[i].num_instances > 0' failed
Product: Mesa Reporter: Vinson Lee <vlee>
Component: OtherAssignee: Brian Paul <brianp>
Status: CLOSED FIXED QA Contact:
Severity: critical    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2011-01-18 09:47:05 UTC
mesa: 5b58b8c579f06edc2e5ead011e2544eadfbfb77a (master)

Run piglit longprim test on swrast.

$ ./bin/longprim -auto
longprim: tnl/t_draw.c:471: _tnl_draw_prims: Assertion `prim[i].num_instances > 0' failed.

(gdb) bt
#0  0x00e5e416 in __kernel_vsyscall ()
#1  0x005b4941 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#2  0x005b7e42 in abort () at abort.c:92
#3  0x005ad8e8 in __assert_fail (assertion=0x43a060 "prim[i].num_instances > 0", file=0x439fb8 "tnl/t_draw.c", line=471, 
    function=0x43a07a "_tnl_draw_prims") at assert.c:81
#4  0x00275f31 in _tnl_draw_prims (ctx=0x80c4620, arrays=0xbfe9351c, prim=0xbfe93654, nr_prims=1, ib=0xbfe9359c, min_index=0, max_index=2996)
    at tnl/t_draw.c:471
#5  0x00275cf9 in _tnl_vbo_draw_prims (ctx=0x80c4620, arrays=0xbfe9351c, prim=0xbfe93654, nr_prims=1, ib=0xbfe9359c, index_bounds_valid=1 '\001', 
    min_index=0, max_index=2996) at tnl/t_draw.c:384
#6  0x003bc5c1 in flush (copy=0xbfe92d7c) at vbo/vbo_split_copy.c:192
#7  0x003bc95c in end (copy=0xbfe92d7c, end_flag=0 '\000') at vbo/vbo_split_copy.c:310
#8  0x003bcacd in replay_elts (copy=0xbfe92d7c) at vbo/vbo_split_copy.c:352
#9  0x003bd66c in vbo_split_copy (ctx=0x80c4620, arrays=0x8108f90, prim=0xbfe93914, nr_prims=1, ib=0xbfe93928, draw=0x275c7f <_tnl_vbo_draw_prims>, 
    limits=0xbfe93cec) at vbo/vbo_split_copy.c:622
#10 0x003bdd1a in split_prims (split=0xbfe939a4) at vbo/vbo_split_inplace.c:228
#11 0x003bde4f in vbo_split_inplace (ctx=0x80c4620, arrays=0x8108f90, prim=0x81078e4, nr_prims=1, ib=0x0, min_index=0, max_index=8191, 
    draw=0x275c7f <_tnl_vbo_draw_prims>, limits=0xbfe93cec) at vbo/vbo_split_inplace.c:281
#12 0x003bc2cf in vbo_split_prims (ctx=0x80c4620, arrays=0x8108f90, prim=0x81078e4, nr_prims=1, ib=0x0, min_index=0, max_index=8191, 
    draw=0x275c7f <_tnl_vbo_draw_prims>, limits=0xbfe93cec) at vbo/vbo_split.c:160
#13 0x00275e8b in _tnl_draw_prims (ctx=0x80c4620, arrays=0x8108f90, prim=0x81078e4, nr_prims=1, ib=0x0, min_index=0, max_index=8191) at tnl/t_draw.c:445
#14 0x00275cf9 in _tnl_vbo_draw_prims (ctx=0x80c4620, arrays=0x8108f90, prim=0x81078e4, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, 
    max_index=8191) at tnl/t_draw.c:384
#15 0x00267fcc in vbo_exec_vtx_flush (exec=0x8107770, unmap=0 '\000') at vbo/vbo_exec_draw.c:382
#16 0x00259452 in vbo_exec_wrap_buffers (exec=0x8107770) at vbo/vbo_exec_api.c:88
#17 0x0025955b in vbo_exec_vtx_wrap (exec=0x8107770) at vbo/vbo_exec_api.c:123
#18 0x0025a122 in vbo_Vertex2f (x=24.9249992, y=15.0500002) at vbo/vbo_attrib_tmp.h:68
#19 0x0804b294 in draw (mode=2, numVerts=10000) at piglit/tests/general/longprim.c:83
#20 0x0804b325 in test_prims () at piglit/tests/general/longprim.c:98
#21 0x0804b361 in piglit_display () at piglit/tests/general/longprim.c:108
#22 0x0804b3c3 in display () at piglit/tests/util/piglit-framework.c:52
#23 0x00b7e820 in fghRedrawWindow (window=0x80c1a20, enumerator=0xbfe94038) at freeglut_main.c:210
#24 fghcbDisplayWindow (window=0x80c1a20, enumerator=0xbfe94038) at freeglut_main.c:227
#25 0x00b82660 in fgEnumWindows (enumCallback=0xb7e790 <fghcbDisplayWindow>, enumerator=0xbfe94038) at freeglut_structure.c:394
#26 0x00b7ecdb in fghDisplayAll () at freeglut_main.c:249
#27 glutMainLoopEvent () at freeglut_main.c:1450
#28 0x00b7f605 in glutMainLoop () at freeglut_main.c:1498
#29 0x0804b56c in main (argc=1, argv=0xbfe942c4) at piglit/tests/util/piglit-framework.c:118
(gdb) frame 4
#4  0x00275f31 in _tnl_draw_prims (ctx=0x80c4620, arrays=0xbfe9351c, prim=0xbfe93654, nr_prims=1, ib=0xbfe9359c, min_index=0, max_index=2996)
    at tnl/t_draw.c:471
471	         assert(prim[i].num_instances > 0);
(gdb) print i
$1 = 0
(gdb) print prim[i]
$2 = {mode = 3, indexed = 0, begin = 1, end = 0, weak = 0, no_current_update = 0, pad = 0, start = 0, count = 2997, basevertex = 0, num_instances = 0}
Comment 1 Brian Paul 2011-01-18 11:19:20 UTC
Fixed with commit 90ff6178a2350cdf7b1c1a28bf3a8c9a66da3d4b
Comment 2 Vinson Lee 2011-01-18 16:16:53 UTC
mesa: 46f7105df487c91569f7e4a8da74d673c12e5619 (master)

Verified fixed.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.