!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_1959LowCutoff_W__MO_489351836217_004 Supported species : W random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = W (Configuration in file "config-F-W.xyz") ----------------------------------------------------------------------------------------------------- Energy = 796.8175529314648 Forces: 1 -2.70736130e+01 -5.03499965e+01 -5.40875227e+01 2 -2.30258511e+01 3.47695573e+01 -4.75473592e+01 3 3.47538918e+01 -8.86277710e+01 -3.83895902e+01 4 -6.36837862e+01 3.52692190e+01 4.00416560e+00 5 -7.02350458e+00 -8.28194739e+01 -2.52422560e+01 6 5.15913981e+01 3.15999339e+01 -5.57926503e+01 7 4.87121276e+01 -1.47547512e+02 -1.03837211e+02 8 -7.41830905e+01 -5.56113961e+01 -8.80005969e+00 9 -5.26667662e+01 -4.06956850e+01 -9.09274926e+01 10 -2.30290269e+01 1.00279169e+02 -1.05153049e+02 11 -1.94734169e+01 -7.06008416e+01 1.69359041e+01 12 -6.32126541e+01 8.66490312e+01 1.19148546e+01 13 -3.17328900e+01 -7.23536609e+01 -2.10716387e+02 14 4.92156970e+01 5.97063929e+01 -4.06787156e+01 15 1.95000382e+02 -2.54300815e+01 4.60882309e+01 16 2.70163555e+01 1.62813463e+02 6.81971977e+01 17 -9.80523141e+01 -6.21053197e+01 -1.49791573e+01 18 5.67525739e+01 7.43138887e+01 4.49093736e+01 19 2.48538330e+01 -7.32468597e+01 4.09223151e+01 20 -3.84460891e+01 4.53401708e+01 4.72754281e+01 21 -6.28721544e+01 -6.42257643e+01 4.06823072e+01 22 1.10839440e+02 1.16206818e+02 7.95295620e+01 23 2.86666458e+01 -1.67477262e+01 6.08818171e+01 24 1.44859772e+01 3.35486530e+01 3.08057508e+01 25 -7.44071661e+01 -3.14227869e+01 4.76935903e+01 26 -3.15054012e+01 1.09828297e+02 -4.68191735e+01 27 5.09731289e+01 -1.60798739e+02 6.44364624e+01 28 -1.37354042e+02 1.13612961e+02 3.08517317e+01 29 -4.19915345e+01 -6.36633763e+01 4.62597886e+01 30 5.37548020e+01 8.18945375e+01 -6.86556775e+00 31 7.87249634e+01 -5.98472577e+01 7.93895314e+01 32 4.43920839e+01 8.02621572e+01 8.90581801e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = W (Configuration in file "config-T-W.xyz") ----------------------------------------------------------------------------------------------------- Energy = 796.8175529314648 Forces: 1 -2.70736130e+01 -5.03499965e+01 -5.40875227e+01 2 -2.30258511e+01 3.47695573e+01 -4.75473592e+01 3 3.47538918e+01 -8.86277710e+01 -3.83895902e+01 4 -6.36837862e+01 3.52692190e+01 4.00416560e+00 5 -7.02350458e+00 -8.28194739e+01 -2.52422560e+01 6 5.15913981e+01 3.15999339e+01 -5.57926503e+01 7 4.87121276e+01 -1.47547512e+02 -1.03837211e+02 8 -7.41830905e+01 -5.56113961e+01 -8.80005969e+00 9 -5.26667662e+01 -4.06956850e+01 -9.09274926e+01 10 -2.30290269e+01 1.00279169e+02 -1.05153049e+02 11 -1.94734169e+01 -7.06008416e+01 1.69359041e+01 12 -6.32126541e+01 8.66490312e+01 1.19148546e+01 13 -3.17328900e+01 -7.23536609e+01 -2.10716387e+02 14 4.92156970e+01 5.97063929e+01 -4.06787156e+01 15 1.95000382e+02 -2.54300815e+01 4.60882309e+01 16 2.70163555e+01 1.62813463e+02 6.81971977e+01 17 -9.80523141e+01 -6.21053197e+01 -1.49791573e+01 18 5.67525739e+01 7.43138887e+01 4.49093736e+01 19 2.48538330e+01 -7.32468597e+01 4.09223151e+01 20 -3.84460891e+01 4.53401708e+01 4.72754281e+01 21 -6.28721544e+01 -6.42257643e+01 4.06823072e+01 22 1.10839440e+02 1.16206818e+02 7.95295620e+01 23 2.86666458e+01 -1.67477262e+01 6.08818171e+01 24 1.44859772e+01 3.35486530e+01 3.08057508e+01 25 -7.44071661e+01 -3.14227869e+01 4.76935903e+01 26 -3.15054012e+01 1.09828297e+02 -4.68191735e+01 27 5.09731289e+01 -1.60798739e+02 6.44364624e+01 28 -1.37354042e+02 1.13612961e+02 3.08517317e+01 29 -4.19915345e+01 -6.36633763e+01 4.62597886e+01 30 5.37548020e+01 8.18945375e+01 -6.86556775e+00 31 7.87249634e+01 -5.98472577e+01 7.93895314e+01 32 4.43920839e+01 8.02621572e+01 8.90581801e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==95036== Memcheck, a memory error detector ==95036== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==95036== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==95036== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959LowCutoff_W__MO_489351836217_004 ==95036== ==95036== Conditional jump or move depends on uninitialised value(s) ==95036== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==95036== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==95036== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==95036== by 0x547A3F: ??? (in /usr/bin/python3.6) ==95036== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==95036== by 0x5BA640: ??? (in /usr/bin/python3.6) ==95036== by 0x551B80: ??? (in /usr/bin/python3.6) ==95036== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==95036== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==95036== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==95036== by 0x509D47: ??? (in /usr/bin/python3.6) ==95036== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==95036== ==95036== Conditional jump or move depends on uninitialised value(s) ==95036== at 0x4E63408: internal_utf8_loop (loop.c:298) ==95036== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==95036== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==95036== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==95036== by 0x547A3F: ??? (in /usr/bin/python3.6) ==95036== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==95036== by 0x5BA640: ??? (in /usr/bin/python3.6) ==95036== by 0x551B80: ??? (in /usr/bin/python3.6) ==95036== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==95036== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==95036== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==95036== by 0x509D47: ??? (in /usr/bin/python3.6) ==95036== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==95036== ==95036== Conditional jump or move depends on uninitialised value(s) ==95036== at 0x4E63411: internal_utf8_loop (loop.c:303) ==95036== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==95036== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==95036== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==95036== by 0x547A3F: ??? (in /usr/bin/python3.6) ==95036== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==95036== by 0x5BA640: ??? (in /usr/bin/python3.6) ==95036== by 0x551B80: ??? (in /usr/bin/python3.6) ==95036== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==95036== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==95036== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==95036== by 0x509D47: ??? (in /usr/bin/python3.6) ==95036== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==95036== ==95036== Conditional jump or move depends on uninitialised value(s) ==95036== at 0x4E63458: internal_utf8_loop (loop.c:298) ==95036== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==95036== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==95036== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==95036== by 0x547A3F: ??? (in /usr/bin/python3.6) ==95036== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==95036== by 0x5BA640: ??? (in /usr/bin/python3.6) ==95036== by 0x551B80: ??? (in /usr/bin/python3.6) ==95036== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==95036== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==95036== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==95036== by 0x509D47: ??? (in /usr/bin/python3.6) ==95036== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==95036== ==95036== Conditional jump or move depends on uninitialised value(s) ==95036== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==95036== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==95036== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==95036== by 0x547A3F: ??? (in /usr/bin/python3.6) ==95036== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==95036== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==95036== by 0x4F8388: ??? (in /usr/bin/python3.6) ==95036== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==95036== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==95036== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==95036== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==95036== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==95036== ==95036== ==95036== HEAP SUMMARY: ==95036== in use at exit: 2,765,467 bytes in 1,647 blocks ==95036== total heap usage: 31,862 allocs, 30,215 frees, 60,901,597 bytes allocated ==95036== ==95036== LEAK SUMMARY: ==95036== definitely lost: 0 bytes in 0 blocks ==95036== indirectly lost: 0 bytes in 0 blocks ==95036== possibly lost: 146,155 bytes in 87 blocks ==95036== still reachable: 2,619,312 bytes in 1,560 blocks ==95036== suppressed: 0 bytes in 0 blocks ==95036== Rerun with --leak-check=full to see details of leaked memory ==95036== ==95036== For counts of detected and suppressed errors, rerun with: -v ==95036== Use --track-origins=yes to see where uninitialised values come from ==95036== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11205 from 633) ================================================================================ 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.