SEGFAULT across all MPI ranks during initial regridHierarchy() call:
Crash location:
IBTK::PatchMathOps::div() → INSStaggeredHierarchyIntegrator::regridProjection() → initializeCompositeHierarchyData()
Stack trace (all 8 MPI ranks identical):
main (example.cpp:375)
→ regridHierarchy()
→ initializeCompositeHierarchyData()
→ initializeCompositeHierarchyDataSpecialized()
→ regridProjection()
→ div() [CRASH]
System:
- IBAMR 0.18.0
- 8 MPI processes (Ubuntu, OpenMPI)
- Occurs at startup during first regrid
- Last 40 lines of output:
==========================================
#0 0x00007ffff5ec68f7 in IBTK::PatchMathOps::div(SAMRAI::tbox::Pointer<SAMRAI::pdat::CellData<2, double> >, double, SAMRAI::tbox::Pointer<SAMRAI::pdat::SideData<2, double> >, double, SAMRAI::tbox::Pointer<SAMRAI::pdat::CellData<2, double> >, SAMRAI::tbox::Pointer<SAMRAI::hier::Patch<2> >, int, int) const () from /home/vinod/autoibamr/packages/IBAMR-0.18.0/lib/libIBTK2d.so
#1 0x00007ffff5e5314e in IBTK::HierarchyMathOps::div(int, SAMRAI::tbox::Pointer<SAMRAI::pdat::CellVariable<2, double> >, double, int, SAMRAI::tbox::Pointer<SAMRAI::pdat::SideVariable<2, double> >, SAMRAI::tbox::Pointer<IBTK::HierarchyGhostCellInterpolation>, double, bool, double, int, SAMRAI::tbox::Pointer<SAMRAI::pdat::CellVariable<2, double> >, int, int) () from /home/vinod/autoibamr/packages/IBAMR-0.18.0/lib/libIBTK2d.so
#2 0x00007ffff724c17f in IBAMR::INSStaggeredHierarchyIntegrator::regridProjection(bool) () from /home/vinod/autoibamr/packages/IBAMR-0.18.0/lib/libIBAMR2d.so
#3 0x00007ffff721e0ea in IBAMR::INSStaggeredHierarchyIntegrator::initializeCompositeHierarchyDataSpecialized(double, bool) () from /home/vinod/autoibamr/packages/IBAMR-0.18.0/lib/libIBAMR2d.so
#4 0x00007ffff621d1b4 in IBTK::HierarchyIntegrator::initializeCompositeHierarchyData(double, bool) () from /home/vinod/autoibamr/packages/IBAMR-0.18.0/lib/libIBTK2d.so
#5 0x00007ffff6239d02 in IBTK::HierarchyIntegrator::regridHierarchy() () from /home/vinod/autoibamr/packages/IBAMR-0.18.0/lib/libIBTK2d.so
#6 0x00005555555d2ff4 in main (argc=5, argv=0x7fffffffd0d8) at /mnt/d/Simaultion_all_IB/ZJproject/Zhonglu_Lin_Simualtion/Year_end/Refined/V1/example.cpp:375
A debugging session is active.
Inferior 1 [process 4496] will be killed.
Quit anyway? (y or n) [answered Y; input not from terminal]
A debugging session is active.
Inferior 1 [process 4495] will be killed.
Quit anyway? (y or n) [answered Y; input not from terminal]
--------------------------------------------------------------------------
mpirun has exited due to process rank 0 with PID 0 on
node Vinod exiting improperly. There are three reasons this could occur:
1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.
2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"
3. this process called "MPI_Abort" or "orte_abort" and the mca parameter
orte_create_session_dirs is set to false. In this case, the run-time cannot
detect that the abort call was an abnormal termination. Hence, the only
error message you will receive is this one.
This may have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).
You can avoid this message by specifying -quiet on the mpirun command line.
--------------------------------------------------------------------------