[Mesa-dev] [Bug 102377] PIPE_*_4BYTE_ALIGNED_ONLY caps crashing

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Aug 23 18:26:34 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=102377

            Bug ID: 102377
           Summary: PIPE_*_4BYTE_ALIGNED_ONLY caps crashing
           Product: Mesa
           Version: git
          Hardware: Other
                OS: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: Mesa core
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: timothy.o.rowley at intel.com
        QA Contact: mesa-dev at lists.freedesktop.org

For a potential upcoming change in the swr rasterizer, we need to set the
4BYTE_ALIGNED_ONLY caps to ensure alignment during vertex attribute fetch and
AOS to SOA conversion.

Testing with the caps caused three regressions on piglit, which can be
reproduced by setting these caps on llvmpipe.  The three failing tests all have
somewhat different failure signatures, but appear to point to mesa
infrastructure problems rather than a driver issue.

/home/torowley/src/piglit/bin/copy-pixels -auto

This one appears to clobber the stack:

Thread 1 "copy-pixels" received signal SIGSEGV, Segmentation fault.
0x00007ffff61a1281 in _mesa_set_vp_override (ctx=0x7ffff7eff01000, flag=0
'\000') at ../../../mesa/src/mesa/main/state.c:450
(gdb) where
#0  0x00007ffff61a1281 in _mesa_set_vp_override (ctx=0x7ffff7eff01000, flag=0
'\000') at ../../../mesa/src/mesa/main/state.c:450
#1  0x00007ffff60056ea in _mesa_CopyPixels (srcx=0, srcy=0, width=15360,
height=15360, type=1572930) at ../../../mesa/src/mesa/main/drawpix.c:288
#2  0x000000004014af00 in ?? ()
#3  0x007fffffffd81000 in ?? ()

/home/torowley/src/piglit/bin/draw-vertices user -auto

Thread 1 "draw-vertices" received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) where
#0  0x0000000000000000 in ?? ()
#1  0x00007ffff655234c in pipe_resource_reference (ptr=0x812350, tex=0x0) at
../../../../mesa/src/gallium/auxiliary/util/u_inlines.h:144
#2  0x00007ffff655467a in u_vbuf_set_vertex_buffers (mgr=0x811c30,
start_slot=1, count=1, bufs=0x0) at
../../../../mesa/src/gallium/auxiliary/util/u_vbuf.c:836
#3  0x00007ffff64b1411 in cso_set_vertex_buffers (ctx=0x810870, start_slot=1,
count=1, buffers=0x0) at
../../../../mesa/src/gallium/auxiliary/cso_cache/cso_context.c:1144
#4  0x00007ffff6268cd3 in set_vertex_attribs (st=0x7f87a0,
vbuffers=0x7fffffffd360, num_vbuffers=1, velements=0x7fffffffd370,
num_velements=1) at ../../../mesa/src/mesa/state_tr
acker/st_atom_array.c:441
#5  0x00007ffff62691b2 in setup_interleaved_attribs (st=0x7f87a0, vp=0x91f370,
arrays=0x7fe408, num_inputs=1) at
../../../mesa/src/mesa/state_tracker/st_atom_array.c:563
#6  0x00007ffff6269845 in st_update_array (st=0x7f87a0) at
../../../mesa/src/mesa/state_tracker/st_atom_array.c:705
#7  0x00007ffff626af3f in st_validate_state (st=0x7f87a0,
pipeline=ST_PIPELINE_RENDER) at
../../../mesa/src/mesa/state_tracker/st_atom.c:253
#8  0x00007ffff6298d85 in prepare_draw (st=0x7f87a0, ctx=0x7ffff7eff010) at
../../../mesa/src/mesa/state_tracker/st_draw.c:122
#9  0x00007ffff6298e1b in st_draw_vbo (ctx=0x7ffff7eff010,
prims=0x7fffffffd690, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001',
min_index=0, max_index=2, tfb_vertcount=0x0, st
ream=0, indirect=0x0) at ../../../mesa/src/mesa/state_tracker/st_draw.c:148
#10 0x00007ffff6239f91 in vbo_draw_arrays (ctx=0x7ffff7eff010, mode=4, start=0,
count=3, numInstances=1, baseInstance=0, drawID=0) at
../../../mesa/src/mesa/vbo/vbo_exec_array.c
:486
#11 0x00007ffff623a7a1 in vbo_exec_DrawArrays (mode=4, start=0, count=3) at
../../../mesa/src/mesa/vbo/vbo_exec_array.c:641
#12 0x0000000000402363 in test_short_vertices (x1=240, y1=0, x2=260, y2=20,
index=0) at /home/torowley/src/piglit/tests/general/draw-vertices.c:282
#13 0x0000000000403536 in piglit_display () at
/home/torowley/src/piglit/tests/general/draw-vertices.c:568
#14 0x00007ffff7b3520e in process_next_event (x11_fw=0x637ed0) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:137
#15 0x00007ffff7b352ce in enter_event_loop (winsys_fw=0x637ed0) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl/piglit_x11_framework.c:153
#16 0x00007ffff7b34041 in run_test (gl_fw=0x637ed0, argc=2,
argv=0x7fffffffdb58) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl/piglit_winsys_framework.c:88
#17 0x00007ffff7b18378 in piglit_gl_test_run (argc=2, argv=0x7fffffffdb58,
config=0x7fffffffda10) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl.c:223
#18 0x0000000000401324 in main (argc=2, argv=0x7fffffffdb58) at
/home/torowley/src/piglit/tests/general/draw-vertices.c:43

/home/torowley/src/piglit/bin/fbo-depthtex -auto -fbo

Thread 1 "fbo-depthtex" received signal SIGSEGV, Segmentation fault.
0x00007ffff6016e4e in check_end_texture_render (ctx=0x7ffff7eff010,
fb=0x8261cf) at ../../../mesa/src/mesa/main/fbobject.c:2566
#0  0x00007ffff6016e4e in check_end_texture_render (ctx=0x7ffff7eff010,
fb=0x8261cf) at ../../../mesa/src/mesa/main/fbobject.c:2566
#1  0x00007ffff601720c in _mesa_bind_framebuffers (ctx=0x7ffff7eff010,
newDrawFb=0x800c40, newReadFb=0x800c40) at
../../../mesa/src/mesa/main/fbobject.c:2675
#2  0x00007ffff6017037 in bind_framebuffer (target=36160, framebuffer=1,
allow_user_names=true) at ../../../mesa/src/mesa/main/fbobject.c:2631
#3  0x00007ffff60172e3 in _mesa_BindFramebufferEXT (target=36160,
framebuffer=1) at ../../../mesa/src/mesa/main/fbobject.c:2712
#4  0x0000000000401ab3 in piglit_display () at
/home/torowley/src/piglit/tests/fbo/fbo-depthtex.c:144
#5  0x00007ffff7b32487 in run_test (gl_fw=0x635ed0, argc=1,
argv=0x7fffffffdb58) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl/piglit_fbo_framework.c:52
#6  0x00007ffff7b18378 in piglit_gl_test_run (argc=1, argv=0x7fffffffdb58,
config=0x7fffffffda10) at
/home/torowley/src/piglit/tests/util/piglit-framework-gl.c:223
#7  0x0000000000401604 in main (argc=1, argv=0x7fffffffdb58) at
/home/torowley/src/piglit/tests/fbo/fbo-depthtex.c:43

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170823/66b82d45/attachment-0001.html>


More information about the mesa-dev mailing list