<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 - [r600g] OpenCL atomic_cmpxchg() segmentation fault on Caicos"
href="https://bugs.freedesktop.org/show_bug.cgi?id=93370">93370</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>[r600g] OpenCL atomic_cmpxchg() segmentation fault on Caicos
</td>
</tr>
<tr>
<th>Product</th>
<td>Mesa
</td>
</tr>
<tr>
<th>Version</th>
<td>git
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>major
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>Drivers/Gallium/r600
</td>
</tr>
<tr>
<th>Assignee</th>
<td>dri-devel@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>rivanvx@gmail.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=120495" name="attach_120495" title="Program that segfaults">attachment 120495</a> <a href="attachment.cgi?id=120495&action=edit" title="Program that segfaults">[details]</a></span>
Program that segfaults
I'm using mesa 8b52fa71ac3d706f27ccbddcb050aae4965839e9 and llvm svn revision
255468.
The code that segfaults is attached. Debugging with gdb gives:
Starting program: /home/vedranm/atomic
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7ffff034b700 (LWP 20619)]
[New Thread 0x7fffef912700 (LWP 20620)]
[New Thread 0x7fffef111700 (LWP 20621)]
[Thread 0x7fffef111700 (LWP 20621) exited]
[Thread 0x7fffef912700 (LWP 20620) exited]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff0a4480d in radeon_lookup_buffer (csc=csc@entry=0x7ffff7f31028,
bo=bo@entry=0xf103c0) at radeon_drm_cs.c:230
230 if (i == -1 || csc->relocs_bo[i].bo == bo)
(gdb) backtrace
#0 0x00007ffff0a4480d in radeon_lookup_buffer (csc=csc@entry=0x7ffff7f31028,
bo=bo@entry=0xf103c0) at radeon_drm_cs.c:230
#1 0x00007ffff0a44931 in radeon_add_buffer (added_domains=<synthetic pointer>,
priority=29, domains=<optimized out>, usage=<optimized out>, bo=0xf103c0,
cs=0x7ffff7f31010) at radeon_drm_cs.c:269
#2 radeon_drm_cs_add_buffer (rcs=0x7ffff7f31010, buf=0xf103c0,
usage=<optimized out>, domains=<optimized out>,
priority=RADEON_PRIO_VERTEX_BUFFER) at radeon_drm_cs.c:333
#3 0x00007ffff0a65a79 in radeon_add_to_buffer_list (rctx=0x65c260,
ring=0x65c580, rbo=<optimized out>, rbo=<optimized out>,
priority=RADEON_PRIO_VERTEX_BUFFER, usage=RADEON_USAGE_READ)
at ../../../../src/gallium/drivers/radeon/r600_cs.h:53
#4 evergreen_emit_vertex_buffers (rctx=0x65c260, state=0x65ef00,
resource_offset=816, pkt_flags=<optimized out>) at evergreen_state.c:1917
#5 0x00007ffff0a62467 in r600_emit_atom (atom=0x65ef00, rctx=0x65c260) at
r600_pipe.h:578
#6 compute_emit_cs (grid_layout=0xf26950, block_layout=0xf26c10, ctx=0x65c260)
at evergreen_compute.c:489
#7 evergreen_launch_grid (ctx_=0x65c260, block_layout=0xf26c10,
grid_layout=grid_layout@entry=0xf26950, pc=pc@entry=0,
input=input@entry=0xe68850) at evergreen_compute.c:631
#8 0x00007ffff58167ac in clover::kernel::launch (this=0xf24790, q=...,
grid_offset=..., grid_size=std::vector of length 1, capacity 1 = {...},
block_size=std::vector of length 1, capacity 1 = {...})
at core/kernel.cpp:81
#9 0x00007ffff5811626 in std::function<void
(clover::event&)>::operator()(clover::event&) const (__args#0=...,
this=0xf26820) at /usr/include/c++/5/functional:2271
#10 clover::event::trigger (this=this@entry=0xf267e0) at core/event.cpp:55
#11 0x00007ffff58124f8 in
clover::hard_event::hard_event(clover::command_queue&, unsigned int,
clover::ref_vector<clover::event> const&, std::function<void (clover::event&)>)
(this=0xf267e0, q=...,
command=<optimized out>, deps=..., action=...) at core/event.cpp:126
#12 0x00007ffff57f8ae8 in clover::create<clover::hard_event,
clover::command_queue&, int, clover::ref_vector<clover::event>&,
clEnqueueNDRangeKernel(cl_command_queue, cl_kernel, cl_uint, const size_t*,
const size_t*, const size_t*, cl_uint, _cl_event* const*,
_cl_event**)::<lambda(clover::event&)> > () at ./util/pointer.hpp:230
#13 clEnqueueNDRangeKernel (d_q=0x63d328, d_kern=0xf24798, dims=<optimized
out>, d_grid_offset=<optimized out>, d_grid_size=<optimized out>,
d_block_size=0x7fffffffc430, num_deps=0, d_deps=0x0, rd_ev=0x0)
at api/kernel.cpp:293
#14 0x00000000004014a8 in main ()
(gdb)</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>