[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Plans for ITK version 4



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.

Attachment: signature.asc
Description: Digital signature


Reply to: