!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Ag__MO_137719994600_004 Supported species : Ag random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Ag (Configuration in file "config-F-Ag.xyz") ----------------------------------------------------------------------------------------------------- Energy = 329.08618002925493 Forces: 1 -1.08791469e+01 -1.91910952e+01 -2.07251449e+01 2 -8.36412637e+00 1.24025332e+01 -1.91703919e+01 3 1.27801817e+01 -3.39011078e+01 -1.40473180e+01 4 -2.51206049e+01 1.28300022e+01 1.13578241e+00 5 -2.69571552e+00 -3.16043329e+01 -1.03976816e+01 6 2.00719284e+01 1.14767399e+01 -2.17679854e+01 7 1.90941357e+01 -5.44521653e+01 -3.71337603e+01 8 -2.69187090e+01 -2.05613729e+01 -3.18947202e+00 9 -2.03861080e+01 -1.47869261e+01 -3.48710143e+01 10 -8.32927213e+00 3.82498981e+01 -3.96834254e+01 11 -7.55280424e+00 -2.60125604e+01 5.94633821e+00 12 -2.46793481e+01 3.30050866e+01 4.35189585e+00 13 -1.05893830e+01 -2.63410506e+01 -7.80873953e+01 14 1.91480800e+01 2.28323321e+01 -1.58831980e+01 15 7.23720025e+01 -9.41817265e+00 1.58412020e+01 16 9.77124646e+00 6.12058152e+01 2.44186225e+01 17 -3.72846363e+01 -2.38367836e+01 -5.31786168e+00 18 2.07340859e+01 2.69151381e+01 1.64860130e+01 19 9.17885487e+00 -2.81865427e+01 1.61305084e+01 20 -1.52868921e+01 1.68148245e+01 1.85048141e+01 21 -2.28538655e+01 -2.51108305e+01 1.50661363e+01 22 4.19831366e+01 4.16825946e+01 2.85454674e+01 23 1.14457104e+01 -6.64680964e+00 2.34314262e+01 24 5.40086128e+00 1.22518963e+01 1.27372647e+01 25 -2.87974966e+01 -1.13389766e+01 1.76436020e+01 26 -1.16319439e+01 4.19614591e+01 -1.68784258e+01 27 1.75012107e+01 -5.81046272e+01 2.50277404e+01 28 -5.05628922e+01 4.15835964e+01 1.22111015e+01 29 -1.51494199e+01 -2.36612229e+01 1.75568608e+01 30 2.12141638e+01 3.13327149e+01 -2.15434922e+00 31 2.98823911e+01 -2.18118467e+01 3.02399960e+01 32 1.65043753e+01 3.04217924e+01 3.40326519e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Ag (Configuration in file "config-T-Ag.xyz") ----------------------------------------------------------------------------------------------------- Energy = 329.08618002925493 Forces: 1 -1.08791469e+01 -1.91910952e+01 -2.07251449e+01 2 -8.36412637e+00 1.24025332e+01 -1.91703919e+01 3 1.27801817e+01 -3.39011078e+01 -1.40473180e+01 4 -2.51206049e+01 1.28300022e+01 1.13578241e+00 5 -2.69571552e+00 -3.16043329e+01 -1.03976816e+01 6 2.00719284e+01 1.14767399e+01 -2.17679854e+01 7 1.90941357e+01 -5.44521653e+01 -3.71337603e+01 8 -2.69187090e+01 -2.05613729e+01 -3.18947202e+00 9 -2.03861080e+01 -1.47869261e+01 -3.48710143e+01 10 -8.32927213e+00 3.82498981e+01 -3.96834254e+01 11 -7.55280424e+00 -2.60125604e+01 5.94633821e+00 12 -2.46793481e+01 3.30050866e+01 4.35189585e+00 13 -1.05893830e+01 -2.63410506e+01 -7.80873953e+01 14 1.91480800e+01 2.28323321e+01 -1.58831980e+01 15 7.23720025e+01 -9.41817265e+00 1.58412020e+01 16 9.77124646e+00 6.12058152e+01 2.44186225e+01 17 -3.72846363e+01 -2.38367836e+01 -5.31786168e+00 18 2.07340859e+01 2.69151381e+01 1.64860130e+01 19 9.17885487e+00 -2.81865427e+01 1.61305084e+01 20 -1.52868921e+01 1.68148245e+01 1.85048141e+01 21 -2.28538655e+01 -2.51108305e+01 1.50661363e+01 22 4.19831366e+01 4.16825946e+01 2.85454674e+01 23 1.14457104e+01 -6.64680964e+00 2.34314262e+01 24 5.40086128e+00 1.22518963e+01 1.27372647e+01 25 -2.87974966e+01 -1.13389766e+01 1.76436020e+01 26 -1.16319439e+01 4.19614591e+01 -1.68784258e+01 27 1.75012107e+01 -5.81046272e+01 2.50277404e+01 28 -5.05628922e+01 4.15835964e+01 1.22111015e+01 29 -1.51494199e+01 -2.36612229e+01 1.75568608e+01 30 2.12141638e+01 3.13327149e+01 -2.15434922e+00 31 2.98823911e+01 -2.18118467e+01 3.02399960e+01 32 1.65043753e+01 3.04217924e+01 3.40326519e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==75968== Memcheck, a memory error detector ==75968== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==75968== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==75968== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Ag__MO_137719994600_004 ==75968== ==75968== Conditional jump or move depends on uninitialised value(s) ==75968== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==75968== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==75968== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75968== by 0x547A3F: ??? (in /usr/bin/python3.6) ==75968== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==75968== by 0x5BA640: ??? (in /usr/bin/python3.6) ==75968== by 0x551B80: ??? (in /usr/bin/python3.6) ==75968== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75968== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==75968== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75968== by 0x509D47: ??? (in /usr/bin/python3.6) ==75968== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==75968== ==75968== Conditional jump or move depends on uninitialised value(s) ==75968== at 0x4E63408: internal_utf8_loop (loop.c:298) ==75968== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==75968== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==75968== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75968== by 0x547A3F: ??? (in /usr/bin/python3.6) ==75968== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==75968== by 0x5BA640: ??? (in /usr/bin/python3.6) ==75968== by 0x551B80: ??? (in /usr/bin/python3.6) ==75968== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75968== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==75968== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75968== by 0x509D47: ??? (in /usr/bin/python3.6) ==75968== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==75968== ==75968== Conditional jump or move depends on uninitialised value(s) ==75968== at 0x4E63411: internal_utf8_loop (loop.c:303) ==75968== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==75968== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==75968== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75968== by 0x547A3F: ??? (in /usr/bin/python3.6) ==75968== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==75968== by 0x5BA640: ??? (in /usr/bin/python3.6) ==75968== by 0x551B80: ??? (in /usr/bin/python3.6) ==75968== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75968== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==75968== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75968== by 0x509D47: ??? (in /usr/bin/python3.6) ==75968== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==75968== ==75968== Conditional jump or move depends on uninitialised value(s) ==75968== at 0x4E63458: internal_utf8_loop (loop.c:298) ==75968== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==75968== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==75968== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75968== by 0x547A3F: ??? (in /usr/bin/python3.6) ==75968== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==75968== by 0x5BA640: ??? (in /usr/bin/python3.6) ==75968== by 0x551B80: ??? (in /usr/bin/python3.6) ==75968== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75968== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==75968== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75968== by 0x509D47: ??? (in /usr/bin/python3.6) ==75968== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==75968== ==75968== Conditional jump or move depends on uninitialised value(s) ==75968== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==75968== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==75968== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75968== by 0x547A3F: ??? (in /usr/bin/python3.6) ==75968== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==75968== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==75968== by 0x4F8388: ??? (in /usr/bin/python3.6) ==75968== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==75968== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==75968== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==75968== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==75968== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75968== ==75968== ==75968== HEAP SUMMARY: ==75968== in use at exit: 2,765,467 bytes in 1,647 blocks ==75968== total heap usage: 31,862 allocs, 30,215 frees, 60,901,742 bytes allocated ==75968== ==75968== LEAK SUMMARY: ==75968== definitely lost: 0 bytes in 0 blocks ==75968== indirectly lost: 0 bytes in 0 blocks ==75968== possibly lost: 146,155 bytes in 87 blocks ==75968== still reachable: 2,619,312 bytes in 1,560 blocks ==75968== suppressed: 0 bytes in 0 blocks ==75968== Rerun with --leak-check=full to see details of leaked memory ==75968== ==75968== For counts of detected and suppressed errors, rerun with: -v ==75968== Use --track-origins=yes to see where uninitialised values come from ==75968== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11172 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.