Segmentation fault when a simple cuda with loop appears in an inlined module function
|
|
Bugzilla Link |
799 |
Created on |
Dec 14, 2010 13:21 |
Version |
svn |
OS |
All |
Architecture |
PC |
Attachments |
cudamodbug.tar.gz |
Extended Description
Created an attachment (id=781)
3 sac source files
It would appear that module support for the cuda backend is broken. The testcase in this bug report uses a very simple with loop that has been verified as cuderisable.
The tarboll contains 3 sac source files.
A) One single program with a call to an inlined function in the same source file.
B) One module with an inlined function
C) One separate program that calls the above module
Program A compiles and runs with "-t cuda". B and C compile with "-t cuda" but seqfault at runtime. All tests were run with an up-to-date product compiler. This is the backtrace from gdb:
#0 0x00007fffeec44bda in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib/libstdc++.so.6
#1 0x00007ffff1f86366 in ?? () from /usr/lib/libcudart.so.3
#2 0x00007ffff1f8652b in ?? () from /usr/lib/libcudart.so.3
#3 0x00007ffff1f815f9 in ?? () from /usr/lib/libcudart.so.3
#4 0x00007ffff1f79793 in __cudaRegisterFatBinary () from /usr/lib/libcudart.so.3
#5 0x00007ffff77b64f0 in __sti____cudaRegisterAll_42_tmpxft_00001bcd_00000000_4_globals_cpp1_ii_4a193b93() () from ./libOdefunctionMod.so
#6 0x00007ffff77b6556 in __do_global_ctors_aux () from ./libOdefunctionMod.so
#7 0x00007ffff77b21a3 in _init () from ./libOdefunctionMod.so
#8 0x00007fffffffe9a8 in ?? ()
#9 0x00007ffff7deb8d9 in call_init () from /lib/ld-linux-x86-64.so.2
#10 0x00007ffff7deba17 in _dl_init_internal () from /lib/ld-linux-x86-64.so.2
#11 0x00007ffff7ddeaca in _dl_start_user () from /lib/ld-linux-x86-64.so.2
#12 0x0000000000000001 in ?? ()
#13 0x00007fffffffec14 in ?? ()
#14 0x0000000000000000 in ?? ()