[Mesa-dev] valgrind shows read after frees in GLSL compiler

Tapani Pälli tapani.palli at intel.com
Thu Jul 24 22:10:59 PDT 2014


On 07/25/2014 06:51 AM, Dave Airlie wrote:
> Hi guys,
>
> Just fell over these in passing, run piglit
> glsl-1.50-transform-feedback-type-and-size test
>
> Dave.
>
>

8<

> ==8650== Invalid read of size 4
> ==8650==    at 0x65F7FD6: brw::vec4_visitor::opt_cse_local(bblock_t*)
> (brw_vec4_cse.cpp:227)
> ==8650==    by 0x65F8125: brw::vec4_visitor::opt_cse() (brw_vec4_cse.cpp:257)
> ==8650==    by 0x65F5DA4: brw::vec4_visitor::run() (brw_vec4.cpp:1708)
> ==8650==    by 0x65F6120: brw_vs_emit (brw_vec4.cpp:1784)
> ==8650==    by 0x6618ACF: do_vs_prog (brw_vs.c:293)
> ==8650==    by 0x661976D: brw_vs_precompile (brw_vs.c:542)
> ==8650==    by 0x65E9672: brw_shader_precompile(gl_context*,
> gl_shader_program*) (brw_shader.cpp:79)
> ==8650==    by 0x65E9E94: brw_link_shader (brw_shader.cpp:275)
> ==8650==    by 0x63FDA68: _mesa_glsl_link_shader (ir_to_mesa.cpp:3079)
> ==8650==    by 0x629F6AC: link_program (shaderapi.c:915)
> ==8650==    by 0x62A07FB: _mesa_LinkProgram (shaderapi.c:1383)
> ==8650==    by 0x5AF91F1: shared_dispatch_stub_509 (glapi_mapi_tmp.h:17853)
> ==8650==  Address 0x78afb0c is 12 bytes after a block of size 96 alloc'd
> ==8650==    at 0x4A081D4: calloc (in
> /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==8650==    by 0x64F8F9B: ralloc_size (ralloc.c:113)
> ==8650==    by 0x65BEA83: cfg_t::operator new(unsigned long, void*)
> (in /home/airlied/devel/mesa/mesa/lib/i965_dri.so)
> ==8650==    by 0x65EAAB8: backend_visitor::calculate_cfg() (brw_shader.cpp:774)
> ==8650==    by 0x66000BF:
> brw::vec4_visitor::calculate_live_intervals()
> (brw_vec4_live_variables.cpp:251)
> ==8650==    by 0x65F80E9: brw::vec4_visitor::opt_cse() (brw_vec4_cse.cpp:252)
> ==8650==    by 0x65F5DA4: brw::vec4_visitor::run() (brw_vec4.cpp:1708)
> ==8650==    by 0x65F6120: brw_vs_emit (brw_vec4.cpp:1784)
> ==8650==    by 0x6618ACF: do_vs_prog (brw_vs.c:293)
> ==8650==    by 0x661976D: brw_vs_precompile (brw_vs.c:542)
> ==8650==    by 0x65E9672: brw_shader_precompile(gl_context*,
> gl_shader_program*) (brw_shader.cpp:79)
> ==8650==    by 0x65E9E94: brw_link_shader (brw_shader.cpp:275)
> ==8650==
> ==8650== Invalid read of size 4
> ==8650==    at 0x65F8028: brw::vec4_visitor::opt_cse_local(bblock_t*)
> (brw_vec4_cse.cpp:227)
> ==8650==    by 0x65F8125: brw::vec4_visitor::opt_cse() (brw_vec4_cse.cpp:257)
> ==8650==    by 0x65F5DA4: brw::vec4_visitor::run() (brw_vec4.cpp:1708)
> ==8650==    by 0x65F6120: brw_vs_emit (brw_vec4.cpp:1784)
> ==8650==    by 0x6618ACF: do_vs_prog (brw_vs.c:293)
> ==8650==    by 0x661976D: brw_vs_precompile (brw_vs.c:542)
> ==8650==    by 0x65E9672: brw_shader_precompile(gl_context*,
> gl_shader_program*) (brw_shader.cpp:79)
> ==8650==    by 0x65E9E94: brw_link_shader (brw_shader.cpp:275)
> ==8650==    by 0x63FDA68: _mesa_glsl_link_shader (ir_to_mesa.cpp:3079)
> ==8650==    by 0x629F6AC: link_program (shaderapi.c:915)
> ==8650==    by 0x62A07FB: _mesa_LinkProgram (shaderapi.c:1383)
> ==8650==    by 0x5AF91F1: shared_dispatch_stub_509 (glapi_mapi_tmp.h:17853)
> ==8650==  Address 0x78afb0c is 12 bytes after a block of size 96 alloc'd
> ==8650==    at 0x4A081D4: calloc (in
> /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
> ==8650==    by 0x64F8F9B: ralloc_size (ralloc.c:113)
> ==8650==    by 0x65BEA83: cfg_t::operator new(unsigned long, void*)
> (in /home/airlied/devel/mesa/mesa/lib/i965_dri.so)
> ==8650==    by 0x65EAAB8: backend_visitor::calculate_cfg() (brw_shader.cpp:774)
> ==8650==    by 0x66000BF:
> brw::vec4_visitor::calculate_live_intervals()
> (brw_vec4_live_variables.cpp:251)
> ==8650==    by 0x65F80E9: brw::vec4_visitor::opt_cse() (brw_vec4_cse.cpp:252)
> ==8650==    by 0x65F5DA4: brw::vec4_visitor::run() (brw_vec4.cpp:1708)
> ==8650==    by 0x65F6120: brw_vs_emit (brw_vec4.cpp:1784)
> ==8650==    by 0x6618ACF: do_vs_prog (brw_vs.c:293)
> ==8650==    by 0x661976D: brw_vs_precompile (brw_vs.c:542)
> ==8650==    by 0x65E9672: brw_shader_precompile(gl_context*,
> gl_shader_program*) (brw_shader.cpp:79)
> ==8650==    by 0x65E9E94: brw_link_shader (brw_shader.cpp:275)

These last lines here look familiar or at least hit the same area of
code as:

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

(this bug got fixed though)

> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

// Tapani



More information about the mesa-dev mailing list