p2p exchange operation causes assertion failure
For a particular setup, a TurTLE-derived code crashes consistently. Two interacting particles (ghost collision, rod-like particles, actual code is in gitlab.mpcdf.mpg.de:/josea/sedimenting-rods.git), on 512 mpi processes, sometimes lead to TurTLE getting stuck (with NDEBUG) --- or to emit the assertion failure (no NDEBUG):
many_NSVEcylinder_collisions-single-v3.12.1.post2+g2c95949: /home/arguedas/ttf/titan/installs/py3/include/TurTLE/particles/p2p/p2p_distr_mpi.hpp:547: void p2p_distr_mpi<partsize_t, real_number>::compute_distr(computer_class&, const partsize_t*, real_number*, std::unique_ptr<real_number >*, int, partsize_t*) [with computer_class = p2p_ghost_collisions<double, long long int>; int size_particle_positions = 6; int size_particle_rhs = 6; partsize_t = long long int; real_number = double]: Assertion `willsendall[idxproc*nb_processes_involved + idxtest] == willrecvall[idxtest*nb_processes_involved + idxproc]' failed.
This depends on the interaction cutoff, as can be seen from the attached plot.