------- Comment #1 from sergstesh at yahoo dot com  2006-11-18 06:10 -------
Created an attachment (id=12637)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=12637&action=view)
the "C" file causing the failure

If I run this file, it fails with:

"
checkpoint 1
&signal_spectrum_L[0]=80491e0
&signal_spectrum_R[0]=8049140
checkpoint 2
half_number_of_samples=16 bin_number=1
bin_number=1
&signal_spectrum_L[1]=80491e4
checkpoint 3
Segmentation fault
".

Which means that this:

   102      v_r_signal_L.v = *(vFloat *)&signal_spectrum_L[bin_number];

is the offending line.

Please pay attention to these lines:

   157      *(vFloat *)&signal_spectrum_L[bin_number] = v_r_signal_L.v;
   158      *(vFloat *)&signal_spectrum_R[bin_number] = v_r_signal_R.v;
   159  
   160      signal_spectrum_L[number_of_samples_minus_bin_number] =
v_i_signal_L.f[0];
   161      signal_spectrum_R[number_of_samples_minus_bin_number] =
v_i_signal_R.f[0];
   162  
   163      signal_spectrum_L[number_of_samples_minus_bin_number_minus_1] =
v_i_signal_L.f[1];
   164      signal_spectrum_R[number_of_samples_minus_bin_number_minus_1] =
v_i_signal_R.f[1];
   165  
   166      signal_spectrum_L[number_of_samples_minus_bin_number_minus_3] =
v_i_signal_L.f[3];
   167      signal_spectrum_R[number_of_samples_minus_bin_number_minus_3] =
v_i_signal_R.f[3];

- they are well below the offending line #102 in the same loop body, so
at first site they shouldn't matter - segfaults occurs before them.

Well, it's not the case, they do matter, if they are commented out, the
segfault does not occur, the program completes normally.

The above line #157..167 are the missing functional piece I discovered
while debugging, it's writeback.

I'll upload the .i files, as required, so you'll be able to compile
the files and hopefully reproduce the bug.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29884

Reply via email to