From c22c94575e8fc76a225e97ba3a0660b41fad54a2 Mon Sep 17 00:00:00 2001 From: Andre Vehreschild Date: Wed, 24 Aug 2022 16:50:15 +0200 Subject: [PATCH 1/2] Fix imbalanced calloc/MPI_free_mem. Memory allocated by calloc was errorneously freeed using MPI_free_mem, which might confuse Intel MPI. This should fix a bit more of #762. --- src/runtime-libraries/mpi/mpi_caf.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/runtime-libraries/mpi/mpi_caf.c b/src/runtime-libraries/mpi/mpi_caf.c index aba4aaab..ed2b4b5b 100644 --- a/src/runtime-libraries/mpi/mpi_caf.c +++ b/src/runtime-libraries/mpi/mpi_caf.c @@ -1069,8 +1069,7 @@ finalize_internal(int status_code) dprint("MPI_Win_free(%p)\n", p); ierr = MPI_Win_free(p); chk_err(ierr); - ierr = MPI_Free_mem(cur_tok->token); - chk_err(ierr); + free(cur_tok->token); #else // GCC_GE_7 ierr = MPI_Win_free(p); chk_err(ierr); From 74595fe367a09b6c3e18680f5733c11736bfdb85 Mon Sep 17 00:00:00 2001 From: Andre Vehreschild Date: Thu, 25 Aug 2022 15:37:15 +0200 Subject: [PATCH 2/2] Fix accessing uninitalized object. --- src/runtime-libraries/mpi/mpi_caf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/runtime-libraries/mpi/mpi_caf.c b/src/runtime-libraries/mpi/mpi_caf.c index ed2b4b5b..d147ba6d 100644 --- a/src/runtime-libraries/mpi/mpi_caf.c +++ b/src/runtime-libraries/mpi/mpi_caf.c @@ -1116,9 +1116,13 @@ finalize_internal(int status_code) } #endif +#ifdef HELPER pthread_mutex_lock(&lock_am); caf_is_finalized = 1; pthread_mutex_unlock(&lock_am); +#else + caf_is_finalized = 1; +#endif free(sync_handles); dprint("Finalisation done!!!\n"); }