Bug 63650

Summary: gallium/opencl opencl-examples test failures
Product: Mesa Reporter: Iaroslav Andrusyak <pontostroy>
Component: OtherAssignee: mesa-dev
Status: RESOLVED FIXED QA Contact:
Severity: minor    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments: strace log

Description Iaroslav Andrusyak 2013-04-17 17:30:12 UTC
Mesa-git_2013.04.11
llvm 3.3_2013.04.11
01:00.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Juniper XT [AMD Radeon HD 6000 Series]


r600_isa_cf_by_opcode (is_alu=1, opcode=8, isa=<optimized out>) at r600_isa.h:1221
1221    r600_isa.h: No such file or directory.
(gdb) bt
#0  r600_isa_cf_by_opcode (is_alu=1, opcode=8, isa=<optimized out>) at r600_isa.h:1221
#1  r600_bytecode_from_byte_stream (num_bytes=107, bytes=0x845c270 "", ctx=0xbfffbcf0) at r600_shader.c:633
#2  r600_compute_shader_create (ctx=ctx@entry=0x8051da8, mod=0x8244f40, bytecode=bytecode@entry=0x8244c7c) at r600_shader.c:282
#3  0xb584d120 in evergreen_launch_grid (ctx_=0x8051da8, block_layout=0x8181d80, grid_layout=0x8181d68, pc=0, input=0x8171828) at evergreen_compute.c:485
#4  0xb70fe1ce in _cl_kernel::launch (this=0x817d8b8, q=..., grid_offset=std::vector of length 2, capacity 2 = {...}, grid_size=std::vector of length 1, capacity 1 = {...}, block_size=std::vector of length 1, capacity 1 = {...})
    at core/kernel.cpp:86
#5  0xb7110aeb in operator() (__closure=<optimized out>) at api/kernel.cpp:258
#6  std::_Function_handler<void(_cl_event&), {anonymous}::kernel_op(cl_command_queue, cl_kernel, const std::vector<unsigned int>&, const std::vector<unsigned int>&, const std::vector<unsigned int>&)::<lambda(clover::event&)> >::_M_invoke(const std::_Any_data &, _cl_event &) (__functor=..., __args#0=...) at /usr/include/c++/4.7/functional:1925
#7  0xb70f9eb8 in std::function<void (_cl_event&)>::operator()(_cl_event&) const (this=this@entry=0x808dee8, __args#0=...) at /usr/include/c++/4.7/functional:2310
#8  0xb70f9407 in trigger (this=0x808dec8) at core/event.cpp:43
#9  _cl_event::trigger (this=0x808dec8) at core/event.cpp:41
#10 0xb70f9c5c in clover::hard_event::hard_event(_cl_command_queue&, unsigned int, std::vector<_cl_event*, std::allocator<_cl_event*> >, std::function<void (_cl_event&)>) (this=0x808dec8, q=..., command=4592, 
    deps=std::vector of length 3, capacity -771672529 = {...}, action=...) at core/event.cpp:82
#11 0xb71130fa in clEnqueueNDRangeKernel (q=0x8051d78, kern=0x817d8b8, dims=1, pgrid_offset=0x0, pgrid_size=0xbfffeed0, pblock_size=0xbfffeed0, num_deps=0, deps=0x0, ev=0x0) at api/kernel.cpp:286
#12 0x08049106 in main (argc=1, argv=0xbfffefa4) at hello_world.c:171


cp ./mesa/src/gallium/drivers/r600/r600_isa.h ./opencl-example/

Program received signal SIGSEGV, Segmentation fault.
r600_isa_cf_by_opcode (is_alu=1, opcode=8, isa=<optimized out>) at r600_isa.h:1221
1221            return op - 1;
(gdb) bt
#0  r600_isa_cf_by_opcode (is_alu=1, opcode=8, isa=<optimized out>) at r600_isa.h:1221
#1  r600_bytecode_from_byte_stream (num_bytes=107, bytes=0x845c270 "", ctx=0xbfffbcf0) at r600_shader.c:633
#2  r600_compute_shader_create (ctx=ctx@entry=0x8051da8, mod=0x8244f40, bytecode=bytecode@entry=0x8244c7c) at r600_shader.c:282
#3  0xb584d120 in evergreen_launch_grid (ctx_=0x8051da8, block_layout=0x8181d80, grid_layout=0x8181d68, pc=0, input=0x8171828) at evergreen_compute.c:485
#4  0xb70fe1ce in _cl_kernel::launch (this=0x817d8b8, q=..., grid_offset=std::vector of length 2, capacity 2 = {...}, grid_size=std::vector of length 1, capacity 1 = {...}, block_size=std::vector of length 1, capacity 1 = {...})
    at core/kernel.cpp:86
