diff options
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/mvapich2/mpir_attr_delete_list_segfault.patch | 18 | ||||
-rw-r--r-- | var/spack/repos/builtin/packages/mvapich2/package.py | 4 |
2 files changed, 22 insertions, 0 deletions
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`: + # <https://lists.osu.edu/pipermail/mvapich-discuss/2023-January/010695.html>. + 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") |