Bug ID 103653
Summary Unreal segfault since gallium/u_threaded: avoid syncs for get_query_result
Product Mesa
Version git
Hardware x86-64 (AMD64)
OS Linux (All)
Status NEW
Severity normal
Priority medium
Component Drivers/Gallium/radeonsi
Assignee dri-devel@lists.freedesktop.org
Reporter adf.lists@gmail.com
QA Contact dri-devel@lists.freedesktop.org

R9 285 Tonga, since

commit 244536d3d6b40c1763d1e2b3e7676665afa69101
Author: Nicolai Hähnle <nicolai.haehnle@amd.com>
Date:   Sun Oct 22 17:38:51 2017 +0200

    gallium/u_threaded: avoid syncs for get_query_result

    Queries should still get marked as flushed when flushes are executed
    asynchronously in the driver thread.

    To this end, the management of the unflushed_queries list is moved into
    the driver thread.

I get a segfault starting Unreal Elemental demo or unreal tournament.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe34f5700 (LWP 7403)]
tc_call_end_query (pipe=0x5301430, payload=0x54c2a48) at
util/u_threaded_context.c:374
374        if (!tq->head_unflushed.next)
(gdb) bt
#0  tc_call_end_query (pipe=0x5301430, payload=0x54c2a48) at
util/u_threaded_context.c:374
#1  0x00007ffff11bfdaf in tc_batch_execute (job=job@entry=0x54c27c0,
thread_index=thread_index@entry=0) at util/u_threaded_context.c:96
#2  0x00007ffff1083830 in util_queue_thread_func (input=input@entry=0x4c37fe0)
at u_queue.c:271
#3  0x00007ffff10834d7 in impl_thrd_routine (p=<optimized out>) at
../../include/c11/threads_posix.h:87
#4  0x00007ffff7bc5434 in start_thread () from /lib/libpthread.so.0
#5  0x00007ffff6a1206d in clone () from /lib/libc.so.6


You are receiving this mail because: