<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Crash si_shader_select in Master Of Orion"
href="https://bugs.freedesktop.org/show_bug.cgi?id=99419">99419</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Crash si_shader_select in Master Of Orion
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>Other
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/Gallium/radeonsi
</td>
</tr>
<tr>
<th>Assignee</th>
<td>dri-devel@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>andreas.schultes@googlemail.com
</td>
</tr>
<tr>
<th>QA Contact</th>
<td>dri-devel@lists.freedesktop.org
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=128966" name="attach_128966" title="Backtrace">attachment 128966</a> <a href="attachment.cgi?id=128966&action=edit" title="Backtrace">[details]</a></span>
Backtrace
To reproduce crash click on a dropdown menu in settings.
Crash caused by passing a invalid LLVMTargetMachineRef object in
si_shader_selector. Comment in si_shader.h says that should be only used in
si_init_shader_selector_async but that is not the case. It is also used in
si_build_shader_variant which called here also(see backtrace).
memorydump of tm object (frame 10)
x/60b sctx->tm
0x6c5b910: 224 219 246 103 41 127 0 0
0x6c5b918: 192 111 254 103 41 127 0 0
0x6c5b920: 0 0 0 0 0 0 0 0
0x6c5b928: 0 0 0 0 0 0 0 0
0x6c5b930: 72 185 197 6 0 0 0 0
0x6c5b938: 74 185 197 6 0 0 0 0
0x6c5b940: 80 185 197 6 0 0 0 0
0x6c5b948: 32 64 0 0
x/60b state->cso->tm
0x6c63ac0: 0 0 0 0 0 0 0 0
0x6c63ac8: 0 0 0 0 0 0 0 128
0x6c63ad0: 0 0 0 0 0 0 0 0
0x6c63ad8: 0 0 0 0 0 0 0 0
0x6c63ae0: 0 0 0 0 0 0 0 0
0x6c63ae8: 0 0 0 0 0 0 0 128
0x6c63af0: 0 0 0 0 0 0 0 0
0x6c63af8: 0 0 0 0
Adding state->cso->tm = sctx->tm; in si_shader_select prevents the crash. I
don't think that also fix the bug. There is still an incorrect rendering.
//disam shader
s_load_dwordx4 s[4:7], s[10:11], 0x0 ; C00A0105 00000000
s_load_dwordx4 s[0:3], s[2:3], 0x0 ; C00A0001 00000000
v_mov_b32_e32 v0, 1.0 ; 7E0002F2
s_waitcnt lgkmcnt(0) ; BF8C007F
buffer_load_format_xyzw v[3:6], v4, s[4:7], 0 idxen ; E00C2000 80010304
s_buffer_load_dword s5, s[0:3], 0x4 ; C0220140 00000004
s_buffer_load_dword s9, s[0:3], 0x14 ; C0220240 00000014
s_buffer_load_dword s4, s[0:3], 0x0 ; C0220100 00000000
s_buffer_load_dword s8, s[0:3], 0x10 ; C0220200 00000010
s_buffer_load_dword s6, s[0:3], 0x8 ; C0220180 00000008
s_buffer_load_dword s10, s[0:3], 0x18 ; C0220280 00000018
s_buffer_load_dword s7, s[0:3], 0xc ; C02201C0 0000000C
s_buffer_load_dword s0, s[0:3], 0x1c ; C0220000 0000001C
s_waitcnt vmcnt(0) lgkmcnt(0) ; BF8C0070
v_mul_f32_e32 v1, s5, v4 ; 0A020805
v_mul_f32_e32 v4, s9, v4 ; 0A080809
v_mac_f32_e32 v1, s4, v3 ; 2C020604
v_mac_f32_e32 v4, s8, v3 ; 2C080608
v_mac_f32_e32 v1, s6, v5 ; 2C020A06
v_mac_f32_e32 v4, s10, v5 ; 2C080A0A
v_mac_f32_e32 v1, s7, v6 ; 2C020C07
v_mac_f32_e32 v4, s0, v6 ; 2C080C00
v_mov_b32_e32 v3, 0 ; 7E060280
exp pos0 v1, v4, v3, v0 done ; C40008CF 00030401
s_waitcnt expcnt(0) ; BF8C0F0F</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>