Hi, To recap: I can build ITK 4.1.0 and run the test suite on Debian/unstable amd64 machine. However, the 32-bit i86 fails on seven FFT tests.
Yaroslav provided some output from a Debug run: > PlanRigor: FFTW_EXHAUSTIVE (8) > ITKFFTTestDriver: > /tmp/buildd/insighttoolkit4-4.1.0/Modules/Filtering/FFT/include/itkFFTWCommon.h:247: > static fftwf_plan_s* itk::fftw::Proxy<float>::Plan_dft_r2c(int, const int*, > itk::fftw::Proxy<float>::PixelType*, float (*)[2], unsigned int, int, bool): > Assertion `plan != __null' failed. > Aborted > > Happens on the 2nd invocation of > > Breakpoint 1, itk::fftw::Proxy<float>::Plan_dft_r2c (rank=1, n=0x86f75a0, > in=0x86f9758, out=0x86f8028, flags=24, threads=8, canDestroyInput=false) at > /tmp/buildd/insighttoolkit4-4.1.0/Modules/Filtering/FFT/include/itkFFTWCommon.h:242 > 242 plan = fftwf_plan_dft_r2c(rank,n,in,out,roflags); > > > ie whenever rank=2 and it is ok with rank=1 Has anyone done further investigation of this issue? I just ran "ITKFFTTestDriver itkFFTWF_FFTTest" through valgrind with the following results. Any ideas of what to look at next are welcomed. Thanks, -Steve PlanRigor: FFTW_EXHAUSTIVE (8) ==13128== Invalid read of size 4 ==13128== at 0x730FA07: fftwf_execute (in /usr/lib/libfftw3f.so.3.3.0) ==13128== by 0x82006E6: itk::FFTWForwardFFTImageFilter<itk::Image<float, 1u>, itk::Image<std::complex<float>, 1u> >::GenerateData() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/bin/ITKFFTTestDriver) ==13128== by 0x4947378: itk::ProcessObject::UpdateOutputData(itk::DataObject*) (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x4952DC2: itk::DataObject::UpdateOutputData() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x4952CFF: itk::DataObject::Update() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x49436C5: itk::ProcessObject::Update() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x81FD526: int test_fft<float, 1u, itk::FFTWForwardFFTImageFilter<itk::Image<float, 1u>, itk::Image<std::complex<float>, 1u> >, itk::FFTWInverseFFTImageFilter<itk::Image<std::complex<float>, 1u>, itk::Image<float, 1u> > >(unsigned int*) (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/bin/ITKFFTTestDriver) ==13128== by 0x81F69C6: itkFFTWF_FFTTest(int, char**) (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/bin/ITKFFTTestDriver) ==13128== by 0x9370E15: (below main) (libc-start.c:228) ==13128== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==13128== ==13128== ==13128== Process terminating with default action of signal 11 (SIGSEGV): dumping core ==13128== Access not within mapped region at address 0x0 ==13128== at 0x730FA07: fftwf_execute (in /usr/lib/libfftw3f.so.3.3.0) ==13128== by 0x82006E6: itk::FFTWForwardFFTImageFilter<itk::Image<float, 1u>, itk::Image<std::complex<float>, 1u> >::GenerateData() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/bin/ITKFFTTestDriver) ==13128== by 0x4947378: itk::ProcessObject::UpdateOutputData(itk::DataObject*) (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x4952DC2: itk::DataObject::UpdateOutputData() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x4952CFF: itk::DataObject::Update() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x49436C5: itk::ProcessObject::Update() (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/lib/libITKCommon-4.1.so.1) ==13128== by 0x81FD526: int test_fft<float, 1u, itk::FFTWForwardFFTImageFilter<itk::Image<float, 1u>, itk::Image<std::complex<float>, 1u> >, itk::FFTWInverseFFTImageFilter<itk::Image<std::complex<float>, 1u>, itk::Image<float, 1u> > >(unsigned int*) (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/bin/ITKFFTTestDriver) ==13128== by 0x81F69C6: itkFFTWF_FFTTest(int, char**) (in /home/steve/Packages/debian-med/trunk/packages/insighttoolkit/build-area/insighttoolkit4-4.1.0/BUILD/bin/ITKFFTTestDriver) ==13128== by 0x9370E15: (below main) (libc-start.c:228) ==13128== If you believe this happened as a result of a stack ==13128== overflow in your program's main thread (unlikely but ==13128== possible), you can try to increase the size of the ==13128== main thread stack using the --main-stacksize= flag. ==13128== The main thread stack size used in this run was 8388608.
signature.asc
Description: Digital signature