!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 and Daniel S. Karls ----------------------------------------------------------------------------------------------------- Results for KIM Model : EAM_CubicNaturalSpline_ErcolessiAdams_1994_Al__MO_800509458712_002 Supported species : Al random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Al (Configuration in file "config-F-Al.xyz") ----------------------------------------------------------------------------------------------------- Energy = -65.44062280723655 Forces: 1 -1.02346985e+00 -1.38051165e+00 -2.10957597e+00 2 -1.24640445e+00 2.60751640e+00 -1.31900139e+00 3 1.97428796e+00 -1.31977593e+00 2.08885146e+00 4 -6.14313419e-01 2.24174030e+00 1.69179850e+00 5 1.28079804e+00 -2.14456669e+00 1.45274917e-01 6 6.09359222e-01 1.55974163e+00 -1.32231044e+00 7 1.40192078e+00 -6.28985085e+00 -4.90281281e+00 8 -4.03834221e+00 -2.40718089e+00 -6.69246332e-01 9 -2.16990821e+00 -1.99121143e+00 -3.11440984e+00 10 -1.04895996e+00 3.74321405e+00 -4.03728995e+00 11 -1.09108154e+00 -3.40567367e+00 4.52667295e+00 12 -7.50181559e-01 1.60187244e+00 1.59710070e+00 13 -1.18238297e+00 -3.19809316e+00 -7.85099206e+00 14 5.79649171e-01 1.12159531e+00 -2.53535917e-01 15 7.04791514e+00 -1.22390726e+00 1.78058447e+00 16 1.78741615e+00 5.49504911e+00 3.11796343e+00 17 -1.51555375e+00 -9.33851049e-01 -1.88373204e+00 18 4.11022650e-01 2.84557531e+00 -3.59424815e+00 19 1.81292463e+00 -2.80665175e+00 2.31676679e+00 20 -1.02313854e+00 1.99372184e+00 1.33425227e+00 21 -3.48370022e+00 -1.08703810e+00 1.04936832e+00 22 2.67835832e+00 5.08809671e+00 4.77524629e+00 23 4.53825978e-01 3.68352902e-01 7.78051997e-01 24 8.54585076e-01 -5.47757051e-01 1.17974611e+00 25 -1.92289786e+00 -2.78581321e+00 -2.07228666e+00 26 -1.31633086e+00 3.54757134e+00 -2.68217073e+00 27 2.76821003e+00 -6.73172855e+00 2.85299635e+00 28 -4.66430140e+00 4.87508187e+00 1.22667550e+00 29 -1.90944838e+00 -1.65665691e+00 1.10095766e+00 30 5.10668325e-01 2.03697714e+00 3.64026664e-01 31 3.11626494e+00 -1.80350990e+00 1.70393610e+00 32 1.71320876e+00 2.58767168e+00 2.18134182e+00 MONOATOMIC STRUCTURE (pbc=True)-- Species = Al (Configuration in file "config-T-Al.xyz") ----------------------------------------------------------------------------------------------------- Energy = -65.44062280723655 Forces: 1 -1.02346985e+00 -1.38051165e+00 -2.10957597e+00 2 -1.24640445e+00 2.60751640e+00 -1.31900139e+00 3 1.97428796e+00 -1.31977593e+00 2.08885146e+00 4 -6.14313419e-01 2.24174030e+00 1.69179850e+00 5 1.28079804e+00 -2.14456669e+00 1.45274917e-01 6 6.09359222e-01 1.55974163e+00 -1.32231044e+00 7 1.40192078e+00 -6.28985085e+00 -4.90281281e+00 8 -4.03834221e+00 -2.40718089e+00 -6.69246332e-01 9 -2.16990821e+00 -1.99121143e+00 -3.11440984e+00 10 -1.04895996e+00 3.74321405e+00 -4.03728995e+00 11 -1.09108154e+00 -3.40567367e+00 4.52667295e+00 12 -7.50181559e-01 1.60187244e+00 1.59710070e+00 13 -1.18238297e+00 -3.19809316e+00 -7.85099206e+00 14 5.79649171e-01 1.12159531e+00 -2.53535917e-01 15 7.04791514e+00 -1.22390726e+00 1.78058447e+00 16 1.78741615e+00 5.49504911e+00 3.11796343e+00 17 -1.51555375e+00 -9.33851049e-01 -1.88373204e+00 18 4.11022650e-01 2.84557531e+00 -3.59424815e+00 19 1.81292463e+00 -2.80665175e+00 2.31676679e+00 20 -1.02313854e+00 1.99372184e+00 1.33425227e+00 21 -3.48370022e+00 -1.08703810e+00 1.04936832e+00 22 2.67835832e+00 5.08809671e+00 4.77524629e+00 23 4.53825978e-01 3.68352902e-01 7.78051997e-01 24 8.54585076e-01 -5.47757051e-01 1.17974611e+00 25 -1.92289786e+00 -2.78581321e+00 -2.07228666e+00 26 -1.31633086e+00 3.54757134e+00 -2.68217073e+00 27 2.76821003e+00 -6.73172855e+00 2.85299635e+00 28 -4.66430140e+00 4.87508187e+00 1.22667550e+00 29 -1.90944838e+00 -1.65665691e+00 1.10095766e+00 30 5.10668325e-01 2.03697714e+00 3.64026664e-01 31 3.11626494e+00 -1.80350990e+00 1.70393610e+00 32 1.71320876e+00 2.58767168e+00 2.18134182e+00 ================================================================================ VALGRIND OUTPUT ================================================================================ ==83200== Memcheck, a memory error detector ==83200== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==83200== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==83200== Command: python runner2.py EAM_CubicNaturalSpline_ErcolessiAdams_1994_Al__MO_800509458712_002 ==83200== ==83200== Conditional jump or move depends on uninitialised value(s) ==83200== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==83200== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==83200== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83200== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83200== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83200== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83200== by 0x551B80: ??? (in /usr/bin/python3.6) ==83200== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83200== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83200== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83200== by 0x509D47: ??? (in /usr/bin/python3.6) ==83200== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83200== ==83200== Conditional jump or move depends on uninitialised value(s) ==83200== at 0x4E63408: internal_utf8_loop (loop.c:298) ==83200== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==83200== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==83200== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83200== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83200== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83200== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83200== by 0x551B80: ??? (in /usr/bin/python3.6) ==83200== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83200== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83200== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83200== by 0x509D47: ??? (in /usr/bin/python3.6) ==83200== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83200== ==83200== Conditional jump or move depends on uninitialised value(s) ==83200== at 0x4E63411: internal_utf8_loop (loop.c:303) ==83200== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==83200== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==83200== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83200== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83200== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83200== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83200== by 0x551B80: ??? (in /usr/bin/python3.6) ==83200== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83200== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83200== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83200== by 0x509D47: ??? (in /usr/bin/python3.6) ==83200== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83200== ==83200== Conditional jump or move depends on uninitialised value(s) ==83200== at 0x4E63458: internal_utf8_loop (loop.c:298) ==83200== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==83200== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==83200== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83200== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83200== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83200== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83200== by 0x551B80: ??? (in /usr/bin/python3.6) ==83200== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83200== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83200== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83200== by 0x509D47: ??? (in /usr/bin/python3.6) ==83200== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83200== ==83200== Conditional jump or move depends on uninitialised value(s) ==83200== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==83200== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==83200== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83200== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83200== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==83200== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==83200== by 0x4F8388: ??? (in /usr/bin/python3.6) ==83200== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==83200== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==83200== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==83200== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==83200== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83200== ==83200== ==83200== HEAP SUMMARY: ==83200== in use at exit: 2,764,995 bytes in 1,647 blocks ==83200== total heap usage: 39,352 allocs, 37,705 frees, 69,410,201 bytes allocated ==83200== ==83200== LEAK SUMMARY: ==83200== definitely lost: 0 bytes in 0 blocks ==83200== indirectly lost: 0 bytes in 0 blocks ==83200== possibly lost: 146,155 bytes in 87 blocks ==83200== still reachable: 2,618,840 bytes in 1,560 blocks ==83200== suppressed: 0 bytes in 0 blocks ==83200== Rerun with --leak-check=full to see details of leaked memory ==83200== ==83200== For counts of detected and suppressed errors, rerun with: -v ==83200== Use --track-origins=yes to see where uninitialised values come from ==83200== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12386 from 659) ================================================================================ 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.