From 28bdebd3c045f078dc28293fe5fc05e1dd606787 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer <akohlmey@gmail.com> Date: Tue, 28 Mar 2017 07:50:48 -0400 Subject: [PATCH] avoid segfault when calling PPPM*::memory_usage() before grid communication is initialized --- src/KOKKOS/pppm_kokkos.cpp | 2 +- src/KSPACE/pppm.cpp | 2 +- src/KSPACE/pppm_disp.cpp | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/KOKKOS/pppm_kokkos.cpp b/src/KOKKOS/pppm_kokkos.cpp index c59bd89e51..3ad7334d2f 100644 --- a/src/KOKKOS/pppm_kokkos.cpp +++ b/src/KOKKOS/pppm_kokkos.cpp @@ -3158,7 +3158,7 @@ double PPPMKokkos<DeviceType>::memory_usage() if (peratom_allocate_flag) bytes += 6 * nbrick * sizeof(FFT_SCALAR); - bytes += cg->memory_usage(); + if (cg) bytes += cg->memory_usage(); return bytes; } diff --git a/src/KSPACE/pppm.cpp b/src/KSPACE/pppm.cpp index 156e867f34..80328a2d6f 100644 --- a/src/KSPACE/pppm.cpp +++ b/src/KSPACE/pppm.cpp @@ -3085,7 +3085,7 @@ double PPPM::memory_usage() bytes += 2 * nfft_both * sizeof(FFT_SCALAR);; } - bytes += cg->memory_usage(); + if (cg) bytes += cg->memory_usage(); return bytes; } diff --git a/src/KSPACE/pppm_disp.cpp b/src/KSPACE/pppm_disp.cpp index 315bf16e4d..5d6c2042be 100644 --- a/src/KSPACE/pppm_disp.cpp +++ b/src/KSPACE/pppm_disp.cpp @@ -8240,7 +8240,7 @@ double PPPMDisp::memory_usage() bytes += 6 * nfft_both * sizeof(double); // vg bytes += nfft_both * sizeof(double); // greensfn bytes += nfft_both * 3 * sizeof(FFT_SCALAR); // density_FFT, work1, work2 - bytes += cg->memory_usage(); + if (cg) bytes += cg->memory_usage(); } if (function[1] + function[2] + function[3]) { @@ -8250,7 +8250,7 @@ double PPPMDisp::memory_usage() bytes += 6 * nfft_both_6 * sizeof(double); // vg bytes += nfft_both_6 * sizeof(double); // greensfn bytes += nfft_both_6 * (mixing + 2) * sizeof(FFT_SCALAR); // density_FFT, work1, work2 - bytes += cg_6->memory_usage(); + if (cg_6) bytes += cg_6->memory_usage(); } return bytes; } -- GitLab