!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_ZhouWadleyJohnson_2001NISTretabulation_Mg__MO_894868634445_000 Supported species : Mg random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Mg (Configuration in file "config-F-Mg.xyz") ----------------------------------------------------------------------------------------------------- Energy = 424.3819688329997 Forces: 1 -1.32135101e+01 -2.38859518e+01 -2.47723982e+01 2 -2.24361000e+01 3.52731757e+01 -3.12705122e+01 3 -2.85709434e+00 -3.35768635e+01 -3.43828381e+00 4 -1.95260873e+01 1.13750854e+01 1.15855565e+01 5 3.29361435e+01 -5.22396397e+01 -1.16310174e+01 6 1.33734143e+01 2.75024613e+00 -2.07454491e+01 7 1.85036436e+01 -7.28330795e+01 -6.44928655e+01 8 -2.14858354e+01 -2.43334529e+01 -1.16580362e+01 9 -2.64771844e+01 -3.78773831e+01 -6.41153196e+01 10 -2.95294023e+00 5.39876963e+01 -5.49200058e+01 11 -8.93280755e+00 -3.69457993e+01 2.29523905e+01 12 -4.01457129e+01 5.34684697e+01 2.91208928e+01 13 -1.18600159e+01 -2.83648165e+01 -1.04235499e+02 14 2.28601053e+01 2.77946300e+01 -1.93440319e+01 15 9.32732726e+01 -1.11735626e+01 2.34486350e+01 16 1.16653292e+01 7.51083330e+01 3.38512865e+01 17 -3.19385870e+01 -1.59530857e+01 -1.13704358e+01 18 -1.56033243e+01 2.06822745e+01 1.51210037e+01 19 1.37727831e+01 -2.74771988e+01 2.14718701e+01 20 -1.53440770e+01 1.95513142e+01 1.81531058e+01 21 -2.37723572e+01 -3.36663722e+01 2.09866745e+01 22 5.16132315e+01 5.41366538e+01 5.07330749e+01 23 1.29102526e+01 -6.55046197e+00 2.06046363e+01 24 6.55047191e+00 1.64340353e+00 1.93059003e+01 25 -2.90097242e+01 -8.70069503e+00 2.03435139e+01 26 -1.83813472e+01 4.86611171e+01 -2.25013057e+01 27 2.31337963e+01 -7.56121915e+01 2.78188346e+01 28 -6.75495260e+01 5.54342156e+01 1.24512406e+01 29 -1.66720846e+01 -2.36065248e+01 1.75572273e+01 30 2.52710273e+01 3.73631864e+01 2.96040559e+00 31 4.05212258e+01 -2.28986827e+01 3.46780066e+01 32 2.17736187e+01 3.84659603e+01 4.13509047e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Mg (Configuration in file "config-T-Mg.xyz") ----------------------------------------------------------------------------------------------------- Energy = 424.3819688329997 Forces: 1 -1.32135101e+01 -2.38859518e+01 -2.47723982e+01 2 -2.24361000e+01 3.52731757e+01 -3.12705122e+01 3 -2.85709434e+00 -3.35768635e+01 -3.43828381e+00 4 -1.95260873e+01 1.13750854e+01 1.15855565e+01 5 3.29361435e+01 -5.22396397e+01 -1.16310174e+01 6 1.33734143e+01 2.75024613e+00 -2.07454491e+01 7 1.85036436e+01 -7.28330795e+01 -6.44928655e+01 8 -2.14858354e+01 -2.43334529e+01 -1.16580362e+01 9 -2.64771844e+01 -3.78773831e+01 -6.41153196e+01 10 -2.95294023e+00 5.39876963e+01 -5.49200058e+01 11 -8.93280755e+00 -3.69457993e+01 2.29523905e+01 12 -4.01457129e+01 5.34684697e+01 2.91208928e+01 13 -1.18600159e+01 -2.83648165e+01 -1.04235499e+02 14 2.28601053e+01 2.77946300e+01 -1.93440319e+01 15 9.32732726e+01 -1.11735626e+01 2.34486350e+01 16 1.16653292e+01 7.51083330e+01 3.38512865e+01 17 -3.19385870e+01 -1.59530857e+01 -1.13704358e+01 18 -1.56033243e+01 2.06822745e+01 1.51210037e+01 19 1.37727831e+01 -2.74771988e+01 2.14718701e+01 20 -1.53440770e+01 1.95513142e+01 1.81531058e+01 21 -2.37723572e+01 -3.36663722e+01 2.09866745e+01 22 5.16132315e+01 5.41366538e+01 5.07330749e+01 23 1.29102526e+01 -6.55046197e+00 2.06046363e+01 24 6.55047191e+00 1.64340353e+00 1.93059003e+01 25 -2.90097242e+01 -8.70069503e+00 2.03435139e+01 26 -1.83813472e+01 4.86611171e+01 -2.25013057e+01 27 2.31337963e+01 -7.56121915e+01 2.78188346e+01 28 -6.75495260e+01 5.54342156e+01 1.24512406e+01 29 -1.66720846e+01 -2.36065248e+01 1.75572273e+01 30 2.52710273e+01 3.73631864e+01 2.96040559e+00 31 4.05212258e+01 -2.28986827e+01 3.46780066e+01 32 2.17736187e+01 3.84659603e+01 4.13509047e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==93081== Memcheck, a memory error detector ==93081== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==93081== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==93081== Command: python runner2.py EAM_Dynamo_ZhouWadleyJohnson_2001NISTretabulation_Mg__MO_894868634445_000 ==93081== ==93081== Conditional jump or move depends on uninitialised value(s) ==93081== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==93081== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==93081== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93081== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93081== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93081== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93081== by 0x551B80: ??? (in /usr/bin/python3.6) ==93081== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93081== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93081== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93081== by 0x509D47: ??? (in /usr/bin/python3.6) ==93081== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93081== ==93081== Conditional jump or move depends on uninitialised value(s) ==93081== at 0x4E63408: internal_utf8_loop (loop.c:298) ==93081== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==93081== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==93081== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93081== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93081== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93081== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93081== by 0x551B80: ??? (in /usr/bin/python3.6) ==93081== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93081== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93081== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93081== by 0x509D47: ??? (in /usr/bin/python3.6) ==93081== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93081== ==93081== Conditional jump or move depends on uninitialised value(s) ==93081== at 0x4E63411: internal_utf8_loop (loop.c:303) ==93081== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==93081== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==93081== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93081== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93081== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93081== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93081== by 0x551B80: ??? (in /usr/bin/python3.6) ==93081== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93081== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93081== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93081== by 0x509D47: ??? (in /usr/bin/python3.6) ==93081== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93081== ==93081== Conditional jump or move depends on uninitialised value(s) ==93081== at 0x4E63458: internal_utf8_loop (loop.c:298) ==93081== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==93081== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==93081== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93081== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93081== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93081== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93081== by 0x551B80: ??? (in /usr/bin/python3.6) ==93081== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93081== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93081== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93081== by 0x509D47: ??? (in /usr/bin/python3.6) ==93081== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93081== ==93081== Conditional jump or move depends on uninitialised value(s) ==93081== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==93081== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==93081== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93081== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93081== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==93081== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==93081== by 0x4F8388: ??? (in /usr/bin/python3.6) ==93081== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==93081== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==93081== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==93081== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==93081== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93081== ==93081== ==93081== HEAP SUMMARY: ==93081== in use at exit: 2,764,995 bytes in 1,647 blocks ==93081== total heap usage: 36,172 allocs, 34,525 frees, 64,217,122 bytes allocated ==93081== ==93081== LEAK SUMMARY: ==93081== definitely lost: 0 bytes in 0 blocks ==93081== indirectly lost: 0 bytes in 0 blocks ==93081== possibly lost: 146,155 bytes in 87 blocks ==93081== still reachable: 2,618,840 bytes in 1,560 blocks ==93081== suppressed: 0 bytes in 0 blocks ==93081== Rerun with --leak-check=full to see details of leaked memory ==93081== ==93081== For counts of detected and suppressed errors, rerun with: -v ==93081== Use --track-origins=yes to see where uninitialised values come from ==93081== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11150 from 670) ================================================================================ 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.