#5  0xb7110aeb in operator() (__closure=<optimized out>) at api/kernel.cpp:258
#6  std::_Function_handler<void(_cl_event&), {anonymous}::kernel_op(cl_command_queue, cl_kernel, const std::vector<unsigned int>&, const std::vector<unsigned int>&, const std::vector<unsigned int>&)::<lambda(clover::event&)> >::_M_invoke(const std::_Any_data &, _cl_event &) (__functor=..., __args#0=...) at /usr/include/c++/4.7/functional:1925
#7  0xb70f9eb8 in std::function<void (_cl_event&)>::operator()(_cl_event&) const (this=this@entry=0x808dee8, __args#0=...) at /usr/include/c++/4.7/functional:2310
#8  0xb70f9407 in trigger (this=0x808dec8) at core/event.cpp:43
#9  _cl_event::trigger (this=0x808dec8) at core/event.cpp:41
#10 0xb70f9c5c in clover::hard_event::hard_event(_cl_command_queue&, unsigned int, std::vector<_cl_event*, std::allocator<_cl_event*> >, std::function<void (_cl_event&)>) (this=0x808dec8, q=..., command=4592, 
    deps=std::vector of length 3, capacity -771672529 = {...}, action=...) at core/event.cpp:82
#11 0xb71130fa in clEnqueueNDRangeKernel (q=0x8051d78, kern=0x817d8b8, dims=1, pgrid_offset=0x0, pgrid_size=0xbfffeed0, pblock_size=0xbfffeed0, num_deps=0, deps=0x0, ev=0x0) at api/kernel.cpp:286
#12 0x08049106 in main (argc=1, argv=0xbfffefa4) at hello_world.c:171
Comment 1 Tom Stellard 2013-04-17 17:49:31 UTC
Can you post the config.log file from your mesa build?
Comment 2 Tom Stellard 2013-04-17 17:51:38 UTC
What commits of Mesa and LLVM are you using?

You may want to try updating your mesa and llvm to the latest versions, if you haven't already.
Comment 3 Iaroslav Andrusyak 2013-04-17 18:37:35 UTC
I build with OBS and do not have all logs.
2-3 weeks ago, all works.

I had some problem with the libclc corrected in this way

./configure.py --prefix=/usr --with-llvm-config=/usr/bin/llvm-config

for 32/64 bit i got this

OPT r600--/lib/builtins.opt.cedar.bc
LLVM-CXX utils/prepare-builtins.o
LINK utils/prepare-builtins
/usr/lib/libLLVMSupport.a(Signals.o): In function `llvm::sys::PrintStackTrace(_IO_FILE*)':
Signals.cpp:(.text+0x565): undefined reference to `dladdr'
Signals.cpp:(.text+0x6ca): undefined reference to `dladdr'
clang: error: linker command failed with exit code 1 (use -v to see invocation)

sed -i -e 's|-lLLVMSupport|-lLLVMSupport -ldl|g' Makefile

for 64 bit

the problem of finding a header file in /usr/lib64/clang/3.3/include/

sed -i -e 's|-I/usr/include|-I/usr/include -I%_libdir/clang/3.3/include/|g' Makefile
sed -i -e 's|.bc.d -target r600--|bc.d -target r600-- -I%_libdir/clang/3.3/include/|g' Makefile
sed -i -e 's|/usr/lib/|%_libdir/|g' Makefile
Comment 4 Iaroslav Andrusyak 2013-04-17 18:38:27 UTC
Created attachment 78147 [details]
strace log
Comment 5 Tom Stellard 2013-05-28 23:43:07 UTC
I can't reproduce this any more.  Are you still seeing this bug?
Comment 6 Iaroslav Andrusyak 2013-06-09 09:00:08 UTC
all test passes.
71 passes, 0 fails

mesa-git 2013.06.09
llvm 3.4svn 2013.06.09

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.