[Bug 93370] [r600g] OpenCL atomic_cmpxchg() segmentation fault on Caicos

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon Dec 14 07:59:55 PST 2015


https://bugs.freedesktop.org/show_bug.cgi?id=93370

            Bug ID: 93370
           Summary: [r600g] OpenCL atomic_cmpxchg() segmentation fault on
                    Caicos
           Product: Mesa
           Version: git
          Hardware: x86-64 (AMD64)
                OS: Linux (All)
            Status: NEW
          Severity: major
          Priority: medium
         Component: Drivers/Gallium/r600
          Assignee: dri-devel at lists.freedesktop.org
          Reporter: rivanvx at gmail.com
        QA Contact: dri-devel at lists.freedesktop.org

Created attachment 120495
  --> https://bugs.freedesktop.org/attachment.cgi?id=120495&action=edit
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 at entry=0x7ffff7f31028,
bo=bo at 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 at entry=0x7ffff7f31028,
bo=bo at 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 at entry=0xf26950, pc=pc at entry=0,
input=input at 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 at 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)

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20151214/a26d386d/attachment.html>


More information about the dri-devel mailing list