[Bug 91503] [r600g] regression: SB-related NI/Turks crash on 'gsraytrace'
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Wed Jul 29 19:33:56 PDT 2015
https://bugs.freedesktop.org/show_bug.cgi?id=91503
Bug ID: 91503
Summary: [r600g] regression: SB-related NI/Turks crash on
'gsraytrace'
Product: Mesa
Version: git
Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
Severity: critical
Priority: medium
Component: Drivers/Gallium/r600
Assignee: dri-devel at lists.freedesktop.org
Reporter: Dieter at nuetzel-hh.de
QA Contact: dri-devel at lists.freedesktop.org
Created attachment 117455
--> https://bugs.freedesktop.org/attachment.cgi?id=117455&action=edit
gsraytrace.png
Linux 4.1.3
Mesa 10.7.0-devel (git-c73a13e)
LLVM version 3.8.0svn
Turks XT | [Radeon HD 6670] | (ChipID = 0x6758)
With R600_DEBUG=nosb it works, but image corruption (see gsraytrace.png)
With R600_DEBUG=nollvm I got this one time:
*** Error in `./gsraytrace': corrupted double-linked list: 0x000000000231ce00
***
It worked (with little image corruption) some weeks ago.
So it is mostly a regression, sorry not bisected, yet.
/home/dieter> ./gsraytrace
GL_RENDERER = Gallium 0.4 on AMD TURKS
ESC = exit demo
left mouse + drag = rotate camera
Segmentation fault (core dumped)
[ 6997.080787] gsraytrace[6277]: segfault at 218 ip 00007f1ac3df5062 sp
00007fffd07d7980 error 4 in r600_dri.so[7f1ac39e8000+5d3000]
Core was generated by `./gsraytrace'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 r600_sb::bc_parser::prepare_ir (this=this at entry=0x7ffd0c763950) at
sb/sb_bc_parser.cpp:649
649 depart_node *dep =
sh->create_depart(loop_stack.top());
Missing separate debuginfos, use: zypper install
glibc-debuginfo-2.19-16.15.1.x86_64 libGLEW1_10-debuginfo-1.10.0-2.3.1.x86_64
libelf1-debuginfo-0.158-4.5.1.x86_64 libexpat1-debuginfo-2.1.0-14.1.2.x86_64
libgcc_s1-debuginfo-4.8.3+r212056-2.2.4.x86_64
libglut3-debuginfo-2.8.1-4.2.1.x86_64 libncurses5-debuginfo-5.9-52.2.3.x86_64
libopenssl1_0_0-debuginfo-1.0.1k-2.24.1.x86_64
libstdc++6-debuginfo-4.8.3+r212056-2.2.4.x86_64
libtxc_dxtn-debuginfo-1.0.1-5.1.x86_64 libudev1-debuginfo-210-25.16.1.x86_64
libz1-debuginfo-1.2.8-5.1.2.x86_64
(gdb) list
644 rep->move(c->parent->first, c);
645 c->replace_with(rep);
646 sh->simplify_dep_rep(rep);
647 } else if (c->bc.op == CF_OP_LOOP_BREAK) {
648 assert(!loop_stack.empty());
649 depart_node *dep =
sh->create_depart(loop_stack.top());
650 if (c->parent->first != c)
651 dep->move(c->parent->first, c);
652 c->replace_with(dep);
653 sh->simplify_dep_rep(dep);
(gdb) bt full
#0 r600_sb::bc_parser::prepare_ir (this=this at entry=0x7ffd0c763950) at
sb/sb_bc_parser.cpp:649
dep = <optimized out>
c = 0x11c8a30
flags = 64
I =
E = <optimized out>
#1 0x00007f853df86389 in r600_sb::bc_parser::prepare
(this=this at entry=0x7ffd0c763950)
at sb/sb_bc_parser.cpp:107
r = <optimized out>
#2 0x00007f853df879a1 in r600_sb_bytecode_process (rctx=rctx at entry=0xb4f680,
bc=bc at entry=0x119fcf0, pshader=pshader at entry=0x119fce8,
dump_bytecode=dump_bytecode at entry=0,
optimize=<optimized out>) at sb/sb_core.cpp:153
shader_id = 15
ctx = <optimized out>
time_start = <optimized out>
builder = {sh = @0xcdbb60, ctx = @0x110b860, bb = {hw_class_bit =
r600_sb::HB_EG,
bc = std::vector of length 368, capacity 512 = {<error reading
variable>,
error = 18395744}
r = <optimized out>
parser = {ctx = @0x110b860, dec = 0x113db20, bc = 0x119fcf0, pshader =
0x119fce8,
dw = 0x11a81e0, bc_ndw = 512, max_cf = 59, sh = 0x11a8e10, error = 0,
slots = {{
0x11c8498, 0x0, 0x0, 0x0, 0x0}, {0x11c7b28, 0x11c7bc0, 0x11c7c58,
0x11c7cf0, 0x0}},
cgroup = 0, cf_map = std::vector of length 61, capacity 64 =
{0x11bae38, 0x11bb0e0,
0x11bb2e8, 0x11bb6f8, 0x11bb900, 0x11bbd10, 0x11bbf18, 0x11bc7f8,
0x11bc938,
0x11bcb40, 0x11bd2e0, 0x11bd4e8, 0x11bd958, 0x11bdb60, 0x11bdfd0,
0x11be1d8,
0x11be648, 0x11be788, 0x11be8c8, 0x11bea08, 0x11beb48, 0x11bedf0,
0x11bef30,
0x11bf070, 0x11bf7e8, 0x11bf928, 0x11bfd38, 0x11bff40, 0x11c0518,
0x11c0720,
0x11c09c8, 0x11c0d60, 0x11c1a30, 0x11c1dc8, 0x11c4450, 0x11c4658,
0x11c4ac8,
0x11c4c08, 0x11c4d48, 0x11c4e88, 0x11c4fc8, 0x11c5270, 0x11c53b0,
0x11c54f0,
0x11c5960, 0x11c5b68, 0x11c6508, 0x11c6710, 0x11c7710, 0x11c7918,
0x11c7d88,
0x11c7ec8, 0x11c8008, 0x11c8148, 0x11c8288, 0x11c8530, 0x11c8670,
0x11c87b0,
0x11c88f0, 0x11c8a30, 0x11c8b70},
loop_stack = std::stack wrapping: std::deque with 0 elements,
gpr_reladdr = false}
#3 0x00007f853df6c6ca in r600_pipe_shader_create (ctx=ctx at entry=0xb4f680,
shader=shader at entry=0x119fcd0, key=...) at r600_shader.c:186
rctx = 0xb4f680
sel = 0x11872b0
r = 0
dump = false
use_sb = 1
sb_disasm = 1
export_shader = 0
__func__ = "r600_pipe_shader_create"
#4 0x00007f853df75c7a in r600_shader_select (ctx=ctx at entry=0xb4f680,
sel=0x11872b0,
dirty=dirty at entry=0x7ffd0c764618) at r600_state_common.c:763
key = {color_two_side = 0, alpha_to_one = 0, nr_cbufs = 0, vs_as_es =
0, vs_as_gs_a = 0,
vs_prim_id_out = 0}
shader = 0x119fcd0
r = <optimized out>
__func__ = "r600_shader_select"
#5 0x00007f853df78b3a in r600_update_derived_state (rctx=0xb4f680) at
r600_state_common.c:1189
ctx = 0xb4f680
ps_dirty = true
vs_dirty = false
need_buf_const = <optimized out>
gs_dirty = false
blend_disable = <optimized out>
#6 r600_draw_vbo (ctx=0xb4f680, dinfo=<optimized out>) at
r600_state_common.c:1377
rctx = 0xb4f680
info = {indexed = 0 '\000', mode = 0, start = 0, count = 65536,
start_instance = 0,
instance_count = 1, vertices_per_patch = <optimized out>, index_bias
= 0,
min_index = <optimized out>, max_index = <optimized out>,
primitive_restart = <optimized out>, restart_index = <optimized out>,
count_from_stream_output = <optimized out>, indirect = <optimized
out>,
indirect_offset = <optimized out>}
ib = {index_size = 0, offset = 0, buffer = 0x0, user_buffer = 0x0}
i = <optimized out>
cs = 0xc47260
#7 0x00007f853ded6877 in u_vbuf_draw_vbo (mgr=0xcbfa30, info=0x7ffd0c7648b0)
at util/u_vbuf.c:1159
pipe = 0xb4f680
start_vertex = <optimized out>
min_index = <optimized out>
num_vertices = <optimized out>
unroll_indices = 0 '\000'
used_vb_mask = <optimized out>
user_vb_mask = 0
incompatible_vb_mask = 0
new_info = {indexed = 128 '\200', mode = 0, start = 18184896, count =
0,
start_instance = 18468848, instance_count = 0, vertices_per_patch =
16,
index_bias = 32645, min_index = 8, max_index = 0, primitive_restart =
160 '\240',
restart_index = 0, count_from_stream_output = 0xca8518, indirect =
0xca7690,
indirect_offset = 18229808}
#8 0x00007f853dd50b6f in st_draw_vbo (ctx=0xc68460, prims=<optimized out>,
nr_prims=<optimized out>, ib=0x0, index_bounds_valid=<optimized out>,
min_index=0,
max_index=65535, tfb_vertcount=0x0, indirect=0x0) at
state_tracker/st_draw.c:288
ibuffer = {index_size = 0, offset = 0, buffer = 0x0, user_buffer = 0x0}
info = {indexed = 0 '\000', mode = 0, start = 0, count = 65536,
start_instance = 0,
instance_count = 1, vertices_per_patch = 3, index_bias = 0, min_index
= 0,
max_index = 65535, primitive_restart = 0 '\000', restart_index = 0,
count_from_stream_output = 0x0, indirect = 0x0, indirect_offset = 0}
arrays = <optimized out>
i = <optimized out>
#9 0x00007f853dd208d7 in vbo_draw_arrays (ctx=0xc68460, mode=0, start=0,
count=65536,
numInstances=1, baseInstance=0) at vbo/vbo_exec_array.c:645
exec = 0xca98c8
prim = {{mode = 0, indexed = 0, begin = 1, end = 1, weak = 0,
no_current_update = 0,
is_indirect = 0, pad = 0, start = 0, count = 65536, basevertex = 0,
num_instances = 1,
base_instance = 0, indirect_offset = 0}, {mode = 0, indexed = 0,
begin = 0, end = 0,
weak = 0, no_current_update = 0, is_indirect = 0, pad = 0, start =
0, count = 0,
basevertex = 0, num_instances = 0, base_instance = 0,
indirect_offset = 0}}
#10 0x0000000000403421 in Draw() ()
No symbol table info available.
#11 0x00007f8542518154 in ?? () from /usr/lib64/libglut.so.3
No symbol table info available.
#12 0x00007f854251b9b9 in fgEnumWindows () from /usr/lib64/libglut.so.3
No symbol table info available.
#13 0x00007f854251870d in glutMainLoopEvent () from /usr/lib64/libglut.so.3
No symbol table info available.
#14 0x00007f8542518f0d in glutMainLoop () from /usr/lib64/libglut.so.3
No symbol table info available.
#15 0x0000000000402ff0 in main ()
No symbol table info available.
(gdb) info registers all
rax 0x220 544
rbx 0x11c8a30 18647600
rcx 0x0 0
rdx 0x1169be8 18258920
rsi 0x0 0
rdi 0x0 0
rbp 0x0 0x0
rsp 0x7ffd0c763490 0x7ffd0c763490
r8 0x114c4a8 18138280
r9 0x11af930 18544944
r10 0x11af930 18544944
r11 0x11af940 18544960
r12 0x38 56
r13 0x7ffd0c763950 140724812527952
r14 0x11af2d8 18543320
r15 0x3 3
rip 0x7f853df86062 0x7f853df86062
<r600_sb::bc_parser::prepare_ir()+1938>
eflags 0x10202 [ IF RF ]
cs 0x33 51
ss 0x2b 43
ds 0x0 0
es 0x0 0
fs 0x0 0
gs 0x0 0
st0 0 (raw 0x00000000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 0 (raw 0x00000000000000000000)
st4 0 (raw 0x00000000000000000000)
st5 0 (raw 0x00000000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 0 (raw 0x00000000000000000000)
fctrl 0x37f 895
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x90, 0xce,
0x1c, 0x1, 0x0 <repeats 12 times>}, v8_int16 = {0xce90, 0x11c, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0},
v4_int32 = {0x11cce90, 0x0, 0x0, 0x0}, v2_int64 = {0x11cce90, 0x0},
uint128 = 0x000000000000000000000000011cce90}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x40, 0xba,
0x1b, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10, 0xbb, 0x1b, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0xba40,
0x11b, 0x0, 0x0, 0xbb10, 0x11b, 0x0, 0x0}, v4_int32 = {0x11bba40, 0x0,
0x11bbb10, 0x0},
v2_int64 = {0x11bba40, 0x11bbb10}, uint128 =
0x00000000011bbb1000000000011bba40}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x38, 0xb8,
0x1b, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb9, 0x1b, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0xb838,
0x11b, 0x0, 0x0, 0xb900, 0x11b, 0x0, 0x0}, v4_int32 = {0x11bb838, 0x0,
0x11bb900, 0x0},
v2_int64 = {0x11bb838, 0x11bb900}, uint128 =
0x00000000011bb90000000000011bb838}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x60, 0xb6,
0x1b, 0x1, 0x0, 0x0, 0x0, 0x0, 0xf8, 0xb6, 0x1b, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0xb660,
0x11b, 0x0, 0x0, 0xb6f8, 0x11b, 0x0, 0x0}, v4_int32 = {0x11bb660, 0x0,
0x11bb6f8, 0x0},
v2_int64 = {0x11bb660, 0x11bb6f8}, uint128 =
0x00000000011bb6f800000000011bb660}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0xf8, 0xb4,
0x1b, 0x1, 0x0, 0x0, 0x0, 0x0, 0x90, 0xb5, 0x1b, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0xb4f8,
0x11b, 0x0, 0x0, 0xb590, 0x11b, 0x0, 0x0}, v4_int32 = {0x11bb4f8, 0x0,
0x11bb590, 0x0},
v2_int64 = {0x11bb4f8, 0x11bb590}, uint128 =
0x00000000011bb59000000000011bb4f8}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x80, 0xad,
0x1b, 0x1, 0x0, 0x0, 0x0, 0x0, 0x38, 0xae, 0x1b, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0xad80,
0x11b, 0x0, 0x0, 0xae38, 0x11b, 0x0, 0x0}, v4_int32 = {0x11bad80, 0x0,
0x11bae38, 0x0},
v2_int64 = {0x11bad80, 0x11bae38}, uint128 =
0x00000000011bae3800000000011bad80}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0xa0, 0x42,
0x21, 0x1, 0x0, 0x0, 0x0, 0x0, 0xd0, 0x42, 0x21, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0x42a0,
0x121, 0x0, 0x0, 0x42d0, 0x121, 0x0, 0x0}, v4_int32 = {0x12142a0, 0x0,
0x12142d0, 0x0},
v2_int64 = {0x12142a0, 0x12142d0}, uint128 =
0x00000000012142d000000000012142a0}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x43,
0x21, 0x1, 0x0, 0x0, 0x0, 0x0, 0x30, 0x43, 0x21, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0x4300,
0x121, 0x0, 0x0, 0x4330, 0x121, 0x0, 0x0}, v4_int32 = {0x1214300, 0x0,
0x1214330, 0x0},
v2_int64 = {0x1214300, 0x1214330}, uint128 =
0x00000000012143300000000001214300}
xmm8 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {
0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm9 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0xd0, 0x3c,
0x21, 0x1, 0x0, 0x0, 0x0, 0x0, 0xe0, 0x3e, 0x21, 0x1, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0x3cd0,
0x121, 0x0, 0x0, 0x3ee0, 0x121, 0x0, 0x0}, v4_int32 = {0x1213cd0, 0x0,
0x1213ee0, 0x0},
v2_int64 = {0x1213cd0, 0x1213ee0}, uint128 =
0x0000000001213ee00000000001213cd0}
xmm10 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {
0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm11 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {
0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm12 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0x0, 0x0,
0x0, 0x0, 0x0, 0xff, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0xff0000, 0x0},
v2_int64 = {0x0,
0xff0000}, uint128 = 0x0000000000ff00000000000000000000}
xmm13 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {
0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm14 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {
0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
xmm15 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
v16_int8 = {
0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0}, v4_int32 = {0x0,
0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0}, uint128 =
0x00000000000000000000000000000000}
mxcsr 0x1fa0 [ PE IM DM ZM OM UM PM ]
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150730/39defecf/attachment-0001.html>
More information about the dri-devel
mailing list