Bug 34119 - [glsl] piglit glsl-texcoord-array regression
Summary: [glsl] piglit glsl-texcoord-array regression
Status: CLOSED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: glsl-compiler (show other bugs)
Version: git
Hardware: x86 (IA32) Linux (All)
: medium critical
Assignee: Ian Romanick
QA Contact:
URL:
Whiteboard:
Keywords:
: 34167 (view as bug list)
Depends on:
Blocks:
 
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:


Attachments

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.


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.