Bug 41162

Summary: util/u_draw.c:71:util_draw_max_index: Assertion `buffer_size - buffer->buffer_offset <= buffer_size' failed.
Product: Mesa Reporter: zoxc32
Component: OtherAssignee: mesa-dev
Status: RESOLVED INVALID QA Contact:
Severity: critical    
Priority: medium    
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description zoxc32 2011-09-23 23:23:21 UTC
The assertion happens when entering a level on my OpenGL ES branch of X-Moto.

OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x209)
OpenGL version string: 2.1 Mesa 7.12-devel (git-604173f)
OpenGL shading language version string: 1.20
Git commit: 604173fb1c4c7705681e77bbd862b9f953dbc6d4
Backtrace:
Thread 1 (Thread 0x7f88c021e740 (LWP 1339)):
#0  _debug_assert_fail (expr=<optimized out>, file=<optimized out>, line=<optimized out>, function=<optimized out>) at util/u_debug.c:285
No locals.
#1  0x00007f88b6951996 in util_draw_max_index (vertex_buffers=0x13a4f90, nr_vertex_buffers=<optimized out>, vertex_elements=<optimized out>, nr_vertex_elements=3, info=0x7fff249e59d0) at util/u_draw.c:71
        buffer = 0x13a4f90
        format_desc = <optimized out>
        format_size = <optimized out>
        buffer_size = 32
        max_index = <optimized out>
        i = <optimized out>
        __FUNCTION__ = "util_draw_max_index"
#2  0x00007f88b6919c06 in draw_vbo (draw=0x13a4ec0, info=0x7fff249e59d0) at draw/draw_pt.c:473
        reduced_prim = 4
        instance = <optimized out>
        __FUNCTION__ = "draw_vbo"
#3  0x00007f88b66d0732 in llvmpipe_draw_vbo (pipe=0x1372f10, info=0x7fff249e59d0) at lp_draw_arrays.c:81
        draw = 0x13a4ec0
        mapped_indices = 0x0
        i = <optimized out>
#4  0x00007f88b67d4f17 in st_draw_vbo (ctx=0x1467910, arrays=<optimized out>, prims=<optimized out>, nr_prims=1, ib=0x0, index_bounds_valid=<optimized out>, min_index=0, max_index=65) at state_tracker/st_draw.c:796
        st = 0x0
        pipe = 0x1372f10
        ibuffer = {index_size = 0, offset = 0, buffer = 0x0}
        info = {indexed = 0 '\000', mode = 4, start = 0, count = 66, start_instance = 0, instance_count = 1, index_bias = 0, min_index = 0, max_index = 65, primitive_restart = 0 '\000', restart_index = 0}
        i = <optimized out>
        num_instances = <optimized out>
        new_array = <optimized out>
        __FUNCTION__ = "st_draw_vbo"
#5  0x00007f88b67ca146 in vbo_draw_arrays (ctx=0x1467910, mode=4, start=0, count=<optimized out>, numInstances=1) at vbo/vbo_exec_array.c:654
        vbo = 0x14ce780
        exec = 0x14cf500
        prim = {{mode = 4, indexed = 0, begin = 1, end = 1, weak = 0, no_current_update = 0, pad = 0, start = 0, count = 66, basevertex = 0, num_instances = 1}, {mode = 0, indexed = 0, begin = 0, end = 0, weak = 0, no_current_update = 0, pad = 0, start = 0, count = 0, basevertex = 0, num_instances = 0}}
#6  0x00000000004913e3 in glDrawArraysNew (mode=4, first=0, count=66) at drawlib/DrawLibOpenGLES.cpp:215
No locals.
#7  0x000000000048664e in DrawLibOpenGL::Vertices::draw (this=0x7fff249e5b90, mode=4) at drawlib/DrawLibOpenGL.cpp:618
No locals.
#8  0x0000000000488d10 in GLFontManager::printStringGradOne (this=0x12e2ac0, pDrawLib=0x12e27f0, i_glyph=0x7f88a4591b50, i_x=0, i_y=130, c1=255, c2=255, c3=255, c4=255, i_perCentered=-1) at drawlib/DrawLibOpenGL.cpp:1244
        vertices = {vertex_array = {<std::_Vector_base<float, std::allocator<float> >> = {_M_impl = {<std::allocator<float>> = {<__gnu_cxx::new_allocator<float>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f88a4cf8b80, _M_finish = 0x7f88a4cf8d90, _M_end_of_storage = 0x7f88a4cf8f80}}, <No data fields>}, tex_array = {<std::_Vector_base<float, std::allocator<float> >> = {_M_impl = {<std::allocator<float>> = {<__gnu_cxx::new_allocator<float>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f88a4cf8f90, _M_finish = 0x7f88a4cf91a0, _M_end_of_storage = 0x7f88a4cf9390}}, <No data fields>}, color_array = {<std::_Vector_base<unsigned char, std::allocator<unsigned char> >> = {_M_impl = {<std::allocator<unsigned char>> = {<__gnu_cxx::new_allocator<unsigned char>> = {<No data fields>}, <No data fields>}, _M_start = 0x7f88a4cf8080 "", _M_finish = 0x7f88a4cf8188 "\021", _M_end_of_storage = 0x7f88a4cf8280 "\020\002"}}, <No data fields>}}
        v_glyph = 0x7f88a4591b50
        v_glyphLetter = 0x15d39f0
        v_x = 78
        newTextureId = 1
        v_y = 453
        n = 11
        v_current_linesize = 78
        v_size = 11
        oldTextureId = 1
        v_value = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7f88a458c8c8 "u(31) d(31)"}}
        v_char = {static npos = <optimized out>, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x7f88a4cf8068 ")"}}
        v_lineHeight = 17
        v_longuest_linesize = 78
#9  0x000000000048879b in GLFontManager::printStringGrad (this=0x12e2ac0, pDrawLib=0x12e27f0, i_glyph=0x7f88a4591b50, i_x=0, i_y=130, c1=4294967295, c2=4294967295, c3=4294967295, c4=4294967295, i_perCentered=-1, i_shadowEffect=true) at drawlib/DrawLibOpenGL.cpp:1167
No locals.
#10 0x0000000000488fba in GLFontManager::printString (this=0x12e2ac0, pDrawLib=0x12e27f0, i_glyph=0x7f88a4591b50, i_x=0, i_y=130, i_color=4294967295, i_perCentered=-1, i_shadowEffect=true) at drawlib/DrawLibOpenGL.cpp:1292
No locals.
#11 0x0000000000494b9d in StateManager::drawFps (this=0x16e8bd0) at states/StateManager.cpp:621
        cTemp = "u(31) d(31)\000\000\000\000\000`\362\222\000\000\000\000\000`\361\222\000\000\000\000\000PU%\001\000\000\000\000\373\347A\000\000\000\000\000h\361\222\000\000\000\000\000`\361\222\000\000\000\000\000h\361\222", '\000' <repeats 13 times>"\300, ]\236$\377\177\000\000@\346A\000\000\000\000\000\340]\236$\377\177\000\000\336\373\021\277\210\177\000\000\000^\236$\377\177\000\000\334\303B\000\000\000\000"
        v_fm = 0x12e2ac0
        v_fg = 0x7f88a4591b50
