From: Millian Poquet Date: Tue, 9 Feb 2016 15:30:16 +0000 (+0100) Subject: Energy, onHostDestruction: ensured ptr existence X-Git-Tag: v3_14~131^2^2^2 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/e99158dd85fe789ea5e1a40c29f196fa6c715bcf 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. --- 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 *************************** */