Bug 48141

Summary: [vmwgfx] src/gallium/auxiliary/util/u_inlines.h:256:pipe_buffer_map_range: Assertion `offset + length <= buffer->width0' failed.
Product: Mesa Reporter: Vinson Lee <vlee>
Component: OtherAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: critical    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Vinson Lee 2012-03-31 22:30:47 UTC
mesa: 4123d0b32138a0fbdbc7f61380d041704ba0ad43 (master)

Run piglit draw-elements-base-vertex-bounds on vmwgfx.

$ ./bin/draw-elements-base-vertex-bounds -auto
src/gallium/auxiliary/util/u_inlines.h:256:pipe_buffer_map_range: Assertion `offset + length <= buffer->width0' failed.

(gdb) bt
#0  0x00007fc24eedd7a1 in _debug_assert_fail (
    expr=0x7fc24fb2e978 "offset + length <= buffer->width0", 
    file=0x7fc24fb2e900 "src/gallium/auxiliary/util/u_inlines.h", line=256, 
    function=0x7fc24fb2ea80 "pipe_buffer_map_range")
    at src/gallium/auxiliary/util/u_debug.c:278
#1  0x00007fc24eee92a4 in pipe_buffer_map_range (pipe=0x8cbaa0, 
    buffer=0xa652f0, offset=16, length=44, usage=1, transfer=0x7fff2857ad18)
    at src/gallium/auxiliary/util/u_inlines.h:256
#2  0x00007fc24eee9a80 in u_upload_buffer (upload=0x8cabf0, min_out_offset=0, 
    offset=16, size=44, inbuf=0xa652f0, out_offset=0xa65470, outbuf=0xa65468)
    at src/gallium/auxiliary/util/u_upload_mgr.c:243
#3  0x00007fc24ee7c13a in svga_upload_user_buffers (svga=0x8cbaa0, start=1, 
    count=3, instance_count=1) at src/gallium/drivers/svga/svga_pipe_draw.c:149
#4  0x00007fc24ee7c30c in retry_draw_range_elements (svga=0x8cbaa0, 
    index_buffer=0xa63f70, index_size=4, index_bias=1, min_index=0, 
    max_index=2, prim=4, start=0, count=3, instance_count=1, do_retry=1 '\001')
    at src/gallium/drivers/svga/svga_pipe_draw.c:247
#5  0x00007fc24ee7c77f in svga_draw_vbo (pipe=0x8cbaa0, info=0x7fff2857aee0)
    at src/gallium/drivers/svga/svga_pipe_draw.c:391
#6  0x00007fc24f98cee7 in st_draw_vbo (ctx=0x985f60, arrays=0x9ffb08, 
    prims=0x7fff2857afd0, nr_prims=1, ib=0x7fff2857afb0, 
    index_bounds_valid=0 '\000', min_index=0, max_index=2, tfb_vertcount=0x0)
    at src/mesa/state_tracker/st_draw.c:1110
#7  0x00007fc24fa2b639 in vbo_validated_drawrangeelements (ctx=0x985f60, 
    mode=4, index_bounds_valid=0 '\000', start=4294967295, end=4294967295, 
    count=3, type=5125, indices=0x7fff2857b0b0, basevertex=1, numInstances=1)
    at src/mesa/vbo/vbo_exec_array.c:830
#8  0x00007fc24fa2bb75 in vbo_exec_DrawElementsBaseVertex (mode=4, count=3, 
    type=5125, indices=0x7fff2857b0b0, basevertex=1)
    at src/mesa/vbo/vbo_exec_array.c:979
#9  0x0000000000430212 in stub_glDrawElementsBaseVertex (mode=4, count=3, 
    type=5125, indices=0x7fff2857b0b0, basevertex=1)
    at piglit/tests/util/generated_dispatch.c:5223
#10 0x00000000004254f3 in piglit_display ()
    at piglit/tests/general/draw-elements-base-vertex-bounds.c:107
#11 0x0000000000425cd1 in display ()
    at piglit/tests/util/piglit-framework.c:56
#12 0x00007fc252c57220 in fghRedrawWindow (window=0x8b5470)
    at freeglut_main.c:210
#13 fghcbDisplayWindow (window=0x8b5470, enumerator=0x7fff2857b170)
    at freeglut_main.c:227
#14 0x00007fc252c5a939 in fgEnumWindows (
    enumCallback=0x7fc252c57120 <fghcbDisplayWindow>, 
    enumerator=0x7fff2857b170) at freeglut_structure.c:394
#15 0x00007fc252c5765a in fghDisplayAll () at freeglut_main.c:249
#16 glutMainLoopEvent () at freeglut_main.c:1450
#17 0x00007fc252c57f0e in glutMainLoop () at freeglut_main.c:1498
#18 0x000000000042646e in main (argc=1, argv=0x7fff2857b4c8)
    at piglit/tests/util/piglit-framework.c:304
(gdb) frame 1
#1  0x00007fc24eee92a4 in pipe_buffer_map_range (pipe=0x8cbaa0, 
    buffer=0xa652f0, offset=16, length=44, usage=1, transfer=0x7fff2857ad18)
    at src/gallium/auxiliary/util/u_inlines.h:256
256	   assert(offset + length <= buffer->width0);
(gdb) print buffer->width0
$1 = 44
Comment 1 Brian Paul 2012-04-06 14:40:53 UTC
Fixed with commit 299c9052e832712654865af8dbd0ed4bf055d124

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.