[Mesa-dev] [Bug 94955] Uninitialized variables leads to random segfaults (valgrind log, apitrace attached)

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Apr 15 17:31:52 UTC 2016


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

            Bug ID: 94955
           Summary: Uninitialized variables leads to random segfaults
                    (valgrind log, apitrace attached)
           Product: Mesa
           Version: git
          Hardware: All
                OS: All
            Status: NEW
          Severity: major
          Priority: medium
         Component: Other
          Assignee: mesa-dev at lists.freedesktop.org
          Reporter: david.lonie at kitware.com
        QA Contact: mesa-dev at lists.freedesktop.org

Created attachment 122975
  --> https://bugs.freedesktop.org/attachment.cgi?id=122975&action=edit
apitrace

There are some uninitialized variables in current master that are causing some
of the VTK unit tests to segfault randomly, or just not produce any output.
I've included as much information as I can think of below.

Feel free to ping me if more info is needed.

--------------------------------------------
Configure options:

    ./autogen.sh \
      --enable-debug \
      --prefix="$prefix" \
      --disable-dri \
      --disable-egl \
      --disable-gles1 \
      --disable-gles2 \
      --disable-shared-glapi \
      --enable-xlib-glx \
      --enable-gallium-osmesa \
      --with-gallium-drivers=swrast \
      --enable-gallium-llvm=yes \
        LLVM_CONFIG=/usr/bin/llvm-config-3.6 \
      --enable-llvm-shared-libs \
      --with-gl-lib-name=MesaGL \
      --with-osmesa-lib-name=MesaOSMesa

---------------------------------------------
Install with:

make install-data
cd src/gallium
make install-exec

(Regular 'make install' does this in the install dir for some reason:

$ ls mesa-master-install/lib/libMesaGL.so* -lh                                  
mesa-master-install/lib/libMesaGL.so -> libMesaGL.so.1.5.0                      
mesa-master-install/lib/libMesaGL.so.1 -> libMesaGL.so.1.6.0
mesa-master-install/lib/libMesaGL.so.1.5.0
mesa-master-install/lib/libMesaGL.so.1.6.0

which confuses my linker/loader ;) Another bug?)

---------------------------------------------
memcheck the attached apitrace with (obviously change paths as needed):

    MESA_GL_VERSION_OVERRIDE=4.5 \
    LD_LIBRARY_PATH=/ssd/src/llvm-3.8.0.install/lib \
    LD_PRELOAD=/ssd/src/mesa-master-install/lib/libMesaGL.so \
    valgrind --tool=memcheck \
        glretrace vtkRenderingOpenGL2CxxTests.4075.trim.trace

---------------------------------------------
Sample valgrind stacks:
==32054== Conditional jump or move depends on uninitialised value(s)
==32054==    at 0x5367CF7: util_framebuffer_state_equal (u_framebuffer.c:58)
==32054==    by 0x5444AFE: llvmpipe_set_framebuffer_state
(lp_state_surface.c:54)
==32054==    by 0x53561DA: util_blitter_blit_generic (u_blitter.c:1694)
==32054==    by 0x5356819: util_blitter_blit (u_blitter.c:1813)
==32054==    by 0x544602C: lp_blit (lp_surface.c:117)
==32054==    by 0x51705F7: st_CopyTexSubImage (st_cb_texture.c:2672)
==32054==    by 0x50B2B03: copytexsubimage_by_slice (teximage.c:3459)
==32054==    by 0x50B330D: copyteximage (teximage.c:3644)
==32054==    by 0x50B3476: _mesa_CopyTexImage2D (teximage.c:3680)
==32054==    by 0x4D340E: ??? (in /usr/bin/glretrace)
==32054==    by 0x40CCCC: ??? (in /usr/bin/glretrace)
==32054==    by 0x40D2A7: ??? (in /usr/bin/glretrace)

==32054== Conditional jump or move depends on uninitialised value(s)
==32054==    at 0x5409DEE: lp_build_blend_factor_unswizzled
(lp_bld_blend_aos.c:98)
==32054==    by 0x540A2A5: lp_build_blend_factor (lp_bld_blend_aos.c:262)
==32054==    by 0x540A53C: lp_build_blend_aos (lp_bld_blend_aos.c:352)
==32054==    by 0x543C200: generate_unswizzled_blend (lp_state_fs.c:2094)
==32054==    by 0x543D32D: generate_fragment (lp_state_fs.c:2434)
==32054==    by 0x543DEAC: generate_variant (lp_state_fs.c:2619)
==32054==    by 0x543F464: llvmpipe_update_fs (lp_state_fs.c:3171)
==32054==    by 0x5435D35: llvmpipe_update_derived (lp_state_derived.c:209)
==32054==    by 0x5410AC0: llvmpipe_draw_vbo (lp_draw_arrays.c:70)
==32054==    by 0x52E28C4: cso_draw_vbo (cso_context.c:1629)
==32054==    by 0x5174712: st_draw_vbo (st_draw.c:251)
==32054==    by 0x511BE24: vbo_validated_drawrangeelements
(vbo_exec_array.c:844)

==32054== Conditional jump or move depends on uninitialised value(s)
==32054==    at 0x404002D: ???
==32054==    by 0x5415736: lp_rast_shade_quads_mask (lp_rast.c:457)
==32054==    by 0x541999F: lp_rast_triangle_32_3_16 (lp_rast_tri.c:346)
==32054==    by 0x5415A81: do_rasterize_bin (lp_rast.c:609)
==32054==    by 0x5415AEF: rasterize_bin (lp_rast.c:628)
==32054==    by 0x5415BFE: rasterize_scene (lp_rast.c:688)
==32054==    by 0x5415EE3: thread_function (lp_rast.c:828)
==32054==    by 0x5413C4A: impl_thrd_routine (threads_posix.h:87)
==32054==    by 0x5BF6423: start_thread (in /usr/lib/libpthread-2.23.so)
==32054==    by 0x720CCBC: clone (in /usr/lib/libc-2.23.so)

-- 
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/20160415/f176ff9f/attachment-0001.html>


More information about the mesa-dev mailing list