!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Al__MO_411898953661_004 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 = 201.9239395586991 Forces: 1 -6.93890765e+00 -1.08087086e+01 -1.18077800e+01 2 -3.87906462e+00 4.69425739e+00 -1.27744029e+01 3 6.52730193e+00 -9.87754013e+00 -1.66166792e+00 4 -1.06340457e+01 5.85314903e+00 4.62472095e+00 5 -1.92714100e+00 -1.80881597e+01 -6.97892621e+00 6 1.21620690e+01 6.05201587e+00 -1.33159712e+01 7 1.16174399e+01 -2.80714256e+01 -1.70252971e+01 8 -1.66215614e+01 -1.07845975e+01 2.68196190e-01 9 -1.59605943e+01 -8.68928671e+00 -2.28067703e+01 10 6.06223393e-01 2.50409565e+01 -2.15519444e+01 11 -4.57028715e+00 -1.82689782e+01 1.14634328e+01 12 -1.64367954e+01 1.87992854e+01 4.07851359e+00 13 -2.52542952e+00 -1.19998111e+01 -4.17533231e+01 14 1.14210005e+01 1.31667212e+01 -9.69777340e+00 15 3.82242961e+01 -5.36470795e+00 6.33670092e+00 16 2.85764899e+00 3.35255287e+01 1.02890836e+01 17 -2.25722279e+01 -1.54822967e+01 -6.52053139e+00 18 1.29816207e+01 1.89054450e+01 -1.80071473e+01 19 6.57731313e+00 -2.59305425e+01 1.51490617e+01 20 -1.83528091e+01 9.09460700e+00 1.95181308e+01 21 -1.27317754e+01 -1.45209665e+01 6.24232173e+00 22 2.34081403e+01 1.97182130e+01 1.65908782e+01 23 6.96103699e+00 -3.54936944e+00 1.15495811e+01 24 8.74615551e+00 6.56151202e+00 1.24561481e+01 25 -1.41265275e+01 -7.32239724e+00 5.99071726e+00 26 -5.98164600e+00 2.35555898e+01 -9.24620078e+00 27 7.12328937e+00 -2.66710983e+01 1.58904461e+01 28 -2.60353848e+01 2.08453228e+01 7.61589661e+00 29 -8.99086154e+00 -1.36071164e+01 8.65812135e+00 30 1.33529325e+01 1.82206583e+01 -5.97002740e-01 31 1.69565319e+01 -1.21115186e+01 1.73675137e+01 32 8.76205875e+00 1.71152592e+01 1.96552742e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Al (Configuration in file "config-T-Al.xyz") ----------------------------------------------------------------------------------------------------- Energy = 201.9239395586991 Forces: 1 -6.93890765e+00 -1.08087086e+01 -1.18077800e+01 2 -3.87906462e+00 4.69425739e+00 -1.27744029e+01 3 6.52730193e+00 -9.87754013e+00 -1.66166792e+00 4 -1.06340457e+01 5.85314903e+00 4.62472095e+00 5 -1.92714100e+00 -1.80881597e+01 -6.97892621e+00 6 1.21620690e+01 6.05201587e+00 -1.33159712e+01 7 1.16174399e+01 -2.80714256e+01 -1.70252971e+01 8 -1.66215614e+01 -1.07845975e+01 2.68196190e-01 9 -1.59605943e+01 -8.68928671e+00 -2.28067703e+01 10 6.06223393e-01 2.50409565e+01 -2.15519444e+01 11 -4.57028715e+00 -1.82689782e+01 1.14634328e+01 12 -1.64367954e+01 1.87992854e+01 4.07851359e+00 13 -2.52542952e+00 -1.19998111e+01 -4.17533231e+01 14 1.14210005e+01 1.31667212e+01 -9.69777340e+00 15 3.82242961e+01 -5.36470795e+00 6.33670092e+00 16 2.85764899e+00 3.35255287e+01 1.02890836e+01 17 -2.25722279e+01 -1.54822967e+01 -6.52053139e+00 18 1.29816207e+01 1.89054450e+01 -1.80071473e+01 19 6.57731313e+00 -2.59305425e+01 1.51490617e+01 20 -1.83528091e+01 9.09460700e+00 1.95181308e+01 21 -1.27317754e+01 -1.45209665e+01 6.24232173e+00 22 2.34081403e+01 1.97182130e+01 1.65908782e+01 23 6.96103699e+00 -3.54936944e+00 1.15495811e+01 24 8.74615551e+00 6.56151202e+00 1.24561481e+01 25 -1.41265275e+01 -7.32239724e+00 5.99071726e+00 26 -5.98164600e+00 2.35555898e+01 -9.24620078e+00 27 7.12328937e+00 -2.66710983e+01 1.58904461e+01 28 -2.60353848e+01 2.08453228e+01 7.61589661e+00 29 -8.99086154e+00 -1.36071164e+01 8.65812135e+00 30 1.33529325e+01 1.82206583e+01 -5.97002740e-01 31 1.69565319e+01 -1.21115186e+01 1.73675137e+01 32 8.76205875e+00 1.71152592e+01 1.96552742e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==77741== Memcheck, a memory error detector ==77741== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==77741== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==77741== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Al__MO_411898953661_004 ==77741== ==77741== Conditional jump or move depends on uninitialised value(s) ==77741== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==77741== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==77741== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==77741== by 0x547A3F: ??? (in /usr/bin/python3.6) ==77741== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==77741== by 0x5BA640: ??? (in /usr/bin/python3.6) ==77741== by 0x551B80: ??? (in /usr/bin/python3.6) ==77741== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==77741== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==77741== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==77741== by 0x509D47: ??? (in /usr/bin/python3.6) ==77741== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==77741== ==77741== Conditional jump or move depends on uninitialised value(s) ==77741== at 0x4E63408: internal_utf8_loop (loop.c:298) ==77741== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==77741== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==77741== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==77741== by 0x547A3F: ??? (in /usr/bin/python3.6) ==77741== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==77741== by 0x5BA640: ??? (in /usr/bin/python3.6) ==77741== by 0x551B80: ??? (in /usr/bin/python3.6) ==77741== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==77741== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==77741== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==77741== by 0x509D47: ??? (in /usr/bin/python3.6) ==77741== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==77741== ==77741== Conditional jump or move depends on uninitialised value(s) ==77741== at 0x4E63411: internal_utf8_loop (loop.c:303) ==77741== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==77741== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==77741== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==77741== by 0x547A3F: ??? (in /usr/bin/python3.6) ==77741== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==77741== by 0x5BA640: ??? (in /usr/bin/python3.6) ==77741== by 0x551B80: ??? (in /usr/bin/python3.6) ==77741== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==77741== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==77741== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==77741== by 0x509D47: ??? (in /usr/bin/python3.6) ==77741== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==77741== ==77741== Conditional jump or move depends on uninitialised value(s) ==77741== at 0x4E63458: internal_utf8_loop (loop.c:298) ==77741== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==77741== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==77741== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==77741== by 0x547A3F: ??? (in /usr/bin/python3.6) ==77741== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==77741== by 0x5BA640: ??? (in /usr/bin/python3.6) ==77741== by 0x551B80: ??? (in /usr/bin/python3.6) ==77741== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==77741== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==77741== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==77741== by 0x509D47: ??? (in /usr/bin/python3.6) ==77741== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==77741== ==77741== Conditional jump or move depends on uninitialised value(s) ==77741== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==77741== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==77741== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==77741== by 0x547A3F: ??? (in /usr/bin/python3.6) ==77741== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==77741== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==77741== by 0x4F8388: ??? (in /usr/bin/python3.6) ==77741== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==77741== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==77741== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==77741== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==77741== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==77741== ==77741== ==77741== HEAP SUMMARY: ==77741== in use at exit: 2,765,467 bytes in 1,647 blocks ==77741== total heap usage: 31,862 allocs, 30,215 frees, 60,901,738 bytes allocated ==77741== ==77741== LEAK SUMMARY: ==77741== definitely lost: 0 bytes in 0 blocks ==77741== indirectly lost: 0 bytes in 0 blocks ==77741== possibly lost: 146,155 bytes in 87 blocks ==77741== still reachable: 2,619,312 bytes in 1,560 blocks ==77741== suppressed: 0 bytes in 0 blocks ==77741== Rerun with --leak-check=full to see details of leaked memory ==77741== ==77741== For counts of detected and suppressed errors, rerun with: -v ==77741== Use --track-origins=yes to see where uninitialised values come from ==77741== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11171 from 634) ================================================================================ 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.