Hello!
This code makes nvcc crash.
Specifially these lines make it segfault:
int pix_ua_r = pix_lu_r + (i - i_lu * nw / w) * (pix_ru_r - pix_lu_r) / (i_ru * nw / w - i_lu * nw / w);
int pix_ua_g = pix_lu_g + (i - i_lu * nw / w) * (pix_ru_g - pix_lu_g) / (i_ru * nw / w - i_lu * nw / w);
int pix_ua_b = pix_lu_b + (i - i_lu * nw / w) * (pix_ru_b - pix_lu_b) / (i_ru * nw / w - i_lu * nw / w);
int pix_da_r = pix_ld_r + (i - i_ld * nw / w) * (pix_rd_r - pix_ld_r) / (i_rd * nw / w - i_ld * nw / w);
int pix_da_g = pix_ld_g + (i - i_ld * nw / w) * (pix_rd_g - pix_ld_g) / (i_rd * nw / w - i_ld * nw / w);
int pix_da_b = pix_ld_b + (i - i_ld * nw / w) * (pix_rd_b - pix_ld_b) / (i_rd * nw / w - i_ld * nw / w);
The crash:
$ nvcc -c -g crash.cu -I /usr/local/gpu-sdk/shared/inc -I /usr/local/gpu-sdk/C/common/inc
crash.cu(63): warning: variable "pix_ld_r" was declared but never referenced
crash.cu(64): warning: variable "pix_ld_g" was declared but never referenced
crash.cu(65): warning: variable "pix_ld_b" was declared but never referenced
crash.cu(63): warning: variable "pix_ld_r" was declared but never referenced
crash.cu(64): warning: variable "pix_ld_g" was declared but never referenced
crash.cu(65): warning: variable "pix_ld_b" was declared but never referenced
Signal: Floating point exception in Code_Expansion phase.
<input>(0): Error: Signal Floating point exception in phase Code_Expansion -- processing aborted
*** Internal stack backtrace:
/usr/local/cuda/open64/lib//be() [0x830ae36]
/usr/local/cuda/open64/lib//be() [0x830b814]
/usr/local/cuda/open64/lib//be() [0x830bba0]
/usr/local/cuda/open64/lib//be() [0x830b087]
/usr/local/cuda/open64/lib//be() [0x830be46]
[0x4001d400]
/usr/local/cuda/open64/lib//be() [0x81cd1c1]
/usr/local/cuda/open64/lib//be() [0x81cd921]
/usr/local/cuda/open64/lib//be() [0x81a07a6]
/usr/local/cuda/open64/lib//be() [0x81ab75f]
/usr/local/cuda/open64/lib//be() [0x81ab527]
/usr/local/cuda/open64/lib//be() [0x81acf0b]
/usr/local/cuda/open64/lib//be() [0x81abf5f]
/usr/local/cuda/open64/lib//be() [0x81b0831]
/usr/local/cuda/open64/lib//be() [0x81b14bc]
/usr/local/cuda/open64/lib//be() [0x81b1c59]
/usr/local/cuda/open64/lib//be() [0x818d614]
/usr/local/cuda/open64/lib//be() [0x804c501]
/usr/local/cuda/open64/lib//be() [0x804d297]
/usr/local/cuda/open64/lib//be() [0x804e60b]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0x40184c76]
/usr/local/cuda/open64/lib//be() [0x804aa81]
nvopencc INTERNAL ERROR: /usr/local/cuda/open64/lib//be died due to signal 4
Version output:
$nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2010 NVIDIA Corporation
Built on Thu_Oct_14_17:26:40_PDT_2010
Cuda compilation tools, release 3.2, V0.2.1221
I run 32-bit debian:
Linux 2.6.32-4-686 #1 SMP Tue Apr 6 07:02:27 UTC 2010 i686 GNU/
Linux
Any ideas?
Thank you!
crash.cu (5.33 KB)