From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@freedesktop.org
Subject: [Bug 103653] Unreal segfault since gallium/u_threaded: avoid syncs
for get_query_result
Date: Thu, 09 Nov 2017 18:28:32 +0000
Message-ID:
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=C3=A4hnle <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=3D0x5301430, payload=3D0x54c2a48) at
util/u_threaded_context.c:374
374 if (!tq->head_unflushed.next)
(gdb) bt
#0 tc_call_end_query (pipe=3D0x5301430, payload=3D0x54c2a48) at
util/u_threaded_context.c:374
#1 0x00007ffff11bfdaf in tc_batch_execute (job=3Djob@entry=3D0x54c27c0,
thread_index=3Dthread_index@entry=3D0) at util/u_threaded_context.c:96
#2 0x00007ffff1083830 in util_queue_thread_func (input=3Dinput@entry=
=3D0x4c37fe0)
at u_queue.c:271
#3 0x00007ffff10834d7 in impl_thrd_routine (p=3D<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