!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_MendelevHanSrolovitz_2003_Fe__MO_807997826449_000 Supported species : Fe random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Fe (Configuration in file "config-F-Fe.xyz") ----------------------------------------------------------------------------------------------------- Energy = -12.952720184138228 Forces: 1 -5.87390836e+00 -4.84725876e+00 -8.96036546e+00 2 -9.51453492e+00 1.81155176e+01 -5.95879193e+00 3 9.44585697e+00 -8.06746008e+00 -1.11574201e+00 4 -6.44851792e+00 4.99687403e+00 2.42348748e+00 5 1.12301549e+01 -1.88081737e+01 1.99660576e+00 6 2.20036495e+00 1.52072962e+00 -2.88523777e+00 7 1.54555806e+00 -2.80440211e+01 -3.27455229e+01 8 -1.10151698e+01 -8.67682630e+00 -9.12130912e+00 9 -2.83012076e+00 -4.89971303e+00 -8.22294315e+00 10 -6.36218147e+00 8.28876675e+00 -1.44713690e+01 11 -1.92943621e+00 -7.84688369e+00 -5.03588741e-03 12 -5.78100804e+00 1.08945026e+01 1.76584739e+00 13 -1.40928837e+01 -1.23163323e+01 -3.86032132e+01 14 6.99242056e+00 1.16790903e+01 -8.64130563e+00 15 3.02632578e+01 -1.30592951e+01 1.62195631e+01 16 1.62650582e+00 2.22182780e+01 1.75475658e+01 17 -1.61418655e+01 -2.23070359e+00 -5.73035081e+00 18 1.58347226e+00 4.25905681e+00 2.13663765e+00 19 1.37563814e+01 -1.00153886e+01 1.04492570e+01 20 -5.48635878e+00 9.23896312e+00 3.89280720e+00 21 -1.12800331e+01 -9.97074762e+00 8.01844860e+00 22 2.00727393e+01 2.29258795e+01 2.27547329e+01 23 9.70757018e+00 -5.27106055e+00 5.26362857e+00 24 -8.39078471e+00 6.29691294e+00 3.76629124e+00 25 -8.58804643e+00 -6.52144087e+00 6.14567932e+00 26 1.43760041e+00 1.20868371e+01 -7.17962949e+00 27 2.19335357e+01 -3.65076648e+01 7.82346536e+00 28 -3.21540759e+01 2.72412509e+01 3.55139604e+00 29 -7.45086487e+00 2.08132657e+00 9.99799311e+00 30 5.71752310e+00 9.73751932e+00 5.72126844e+00 31 1.03391027e+01 -4.54756752e+00 6.76152934e+00 32 5.48774634e+00 1.00490325e+01 7.40461210e+00 MONOATOMIC STRUCTURE (pbc=True)-- Species = Fe (Configuration in file "config-T-Fe.xyz") ----------------------------------------------------------------------------------------------------- Energy = -12.952720184138228 Forces: 1 -5.87390836e+00 -4.84725876e+00 -8.96036546e+00 2 -9.51453492e+00 1.81155176e+01 -5.95879193e+00 3 9.44585697e+00 -8.06746008e+00 -1.11574201e+00 4 -6.44851792e+00 4.99687403e+00 2.42348748e+00 5 1.12301549e+01 -1.88081737e+01 1.99660576e+00 6 2.20036495e+00 1.52072962e+00 -2.88523777e+00 7 1.54555806e+00 -2.80440211e+01 -3.27455229e+01 8 -1.10151698e+01 -8.67682630e+00 -9.12130912e+00 9 -2.83012076e+00 -4.89971303e+00 -8.22294315e+00 10 -6.36218147e+00 8.28876675e+00 -1.44713690e+01 11 -1.92943621e+00 -7.84688369e+00 -5.03588741e-03 12 -5.78100804e+00 1.08945026e+01 1.76584739e+00 13 -1.40928837e+01 -1.23163323e+01 -3.86032132e+01 14 6.99242056e+00 1.16790903e+01 -8.64130563e+00 15 3.02632578e+01 -1.30592951e+01 1.62195631e+01 16 1.62650582e+00 2.22182780e+01 1.75475658e+01 17 -1.61418655e+01 -2.23070359e+00 -5.73035081e+00 18 1.58347226e+00 4.25905681e+00 2.13663765e+00 19 1.37563814e+01 -1.00153886e+01 1.04492570e+01 20 -5.48635878e+00 9.23896312e+00 3.89280720e+00 21 -1.12800331e+01 -9.97074762e+00 8.01844860e+00 22 2.00727393e+01 2.29258795e+01 2.27547329e+01 23 9.70757018e+00 -5.27106055e+00 5.26362857e+00 24 -8.39078471e+00 6.29691294e+00 3.76629124e+00 25 -8.58804643e+00 -6.52144087e+00 6.14567932e+00 26 1.43760041e+00 1.20868371e+01 -7.17962949e+00 27 2.19335357e+01 -3.65076648e+01 7.82346536e+00 28 -3.21540759e+01 2.72412509e+01 3.55139604e+00 29 -7.45086487e+00 2.08132657e+00 9.99799311e+00 30 5.71752310e+00 9.73751932e+00 5.72126844e+00 31 1.03391027e+01 -4.54756752e+00 6.76152934e+00 32 5.48774634e+00 1.00490325e+01 7.40461210e+00 ================================================================================ VALGRIND OUTPUT ================================================================================ ==88747== Memcheck, a memory error detector ==88747== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==88747== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==88747== Command: python runner2.py EAM_Dynamo_MendelevHanSrolovitz_2003_Fe__MO_807997826449_000 ==88747== ==88747== Conditional jump or move depends on uninitialised value(s) ==88747== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==88747== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88747== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88747== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88747== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88747== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88747== by 0x551B80: ??? (in /usr/bin/python3.6) ==88747== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88747== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88747== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88747== by 0x509D47: ??? (in /usr/bin/python3.6) ==88747== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88747== ==88747== Conditional jump or move depends on uninitialised value(s) ==88747== at 0x4E63408: internal_utf8_loop (loop.c:298) ==88747== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==88747== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88747== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88747== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88747== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88747== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88747== by 0x551B80: ??? (in /usr/bin/python3.6) ==88747== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88747== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88747== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88747== by 0x509D47: ??? (in /usr/bin/python3.6) ==88747== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88747== ==88747== Conditional jump or move depends on uninitialised value(s) ==88747== at 0x4E63411: internal_utf8_loop (loop.c:303) ==88747== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==88747== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88747== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88747== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88747== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88747== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88747== by 0x551B80: ??? (in /usr/bin/python3.6) ==88747== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88747== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88747== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88747== by 0x509D47: ??? (in /usr/bin/python3.6) ==88747== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88747== ==88747== Conditional jump or move depends on uninitialised value(s) ==88747== at 0x4E63458: internal_utf8_loop (loop.c:298) ==88747== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==88747== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88747== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88747== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88747== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88747== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88747== by 0x551B80: ??? (in /usr/bin/python3.6) ==88747== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88747== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88747== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88747== by 0x509D47: ??? (in /usr/bin/python3.6) ==88747== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88747== ==88747== Conditional jump or move depends on uninitialised value(s) ==88747== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==88747== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88747== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88747== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88747== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==88747== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==88747== by 0x4F8388: ??? (in /usr/bin/python3.6) ==88747== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==88747== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==88747== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==88747== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==88747== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88747== ==88747== ==88747== HEAP SUMMARY: ==88747== in use at exit: 2,764,995 bytes in 1,647 blocks ==88747== total heap usage: 36,172 allocs, 34,525 frees, 73,428,890 bytes allocated ==88747== ==88747== LEAK SUMMARY: ==88747== definitely lost: 0 bytes in 0 blocks ==88747== indirectly lost: 0 bytes in 0 blocks ==88747== possibly lost: 146,155 bytes in 87 blocks ==88747== still reachable: 2,618,840 bytes in 1,560 blocks ==88747== suppressed: 0 bytes in 0 blocks ==88747== Rerun with --leak-check=full to see details of leaked memory ==88747== ==88747== For counts of detected and suppressed errors, rerun with: -v ==88747== Use --track-origins=yes to see where uninitialised values come from ==88747== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12372 from 656) ================================================================================ 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.