From ac3c0a434702d5ce378fd8a826032582297fe79f Mon Sep 17 00:00:00 2001 From: Mosè Giordano Date: Sun, 23 Jul 2023 05:44:15 +0100 Subject: mvapich2: Add patch to avoid segmentation fault in `MPIR_Attr_delete_list` (#39058) --- .../mvapich2/mpir_attr_delete_list_segfault.patch | 18 ++++++++++++++++++ var/spack/repos/builtin/packages/mvapich2/package.py | 4 ++++ 2 files changed, 22 insertions(+) create mode 100644 var/spack/repos/builtin/packages/mvapich2/mpir_attr_delete_list_segfault.patch diff --git a/var/spack/repos/builtin/packages/mvapich2/mpir_attr_delete_list_segfault.patch b/var/spack/repos/builtin/packages/mvapich2/mpir_attr_delete_list_segfault.patch new file mode 100644 index 0000000000..ee48dd8e0f --- /dev/null +++ b/var/spack/repos/builtin/packages/mvapich2/mpir_attr_delete_list_segfault.patch @@ -0,0 +1,18 @@ +--- a/src/mpi/attr/attrutil.c ++++ b/src/mpi/attr/attrutil.c +@@ -266,6 +266,7 @@ + corresponding keyval */ + /* Still to do: capture any error returns but continue to + process attributes */ ++ if (p->keyval) { + mpi_errno = MPIR_Call_attr_delete( handle, p ); + + /* We must also remove the keyval reference. If the keyval +@@ -282,6 +283,7 @@ + MPIU_Handle_obj_free( &MPID_Keyval_mem, p->keyval ); + } + } ++ } + + MPIU_Handle_obj_free( &MPID_Attr_mem, p ); + diff --git a/var/spack/repos/builtin/packages/mvapich2/package.py b/var/spack/repos/builtin/packages/mvapich2/package.py index 90520ceda8..0bcd81ec9a 100644 --- a/var/spack/repos/builtin/packages/mvapich2/package.py +++ b/var/spack/repos/builtin/packages/mvapich2/package.py @@ -133,6 +133,10 @@ class Mvapich2(AutotoolsPackage): depends_on("libfabric", when="fabrics=nemesisofi") depends_on("slurm", when="process_managers=slurm") + # Fix segmentation fault in `MPIR_Attr_delete_list`: + # . + patch("mpir_attr_delete_list_segfault.patch", when="@2.3.7") + conflicts("fabrics=psm2", when="@:2.1") # psm2 support was added at version 2.2 filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin") -- cgit v1.2.3-60-g2f50