!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Dynamo_AdamsFoilesWolfer_1989Universal6_Cu__MO_145873824897_000 Supported species : Cu random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Cu (Configuration in file "config-F-Cu.xyz") ----------------------------------------------------------------------------------------------------- Energy = -4.004655179522558 Forces: 1 -2.57801027e+00 -6.10568135e+00 -6.49275542e+00 2 -8.11412610e+00 1.21508609e+01 -7.74670143e+00 3 5.76390157e-01 -8.14609965e+00 -1.55436758e+00 4 -3.63522544e+00 3.79728678e+00 3.77607202e+00 5 1.00987519e+01 -1.57971398e+01 -1.35633257e+00 6 2.70294042e+00 1.52216467e+00 -4.84540492e+00 7 3.66693655e+00 -2.12489201e+01 -2.00088445e+01 8 -7.63250252e+00 -8.90998448e+00 8.24817335e-01 9 -9.56977677e+00 -5.52572078e+00 -1.38981932e+01 10 -3.58330500e+00 1.58189584e+01 -1.54768584e+01 11 -2.34956903e+00 -1.25024868e+01 1.01871188e+01 12 -7.32661481e+00 1.30194432e+01 -1.39221075e-01 13 -3.71893136e+00 -7.21605452e+00 -3.29371124e+01 14 5.13157145e+00 6.93831999e+00 -4.19995323e+00 15 2.80092872e+01 -3.65847047e+00 9.08305907e+00 16 3.78024286e+00 2.13785261e+01 1.16337539e+01 17 -8.15243924e+00 -3.23597254e+00 -3.43827124e+00 18 -2.87513590e+00 7.48488488e+00 3.27128681e+00 19 4.43024194e+00 -6.36169282e+00 4.90159342e+00 20 -2.69288809e+00 5.91216726e+00 3.76445738e+00 21 -8.13452942e+00 -7.90777869e+00 6.32242927e+00 22 1.27951432e+01 1.81928174e+01 1.57449539e+01 23 2.31791679e+00 -7.26510032e-01 4.30102132e+00 24 1.86162991e+00 7.96525666e-01 3.30453533e+00 25 -5.18822659e+00 -7.70538125e+00 9.66543120e+00 26 -5.37760762e+00 1.30067769e+01 -7.57442288e+00 27 7.99461015e+00 -2.45857392e+01 6.83648793e+00 28 -1.97004069e+01 1.64097649e+01 2.48649414e+00 29 -5.83743425e+00 -9.47762839e+00 3.15749047e+00 30 5.48452164e+00 9.70822457e+00 2.78162782e-01 31 1.10241042e+01 -7.60380488e+00 9.07064133e+00 32 6.59244082e+00 1.05783442e+01 1.10586324e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Cu (Configuration in file "config-T-Cu.xyz") ----------------------------------------------------------------------------------------------------- Energy = -4.004655179522558 Forces: 1 -2.57801027e+00 -6.10568135e+00 -6.49275542e+00 2 -8.11412610e+00 1.21508609e+01 -7.74670143e+00 3 5.76390157e-01 -8.14609965e+00 -1.55436758e+00 4 -3.63522544e+00 3.79728678e+00 3.77607202e+00 5 1.00987519e+01 -1.57971398e+01 -1.35633257e+00 6 2.70294042e+00 1.52216467e+00 -4.84540492e+00 7 3.66693655e+00 -2.12489201e+01 -2.00088445e+01 8 -7.63250252e+00 -8.90998448e+00 8.24817335e-01 9 -9.56977677e+00 -5.52572078e+00 -1.38981932e+01 10 -3.58330500e+00 1.58189584e+01 -1.54768584e+01 11 -2.34956903e+00 -1.25024868e+01 1.01871188e+01 12 -7.32661481e+00 1.30194432e+01 -1.39221075e-01 13 -3.71893136e+00 -7.21605452e+00 -3.29371124e+01 14 5.13157145e+00 6.93831999e+00 -4.19995323e+00 15 2.80092872e+01 -3.65847047e+00 9.08305907e+00 16 3.78024286e+00 2.13785261e+01 1.16337539e+01 17 -8.15243924e+00 -3.23597254e+00 -3.43827124e+00 18 -2.87513590e+00 7.48488488e+00 3.27128681e+00 19 4.43024194e+00 -6.36169282e+00 4.90159342e+00 20 -2.69288809e+00 5.91216726e+00 3.76445738e+00 21 -8.13452942e+00 -7.90777869e+00 6.32242927e+00 22 1.27951432e+01 1.81928174e+01 1.57449539e+01 23 2.31791679e+00 -7.26510032e-01 4.30102132e+00 24 1.86162991e+00 7.96525666e-01 3.30453533e+00 25 -5.18822659e+00 -7.70538125e+00 9.66543120e+00 26 -5.37760762e+00 1.30067769e+01 -7.57442288e+00 27 7.99461015e+00 -2.45857392e+01 6.83648793e+00 28 -1.97004069e+01 1.64097649e+01 2.48649414e+00 29 -5.83743425e+00 -9.47762839e+00 3.15749047e+00 30 5.48452164e+00 9.70822457e+00 2.78162782e-01 31 1.10241042e+01 -7.60380488e+00 9.07064133e+00 32 6.59244082e+00 1.05783442e+01 1.10586324e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==85075== Memcheck, a memory error detector ==85075== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==85075== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==85075== Command: python runner2.py EAM_Dynamo_AdamsFoilesWolfer_1989Universal6_Cu__MO_145873824897_000 ==85075== ==85075== Conditional jump or move depends on uninitialised value(s) ==85075== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==85075== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==85075== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85075== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85075== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85075== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85075== by 0x551B80: ??? (in /usr/bin/python3.6) ==85075== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85075== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85075== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85075== by 0x509D47: ??? (in /usr/bin/python3.6) ==85075== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85075== ==85075== Conditional jump or move depends on uninitialised value(s) ==85075== at 0x4E63408: internal_utf8_loop (loop.c:298) ==85075== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==85075== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85075== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85075== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85075== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85075== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85075== by 0x551B80: ??? (in /usr/bin/python3.6) ==85075== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85075== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85075== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85075== by 0x509D47: ??? (in /usr/bin/python3.6) ==85075== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85075== ==85075== Conditional jump or move depends on uninitialised value(s) ==85075== at 0x4E63411: internal_utf8_loop (loop.c:303) ==85075== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==85075== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85075== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85075== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85075== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85075== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85075== by 0x551B80: ??? (in /usr/bin/python3.6) ==85075== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85075== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85075== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85075== by 0x509D47: ??? (in /usr/bin/python3.6) ==85075== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85075== ==85075== Conditional jump or move depends on uninitialised value(s) ==85075== at 0x4E63458: internal_utf8_loop (loop.c:298) ==85075== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==85075== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85075== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85075== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85075== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85075== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85075== by 0x551B80: ??? (in /usr/bin/python3.6) ==85075== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85075== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85075== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85075== by 0x509D47: ??? (in /usr/bin/python3.6) ==85075== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85075== ==85075== Conditional jump or move depends on uninitialised value(s) ==85075== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==85075== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==85075== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85075== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85075== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==85075== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==85075== by 0x4F8388: ??? (in /usr/bin/python3.6) ==85075== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==85075== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==85075== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==85075== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==85075== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85075== ==85075== ==85075== HEAP SUMMARY: ==85075== in use at exit: 2,764,995 bytes in 1,647 blocks ==85075== total heap usage: 36,176 allocs, 34,529 frees, 62,518,512 bytes allocated ==85075== ==85075== LEAK SUMMARY: ==85075== definitely lost: 0 bytes in 0 blocks ==85075== indirectly lost: 0 bytes in 0 blocks ==85075== possibly lost: 146,155 bytes in 87 blocks ==85075== still reachable: 2,618,840 bytes in 1,560 blocks ==85075== suppressed: 0 bytes in 0 blocks ==85075== Rerun with --leak-check=full to see details of leaked memory ==85075== ==85075== For counts of detected and suppressed errors, rerun with: -v ==85075== Use --track-origins=yes to see where uninitialised values come from ==85075== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12382 from 658) ================================================================================ 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.