Bug 34119 - [glsl] piglit glsl-texcoord-array regression
[glsl] piglit glsl-texcoord-array regression
Product: Mesa
Classification: Unclassified
Component: glsl-compiler
x86 (IA32) Linux (All)
: medium critical
Assigned To: Ian Romanick
: 34167 (view as bug list)
Depends on:
  Show dependency treegraph
Reported: 2011-02-09 19:03 UTC by Vinson Lee
Modified: 2011-07-29 16:36 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Note You need to log in before you can comment on or make changes to this bug.
Description Vinson Lee 2011-02-09 19:03:28 UTC
mesa: fc9170d0cf1c7a7dcd580e9da17742a6ab68bd1b (master)

piglit glsl-texcoord-array triggers a segmentation fault in program/ir_to_mesa.cpp.

$ ./bin/shader_runner tests/shaders/glsl-texcoord-array.shader_test
Segmentation fault (core dumped)

(gdb) bt
#0  0x003435f1 in ir_to_mesa_visitor::copy_propagate (this=0xbfb387b0) at program/ir_to_mesa.cpp:2757
#1  0x00343bb8 in get_mesa_program (ctx=0x94cfbe8, shader_program=0x9816408, shader=0x980df48) at program/ir_to_mesa.cpp:2909
#2  0x00344542 in _mesa_ir_link_shader (ctx=0x94cfbe8, prog=0x9816408) at program/ir_to_mesa.cpp:3094
#3  0x00344b5e in _mesa_glsl_link_shader (ctx=0x94cfbe8, prog=0x9816408) at program/ir_to_mesa.cpp:3248
#4  0x00268b0f in link_program (ctx=0x94cfbe8, program=3) at main/shaderapi.c:885
#5  0x00269e4d in _mesa_LinkProgramARB (programObj=3) at main/shaderapi.c:1459
#6  0x0804c757 in link_and_use_shaders () at piglit/tests/shaders/shader_runner.c:497
#7  0x0804d993 in piglit_init (argc=2, argv=0xbfb38aa4) at piglit/tests/shaders/shader_runner.c:864
#8  0x0804fee3 in main (argc=2, argv=0xbfb38aa4) at piglit/tests/util/piglit-framework.c:116

(gdb) frame 0
#0  0x003435f1 in ir_to_mesa_visitor::copy_propagate (this=0xbfb387b0) at program/ir_to_mesa.cpp:2757
2757			  if (acp[4 * r + c]->src_reg[0].file == PROGRAM_OUTPUT)
(gdb) print acp
$1 = (ir_to_mesa_instruction **) 0x98740c8
(gdb) print r
$2 = 0
(gdb) print c
$3 = 0
(gdb) print acp[4 * r + c]
$4 = (ir_to_mesa_instruction *) 0x0
Comment 1 Vinson Lee 2011-02-09 20:54:35 UTC
76857e8954484d5bf8758d7bfc87f264f95a0ebd is the first bad commit
commit 76857e8954484d5bf8758d7bfc87f264f95a0ebd
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Feb 4 13:31:02 2011 -0600

    mesa: Fix the Mesa IR copy propagation to not read past writes to the reg.
    Fixes glsl-vs-post-increment-01.
    Reviewed-by: José Fonseca <jfonseca@vmware.com>

:040000 040000 0258e65d8a3c4ec3b563e4fd98eb120624121e0e 9126763e191edfc030662122c05ea05cdbcba06c M	src
bisect run success
Comment 2 Vinson Lee 2011-02-10 14:34:26 UTC
piglit glsl-texcoord-array also crashes on softpipe and llvmpipe.
Comment 3 Ian Romanick 2011-02-11 15:11:58 UTC
*** Bug 34167 has been marked as a duplicate of this bug. ***
Comment 4 Ian Romanick 2011-02-11 15:45:19 UTC
This should be fixed by the following commit.

commit 3803295fc2b9c517e80aa46f2338308e23e64e4a
Author: Ian Romanick <ian.d.romanick@intel.com>
Date:   Fri Feb 11 15:19:05 2011 -0800

    ir_to_mesa: Don't dereference a NULL pointer during copy propagation
    The ACP may already be NULL, so don't try to make it NULL again.
    This should fix bugzilla #34119.
Comment 5 Vinson Lee 2011-07-29 16:36:37 UTC
mesa: 120d71a45cfda1edfa8cd6b1732e209eb98b53d8 (master)

Verified fixed.