!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! VERIFICATION CHECK: vc-memory-leak !!!!! !!!!! !!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Description: Check that the model has no memory leaks. This is tested using the Valgrind memory debugging tool (http://valgrind.org) by performing a series of energy and force calculations on a randomly distorted face-centered cubic (FCC) cube base structure for both non-periodic and periodic boundary conditions. Separate configurations are tested for each species supported by the model, as well as one containing a random distribution of all species. Configurations used for testing are provided as auxiliary files. Author: Ellad Tadmor ----------------------------------------------------------------------------------------------------- Results for KIM Model : Morse_Shifted_GirifalcoWeizer_1959HighCutoff_Cr__MO_859700307573_004 Supported species : Cr random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Cr (Configuration in file "config-F-Cr.xyz") ----------------------------------------------------------------------------------------------------- Energy = 145.6545853135251 Forces: 1 -6.51744864e+00 -1.34469965e+01 -1.44986412e+01 2 -1.59302951e+01 2.50089788e+01 -1.64928888e+01 3 5.77977910e+00 -7.46695006e+00 3.53776434e+00 4 -6.55876343e+00 1.14043671e+01 1.06550019e+01 5 2.02980114e+01 -3.28490701e+01 -3.21473756e+00 6 6.94239005e+00 3.20818019e+00 -1.15604041e+01 7 7.26144428e+00 -4.38728471e+01 -4.02268701e+01 8 -2.20990388e+01 -1.95120067e+01 8.08848232e+00 9 -1.99109408e+01 -1.15133693e+01 -2.89354742e+01 10 -6.71426142e+00 3.28952171e+01 -3.17627145e+01 11 -9.55090484e+00 -2.66192847e+01 2.76090588e+01 12 -1.37669580e+01 1.78969811e+01 9.14269578e+00 13 -8.06172402e+00 -1.51846234e+01 -6.73873280e+01 14 1.18330513e+01 1.55053097e+01 -1.09162934e+01 15 5.48997892e+01 -1.68588219e+01 1.28432191e+01 16 4.51422613e+00 4.39279392e+01 2.27518345e+01 17 -2.16980334e+01 -1.09422006e+01 -8.89146508e+00 18 5.14310937e+00 2.57998326e+01 -2.85615573e+01 19 6.65887378e+00 -3.30041838e+01 1.99973926e+01 20 -1.42899915e+01 1.26872880e+01 1.55443964e+01 21 -1.98250321e+01 -1.43904660e+01 8.27392848e+00 22 2.67359050e+01 3.74274569e+01 3.28999522e+01 23 6.67982609e+00 -2.48547428e+00 9.58713806e+00 24 1.32130882e+01 9.11565697e+00 1.62226113e+01 25 -1.53567624e+01 -1.45308383e+01 -7.10940535e+00 26 -8.24738332e+00 2.88816472e+01 -1.70022256e+01 27 2.27250940e+01 -5.07095500e+01 2.12666725e+01 28 -4.22328982e+01 3.80832784e+01 1.03121850e+01 29 -1.36110122e+01 -2.25121732e+01 7.25927848e+00 30 1.46593118e+01 2.43572444e+01 1.30042071e+01 31 2.32440173e+01 -1.20635917e+01 1.49968411e+01 32 1.37835312e+01 2.17630701e+01 2.25673455e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Cr (Configuration in file "config-T-Cr.xyz") ----------------------------------------------------------------------------------------------------- Energy = 145.6545853135251 Forces: 1 -6.51744864e+00 -1.34469965e+01 -1.44986412e+01 2 -1.59302951e+01 2.50089788e+01 -1.64928888e+01 3 5.77977910e+00 -7.46695006e+00 3.53776434e+00 4 -6.55876343e+00 1.14043671e+01 1.06550019e+01 5 2.02980114e+01 -3.28490701e+01 -3.21473756e+00 6 6.94239005e+00 3.20818019e+00 -1.15604041e+01 7 7.26144428e+00 -4.38728471e+01 -4.02268701e+01 8 -2.20990388e+01 -1.95120067e+01 8.08848232e+00 9 -1.99109408e+01 -1.15133693e+01 -2.89354742e+01 10 -6.71426142e+00 3.28952171e+01 -3.17627145e+01 11 -9.55090484e+00 -2.66192847e+01 2.76090588e+01 12 -1.37669580e+01 1.78969811e+01 9.14269578e+00 13 -8.06172402e+00 -1.51846234e+01 -6.73873280e+01 14 1.18330513e+01 1.55053097e+01 -1.09162934e+01 15 5.48997892e+01 -1.68588219e+01 1.28432191e+01 16 4.51422613e+00 4.39279392e+01 2.27518345e+01 17 -2.16980334e+01 -1.09422006e+01 -8.89146508e+00 18 5.14310937e+00 2.57998326e+01 -2.85615573e+01 19 6.65887378e+00 -3.30041838e+01 1.99973926e+01 20 -1.42899915e+01 1.26872880e+01 1.55443964e+01 21 -1.98250321e+01 -1.43904660e+01 8.27392848e+00 22 2.67359050e+01 3.74274569e+01 3.28999522e+01 23 6.67982609e+00 -2.48547428e+00 9.58713806e+00 24 1.32130882e+01 9.11565697e+00 1.62226113e+01 25 -1.53567624e+01 -1.45308383e+01 -7.10940535e+00 26 -8.24738332e+00 2.88816472e+01 -1.70022256e+01 27 2.27250940e+01 -5.07095500e+01 2.12666725e+01 28 -4.22328982e+01 3.80832784e+01 1.03121850e+01 29 -1.36110122e+01 -2.25121732e+01 7.25927848e+00 30 1.46593118e+01 2.43572444e+01 1.30042071e+01 31 2.32440173e+01 -1.20635917e+01 1.49968411e+01 32 1.37835312e+01 2.17630701e+01 2.25673455e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==17705== Memcheck, a memory error detector ==17705== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==17705== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==17705== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959HighCutoff_Cr__MO_859700307573_004 ==17705== ==17705== Conditional jump or move depends on uninitialised value(s) ==17705== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==17705== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==17705== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==17705== by 0x547A3F: ??? (in /usr/bin/python3.6) ==17705== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==17705== by 0x5BA640: ??? (in /usr/bin/python3.6) ==17705== by 0x551B80: ??? (in /usr/bin/python3.6) ==17705== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==17705== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==17705== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==17705== by 0x509D47: ??? (in /usr/bin/python3.6) ==17705== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==17705== ==17705== Conditional jump or move depends on uninitialised value(s) ==17705== at 0x4E63408: internal_utf8_loop (loop.c:298) ==17705== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==17705== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==17705== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==17705== by 0x547A3F: ??? (in /usr/bin/python3.6) ==17705== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==17705== by 0x5BA640: ??? (in /usr/bin/python3.6) ==17705== by 0x551B80: ??? (in /usr/bin/python3.6) ==17705== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==17705== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==17705== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==17705== by 0x509D47: ??? (in /usr/bin/python3.6) ==17705== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==17705== ==17705== Conditional jump or move depends on uninitialised value(s) ==17705== at 0x4E63411: internal_utf8_loop (loop.c:303) ==17705== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==17705== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==17705== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==17705== by 0x547A3F: ??? (in /usr/bin/python3.6) ==17705== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==17705== by 0x5BA640: ??? (in /usr/bin/python3.6) ==17705== by 0x551B80: ??? (in /usr/bin/python3.6) ==17705== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==17705== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==17705== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==17705== by 0x509D47: ??? (in /usr/bin/python3.6) ==17705== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==17705== ==17705== Conditional jump or move depends on uninitialised value(s) ==17705== at 0x4E63458: internal_utf8_loop (loop.c:298) ==17705== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==17705== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==17705== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==17705== by 0x547A3F: ??? (in /usr/bin/python3.6) ==17705== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==17705== by 0x5BA640: ??? (in /usr/bin/python3.6) ==17705== by 0x551B80: ??? (in /usr/bin/python3.6) ==17705== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==17705== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==17705== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==17705== by 0x509D47: ??? (in /usr/bin/python3.6) ==17705== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==17705== ==17705== Conditional jump or move depends on uninitialised value(s) ==17705== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==17705== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==17705== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==17705== by 0x547A3F: ??? (in /usr/bin/python3.6) ==17705== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==17705== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==17705== by 0x4F8388: ??? (in /usr/bin/python3.6) ==17705== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==17705== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==17705== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==17705== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==17705== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==17705== ==17705== ==17705== HEAP SUMMARY: ==17705== in use at exit: 2,765,467 bytes in 1,647 blocks ==17705== total heap usage: 31,862 allocs, 30,215 frees, 60,901,883 bytes allocated ==17705== ==17705== LEAK SUMMARY: ==17705== definitely lost: 0 bytes in 0 blocks ==17705== indirectly lost: 0 bytes in 0 blocks ==17705== possibly lost: 146,155 bytes in 87 blocks ==17705== still reachable: 2,619,312 bytes in 1,560 blocks ==17705== suppressed: 0 bytes in 0 blocks ==17705== Rerun with --leak-check=full to see details of leaked memory ==17705== ==17705== For counts of detected and suppressed errors, rerun with: -v ==17705== Use --track-origins=yes to see where uninitialised values come from ==17705== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11189 from 636) ================================================================================ To pass this verification check the number of bytes that are "definitely lost" or "indirectly lost" must be zero. NOTE that Valgrind will typically report non-zero "possibly lost" bytes due to Python's internal memory allocation and garbage collection that it does not monitor. Full Valgrind output written to auxiliary file "valgrind.out" Grade: P Comment: No memory leak detected.