<div dir="ltr">If you can manage to get me a backtrace (bt full preferably), that would be fantastic!<br><div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 8, 2017 at 4:34 AM, Tapani Pälli <span dir="ltr"><<a href="mailto:tapani.palli@intel.com" target="_blank">tapani.palli@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">FYI I bisected that starting from this commit (or maybe somewhere within this series) there are segfaults with systemui (using libhwui) in Android, it looks like below. Seems rather hard case to debug as it does not seem to always happen (!) but will try to figure out what is going wrong.<br>
<br>
---- 8< ----<br>
01-01 00:00:43.607 2926 2959 F libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 2959 (RenderThread)<br>
01-01 00:00:43.608 1532 1532 W : debuggerd: handling request: pid=2926 uid=10013 gid=10013 tid=2959<br>
01-01 00:00:43.667 2975 2975 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***<br>
01-01 00:00:43.667 2975 2975 F DEBUG : Build fingerprint: 'AndroidIA/androidia_64/androi<wbr>dia_64:7.1.1/NMF26Q/tpalli0606<wbr>0923:eng/test-keys'<br>
01-01 00:00:43.667 2975 2975 F DEBUG : Revision: '0'<br>
01-01 00:00:43.667 2975 2975 F DEBUG : ABI: 'x86_64'<br>
01-01 00:00:43.667 2975 2975 F DEBUG : pid: 2926, tid: 2959, name: RenderThread >>> com.android.systemui <<<<br>
01-01 00:00:43.667 2975 2975 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0<br>
01-01 00:00:43.667 2975 2975 F DEBUG : rax 000070332c1ae400 rbx 000070332c13a070 rcx 0000000000000001 rdx 0000703329a27320<br>
01-01 00:00:43.667 2975 2975 F DEBUG : rsi 0000000000000000 rdi 0000000000000000<br>
01-01 00:00:43.667 2975 2975 F DEBUG : r8 0000000000000000 r9 00000000ffffffff r10 0000703349b2ab50 r11 0000000000000246<br>
01-01 00:00:43.667 2975 2975 F DEBUG : r12 0000000000000000 r13 000070332d86ab1f r14 000070332c15f0d8 r15 0000000000000001<br>
01-01 00:00:43.667 2975 2975 F DEBUG : cs 0000000000000033 ss 000000000000002b<br>
01-01 00:00:43.667 2975 2975 F DEBUG : rip 000070332c32416f rbp 000070332c1fb800 rsp 000070332d86ab10 eflags 0000000000010246<br>
01-01 00:00:43.673 2975 2975 F DEBUG :<br>
01-01 00:00:43.673 2975 2975 F DEBUG : backtrace:<br>
01-01 00:00:43.673 2975 2975 F DEBUG : #00 pc 000000000006616f /system/lib64/dri/i965_dri.so (intel_update_state+463)<br>
01-01 00:00:43.673 2975 2975 F DEBUG : #01 pc 000000000031e753 /system/lib64/dri/i965_dri.so (_mesa_update_state_locked+155<wbr>5)<br>
01-01 00:00:43.673 2975 2975 F DEBUG : #02 pc 000000000031e790 /system/lib64/dri/i965_dri.so (_mesa_update_state+16)<br>
01-01 00:00:43.673 2975 2975 F DEBUG : #03 pc 000000000024577b /system/lib64/dri/i965_dri.so (_mesa_Clear+171)<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
On 05/27/2017 02:30 AM, Jason Ekstrand wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
---<br>
src/mesa/drivers/dri/i965/brw_<wbr>context.c | 9 +--------<br>
src/mesa/drivers/dri/i965/inte<wbr>l_mipmap_tree.c | 9 +++++++++<br>
src/mesa/drivers/dri/i965/inte<wbr>l_mipmap_tree.h | 3 +++<br>
3 files changed, 13 insertions(+), 8 deletions(-)<br>
<br>
diff --git a/src/mesa/drivers/dri/i965/br<wbr>w_context.c b/src/mesa/drivers/dri/i965/br<wbr>w_context.c<br>
index 671af42..ed57012 100644<br>
--- a/src/mesa/drivers/dri/i965/br<wbr>w_context.c<br>
+++ b/src/mesa/drivers/dri/i965/br<wbr>w_context.c<br>
@@ -253,14 +253,7 @@ intel_update_state(struct gl_context * ctx, GLuint new_state)<br>
tex_obj = intel_texture_object(u->TexObj<wbr>);<br>
if (tex_obj && tex_obj->mt) {<br>
- /* Access to images is implemented using indirect messages<br>
- * against data port. Normal render target write understands<br>
- * lossless compression but unfortunately the typed/untyped<br>
- * read/write interface doesn't. Therefore even lossless<br>
- * compressed surfaces need to be resolved prior to accessing<br>
- * them. Hence skip setting INTEL_MIPTREE_IGNORE_CCS_E.<br>
- */<br>
- intel_miptree_all_slices_reso<wbr>lve_color(brw, tex_obj->mt, 0);<br>
+ intel_miptree_prepare_image(b<wbr>rw, tex_obj->mt);<br>
if (intel_miptree_is_lossless_com<wbr>pressed(brw, tex_obj->mt) &&<br>
intel_disable_rb_aux_buffer(b<wbr>rw, tex_obj->mt->bo)) {<br>
diff --git a/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.c b/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.c<br>
index 76fe8b8..5739508 100644<br>
--- a/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.c<br>
+++ b/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.c<br>
@@ -2439,6 +2439,15 @@ intel_miptree_prepare_texture(<wbr>struct brw_context *brw,<br>
}<br>
void<br>
+intel_miptree_prepare_image(s<wbr>truct brw_context *brw,<br>
+ struct intel_mipmap_tree *mt)<br>
+{<br>
+ /* The data port doesn't understand any compression */<br>
+ intel_miptree_prepare_access(<wbr>brw, mt, 0, INTEL_REMAINING_LEVELS,<br>
+ 0, INTEL_REMAINING_LAYERS, false, false);<br>
+}<br>
+<br>
+void<br>
intel_miptree_prepare_fb_fetch<wbr>(struct brw_context *brw,<br>
struct intel_mipmap_tree *mt, uint32_t level,<br>
uint32_t start_layer, uint32_t num_layers)<br>
diff --git a/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.h b/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.h<br>
index 9ab9039..2136eff 100644<br>
--- a/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.h<br>
+++ b/src/mesa/drivers/dri/i965/in<wbr>tel_mipmap_tree.h<br>
@@ -1016,6 +1016,9 @@ intel_miptree_prepare_texture(<wbr>struct brw_context *brw,<br>
mesa_format view_format,<br>
bool *aux_supported_out);<br>
void<br>
+intel_miptree_prepare_image(s<wbr>truct brw_context *brw,<br>
+ struct intel_mipmap_tree *mt);<br>
+void<br>
intel_miptree_prepare_fb_fetch<wbr>(struct brw_context *brw,<br>
struct intel_mipmap_tree *mt, uint32_t level,<br>
uint32_t start_layer, uint32_t num_layers);<br>
<br>
</blockquote>
</div></div></blockquote></div><br></div></div></div>