#12 0x00000000004947cf in StateManager::render (this=0x16e8bd0) at states/StateManager.cpp:545
        drawLib = 0x12e27f0
        stateIterator = {_M_current = 0x7f88a4164940}
#13 0x00000000005c0128 in GameApp::run_loop (this=0x1219890) at GameInit.cpp:829
        Event = {type = 6 '\006', active = {type = 6 '\006', gain = 0 '\000', state = 1 '\001'}, key = {type = 6 '\006', which = 0 '\000', state = 1 '\001', keysym = {scancode = 124 '|', sym = SDLK_UNKNOWN, mod = KMOD_NONE, unicode = 0}}, motion = {type = 6 '\006', which = 0 '\000', state = 1 '\001', x = 636, y = 448, xrel = 0, yrel = 0}, button = {type = 6 '\006', which = 0 '\000', button = 1 '\001', state = 0 '\000', x = 636, y = 448}, jaxis = {type = 6 '\006', which = 0 '\000', axis = 1 '\001', value = 636}, jball = {type = 6 '\006', which = 0 '\000', ball = 1 '\001', xrel = 636, yrel = 448}, jhat = {type = 6 '\006', which = 0 '\000', hat = 1 '\001', value = 0 '\000'}, jbutton = {type = 6 '\006', which = 0 '\000', button = 1 '\001', state = 0 '\000'}, resize = {type = 6 '\006', w = 29360764, h = 0}, expose = {type = 6 '\006'}, quit = {type = 6 '\006'}, user = {type = 6 '\006', code = 29360764, data1 = 0x0, data2 = 0x0}, syswm = {type = 6 '\006', msg = 0x0}}
        v_frameTime = 0
#14 0x00000000005bbd55 in GameApp::run (this=0x1219890, nNumArgs=1, ppcArgs=0x7fff249e6068) at GameInit.cpp:159
No locals.
#15 0x00000000005bbb72 in main (nNumArgs=1, ppcArgs=0x7fff249e6068) at GameInit.cpp:120
No locals.
Comment 1 zoxc32 2011-09-24 11:30:09 UTC
This does not happen with the equivalent OpenGL functions.
Comment 2 Roland Scheidegger 2014-08-11 18:00:43 UTC
Is this still happening with recent mesa?
Comment 3 Timothy Arceri 2018-03-08 02:48:16 UTC
Assuming not and closing.

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.