<html>
<head>
<base href="https://bugs.freedesktop.org/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Compiling of shader gets stuck in infinite loop"
href="https://bugs.freedesktop.org/show_bug.cgi?id=78468">78468</a>
</td>
</tr>
<tr>
<th>Assignee</th>
<td>idr@freedesktop.org
</td>
</tr>
<tr>
<th>Summary</th>
<td>Compiling of shader gets stuck in infinite loop
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>intel-3d-bugs@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Reporter</th>
<td>bugReporter92@gmail.com
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/DRI/i965
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr></table>
<p>
<div>
<pre>While compiling a shader from the application supertuxkart, I get an infinite
loop. This is in the currect git checkout of supertuxkart which can be found at
<a href="https://github.com/supertuxkart/stk-code.git">https://github.com/supertuxkart/stk-code.git</a>
The shader in question is data/shaders/dof.frag
No matter how wrong this shader is, I figure the expected outcome is never for
the compiler to just hang there.
What follows is a partial stack trace from supertuxkart when compiling that
shader. If the full stack trace would be useful, then let me know and I can get
it.
#0 ir_expression::accept (this=0x1fb3200, v=0x7fffffffcd70) at
../../src/glsl/ir_hv_accept.cpp:156
#1 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20ebf70, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#2 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fb6250)
at ../../src/glsl/opt_constant_folding.cpp:87
#3 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fb6220) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#4 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fb6220) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#5 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fb6220,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#6 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20df810, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#7 0x00007fffef29b881 in ir_expression::accept (this=0x1fb9240,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:142
#8 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20dfdc0, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#9 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fbc290)
at ../../src/glsl/opt_constant_folding.cpp:87
#10 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fbc260) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#11 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fbc260) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#12 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fbc260,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#13 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e0300, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#14 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fbf2b0)
at ../../src/glsl/opt_constant_folding.cpp:87
#15 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fbf280) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#16 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fbf280) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#17 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fbf280,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#18 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e08b0, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#19 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fc22d0)
at ../../src/glsl/opt_constant_folding.cpp:87
#20 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fc22a0) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#21 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fc22a0) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#22 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fc22a0,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#23 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e0e60, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#24 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fc52f0)
#25 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fc52c0) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#26 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fc52c0) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#27 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fc52c0,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#28 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e1410, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#29 0x00007fffef29b881 in ir_expression::accept (this=0x1fc82e0,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:142
#30 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e1950, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#31 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fcb330)
at ../../src/glsl/opt_constant_folding.cpp:87
#32 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fcb300) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#33 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fcb300) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#34 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fcb300,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#35 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e1f00, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#36 0x00007fffef29b881 in ir_expression::accept (this=0x1fce320,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:142
#37 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e24b0, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#38 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fd1370)
at ../../src/glsl/opt_constant_folding.cpp:87
#39 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fd1340) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#40 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fd1340) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#41 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fd1340,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#42 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e2a60, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#43 0x00007fffef2c8d59 in (anonymous
namespace)::ir_constant_folding_visitor::handle_rvalue (this=0x7fffffffcd70,
rvalue=0x1fd4390)
at ../../src/glsl/opt_constant_folding.cpp:87
#44 0x00007fffef29e6e1 in ir_rvalue_base_visitor::rvalue_visit
(this=0x7fffffffcd70, ir=0x1fd4360) at ../../src/glsl/ir_rvalue_visitor.cpp:43
#45 0x00007fffef29eb89 in ir_rvalue_visitor::visit_leave (this=0x7fffffffcd70,
ir=0x1fd4360) at ../../src/glsl/ir_rvalue_visitor.cpp:156
#46 0x00007fffef29b8d0 in ir_expression::accept (this=0x1fd4360,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:156
#47 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e3010, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#48 0x00007fffef29b881 in ir_expression::accept (this=0x1fd7380,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:142
#49 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e35c0, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
#50 0x00007fffef29b881 in ir_expression::accept (this=0x1fda3a0,
v=0x7fffffffcd70) at ../../src/glsl/ir_hv_accept.cpp:142
#51 0x00007fffef29bd1b in ir_swizzle::accept (this=0x20e3b70, v=0x7fffffffcd70)
at ../../src/glsl/ir_hv_accept.cpp:243
...
There's more to the backtrace, up to 127 levels, but I wasn't sure how much
more would be useful.
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.3.0-devel
(git-23e9f06)
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.3.0-devel (git-23e9f06)
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
Debian Jessie using GNOME3 and a fresh git build of mesa.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the QA Contact for the bug.</li>
</ul>
</body>
</html>