Segmentation fault with fft2d/mpi_with_fftwmpi2d
Created originally on Bitbucket by paugier (Pierre Augier)
Problem detected by @apatlpo (https://bitbucket.org/fluiddyn/fluidsim_ocean/issues/3/segmentation-fault-for-grid-size-larger)
Running the attached file with mpirun -np 16 python investigate_segfault.py
can lead to a segmentation fault!
Note that the script only uses fft2d.mpi_with_fftwmpi2d
so a bug should be found in the files used to build this extension (?)
Note that we do nearly nothing in Python. Can we reproduce this bug with a pure C++ code?
mpirun -np 16 python investigate_segfault.py
--------
nb_proc: 16
N0 = 2048 ; N1 = 2048
Initialization (FFT2DMPIWithFFTWMPI2D) done in 8.076862 s
tests (FFT2DMPIWithFFTWMPI2D)...
OK!
bench from cpp...
time fft (FFT2DMPIWithFFTWMPI2D): 0.022606 s
[kth:20887] *** Process received signal ***
[kth:20887] Signal: Segmentation fault (11)
[kth:20887] Signal code: Address not mapped (1)
[kth:20887] Failing at address: 0x56082b18ac60
[kth:20887] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890)[0x7fd8981b4890]
[kth:20887] [ 1] /lib/x86_64-linux-gnu/libc.so.6(+0xbb6d3)[0x7fd8976c76d3]
[kth:20887] [ 2] /home/pierre/Dev/fluidfft/fluidfft/fft2d/mpi_with_fftwmpi2d.cpython-37m-x86_64-linux-gnu.so(_ZTv0_n80_N21FFT2DMPIWithFFTWMPI2D4ifftEPSt7complexIdEPd+0x24)[0x7fd8667aad74]
[kth:20887] [ 3] /home/pierre/Dev/fluidfft/fluidfft/fft2d/mpi_with_fftwmpi2d.cpython-37m-x86_64-linux-gnu.so(_ZN7BaseFFT5benchEiPd+0x245)[0x7fd8667acac5]
[kth:20887] [ 4] /home/pierre/Dev/fluidfft/fluidfft/fft2d/mpi_with_fftwmpi2d.cpython-37m-x86_64-linux-gnu.so(+0x41d0f)[0x7fd86679cd0f]
[kth:20887] [ 5] /home/pierre/Dev/fluidfft/fluidfft/fft2d/mpi_with_fftwmpi2d.cpython-37m-x86_64-linux-gnu.so(+0x42999)[0x7fd86679d999]
[kth:20887] [ 6] python(_PyMethodDef_RawFastCallKeywords+0x248)[0x5608294aacb8]
[kth:20887] [ 7] python(_PyMethodDescr_FastCallKeywords+0x4a)[0x560829645bea]
[kth:20887] [ 8] python(_PyEval_EvalFrameDefault+0x8b75)[0x560829499185]
[kth:20887] [ 9] python(_PyEval_EvalCodeWithName+0xa5a)[0x56082956933a]
[kth:20887] [10] python(PyEval_EvalCode+0x23)[0x560829569413]
[kth:20887] [11] python(PyRun_FileExFlags+0x16b)[0x5608295a434b]
[kth:20887] [12] python(PyRun_SimpleFileExFlags+0xef)[0x5608295a453f]
[kth:20887] [13] python(+0x68958)[0x56082949d958]
[kth:20887] [14] python(_Py_UnixMain+0x7b)[0x56082949e07b]
[kth:20887] [15] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fd89762db97]
[kth:20887] [16] python(_start+0x2a)[0x56082949967a]
[kth:20887] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 15 with PID 0 on node kth exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------