From e99158dd85fe789ea5e1a40c29f196fa6c715bcf Mon Sep 17 00:00:00 2001 From: Millian Poquet Date: Tue, 9 Feb 2016 16:30:16 +0100 Subject: [PATCH] Energy, onHostDestruction: ensured ptr existence Our simulator crashed after the main termination, which was caused by the Simgrid energy plugin calling host_energy->update() whereas host_energy was null. This commit simply adds a test about host_energy being null or not before using it in function onHostDestruction of src/surf/plugins/energy.cpp. --- src/surf/plugins/energy.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/surf/plugins/energy.cpp b/src/surf/plugins/energy.cpp index 02ffe37163..2035bb50e8 100644 --- a/src/surf/plugins/energy.cpp +++ b/src/surf/plugins/energy.cpp @@ -235,9 +235,12 @@ static void onHostDestruction(simgrid::s4u::Host& host) { if (dynamic_cast(surf_host)) return; HostEnergy *host_energy = host.extension(); - host_energy->update(); - XBT_INFO("Total energy of host %s: %f Joules", - host.name().c_str(), host_energy->getConsumedEnergy()); + if (host_energy != nullptr) + { + host_energy->update(); + XBT_INFO("Total energy of host %s: %f Joules", + host.name().c_str(), host_energy->getConsumedEnergy()); + } } /* **************************** Public interface *************************** */ -- 2.20.1