!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Mendelev_2007_Zr__MO_848899341753_000 Supported species : Zr random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Zr (Configuration in file "config-F-Zr.xyz") ----------------------------------------------------------------------------------------------------- Energy = 593.5664566558469 Forces: 1 -3.58473807e+01 -3.98030341e+01 -4.69479105e+01 2 -1.97718448e+01 2.38112976e+01 -6.05019583e+01 3 -6.26610568e+00 -5.57182289e+01 3.05685769e+01 4 -5.15663484e+01 1.39343113e+01 1.03987248e+01 5 3.59506348e+01 -6.40789744e+01 -3.93282863e+01 6 2.89523942e+01 6.55712239e+00 -4.03258000e+01 7 3.85531745e+01 -9.30627985e+01 -5.53867716e+01 8 -3.54494046e+01 -5.46742435e+01 -1.45603411e+01 9 -4.43489117e+01 -5.06386525e+00 -5.65586484e+01 10 -2.77256079e+01 8.05658632e+01 -6.96605745e+01 11 -3.61218442e+01 -3.25114246e+01 2.47380345e+00 12 -5.20161910e+01 6.83463700e+01 -1.92032009e+01 13 1.65951504e+01 -2.80728556e+01 -1.30497780e+02 14 3.50894976e+01 3.86095841e+01 -3.13290883e+01 15 1.24988117e+02 -4.79772662e+00 -2.02645325e+01 16 2.29973578e+01 1.16372758e+02 2.86044814e+01 17 -6.48154871e+01 -4.70793637e+01 -2.49782296e+01 18 2.82992778e+01 1.46617850e+01 4.07853005e+00 19 2.43903672e+01 -5.65609040e+01 4.53343319e+01 20 -3.86389217e+01 2.97763434e+01 4.95113570e+01 21 -3.77869148e+01 -6.37632032e+01 1.48029207e+01 22 8.70258612e+01 4.54134843e+01 5.28745485e+01 23 4.19185108e+01 -2.48413183e+01 3.67676753e+01 24 -1.43813066e+01 2.33038512e+01 4.20429585e+01 25 -7.03260865e+01 -2.79437540e+01 3.62985951e+01 26 -1.14397552e+01 8.14027634e+01 -8.41919423e+00 27 2.07059278e+01 -8.09470127e+01 5.77678011e+01 28 -7.74837669e+01 6.39246212e+01 3.16638623e+01 29 -2.58366984e+01 -1.97877030e+01 3.30689911e+01 30 5.39683583e+01 6.52570294e+01 2.58944169e+00 31 6.56799684e+01 -2.73449935e+01 7.61843379e+01 32 2.47079777e+01 5.41142197e+01 6.29313785e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Zr (Configuration in file "config-T-Zr.xyz") ----------------------------------------------------------------------------------------------------- Energy = 593.5664566558469 Forces: 1 -3.58473807e+01 -3.98030341e+01 -4.69479105e+01 2 -1.97718448e+01 2.38112976e+01 -6.05019583e+01 3 -6.26610568e+00 -5.57182289e+01 3.05685769e+01 4 -5.15663484e+01 1.39343113e+01 1.03987248e+01 5 3.59506348e+01 -6.40789744e+01 -3.93282863e+01 6 2.89523942e+01 6.55712239e+00 -4.03258000e+01 7 3.85531745e+01 -9.30627985e+01 -5.53867716e+01 8 -3.54494046e+01 -5.46742435e+01 -1.45603411e+01 9 -4.43489117e+01 -5.06386525e+00 -5.65586484e+01 10 -2.77256079e+01 8.05658632e+01 -6.96605745e+01 11 -3.61218442e+01 -3.25114246e+01 2.47380345e+00 12 -5.20161910e+01 6.83463700e+01 -1.92032009e+01 13 1.65951504e+01 -2.80728556e+01 -1.30497780e+02 14 3.50894976e+01 3.86095841e+01 -3.13290883e+01 15 1.24988117e+02 -4.79772662e+00 -2.02645325e+01 16 2.29973578e+01 1.16372758e+02 2.86044814e+01 17 -6.48154871e+01 -4.70793637e+01 -2.49782296e+01 18 2.82992778e+01 1.46617850e+01 4.07853005e+00 19 2.43903672e+01 -5.65609040e+01 4.53343319e+01 20 -3.86389217e+01 2.97763434e+01 4.95113570e+01 21 -3.77869148e+01 -6.37632032e+01 1.48029207e+01 22 8.70258612e+01 4.54134843e+01 5.28745485e+01 23 4.19185108e+01 -2.48413183e+01 3.67676753e+01 24 -1.43813066e+01 2.33038512e+01 4.20429585e+01 25 -7.03260865e+01 -2.79437540e+01 3.62985951e+01 26 -1.14397552e+01 8.14027634e+01 -8.41919423e+00 27 2.07059278e+01 -8.09470127e+01 5.77678011e+01 28 -7.74837669e+01 6.39246212e+01 3.16638623e+01 29 -2.58366984e+01 -1.97877030e+01 3.30689911e+01 30 5.39683583e+01 6.52570294e+01 2.58944169e+00 31 6.56799684e+01 -2.73449935e+01 7.61843379e+01 32 2.47079777e+01 5.41142197e+01 6.29313785e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==89335== Memcheck, a memory error detector ==89335== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==89335== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==89335== Command: python runner2.py EAM_Dynamo_Mendelev_2007_Zr__MO_848899341753_000 ==89335== ==89335== Conditional jump or move depends on uninitialised value(s) ==89335== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==89335== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==89335== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==89335== by 0x547A3F: ??? (in /usr/bin/python3.6) ==89335== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==89335== by 0x5BA640: ??? (in /usr/bin/python3.6) ==89335== by 0x551B80: ??? (in /usr/bin/python3.6) ==89335== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==89335== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==89335== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==89335== by 0x509D47: ??? (in /usr/bin/python3.6) ==89335== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==89335== ==89335== Conditional jump or move depends on uninitialised value(s) ==89335== at 0x4E63408: internal_utf8_loop (loop.c:298) ==89335== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==89335== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==89335== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==89335== by 0x547A3F: ??? (in /usr/bin/python3.6) ==89335== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==89335== by 0x5BA640: ??? (in /usr/bin/python3.6) ==89335== by 0x551B80: ??? (in /usr/bin/python3.6) ==89335== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==89335== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==89335== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==89335== by 0x509D47: ??? (in /usr/bin/python3.6) ==89335== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==89335== ==89335== Conditional jump or move depends on uninitialised value(s) ==89335== at 0x4E63411: internal_utf8_loop (loop.c:303) ==89335== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==89335== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==89335== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==89335== by 0x547A3F: ??? (in /usr/bin/python3.6) ==89335== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==89335== by 0x5BA640: ??? (in /usr/bin/python3.6) ==89335== by 0x551B80: ??? (in /usr/bin/python3.6) ==89335== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==89335== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==89335== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==89335== by 0x509D47: ??? (in /usr/bin/python3.6) ==89335== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==89335== ==89335== Conditional jump or move depends on uninitialised value(s) ==89335== at 0x4E63458: internal_utf8_loop (loop.c:298) ==89335== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==89335== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==89335== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==89335== by 0x547A3F: ??? (in /usr/bin/python3.6) ==89335== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==89335== by 0x5BA640: ??? (in /usr/bin/python3.6) ==89335== by 0x551B80: ??? (in /usr/bin/python3.6) ==89335== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==89335== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==89335== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==89335== by 0x509D47: ??? (in /usr/bin/python3.6) ==89335== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==89335== ==89335== Conditional jump or move depends on uninitialised value(s) ==89335== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==89335== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==89335== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==89335== by 0x547A3F: ??? (in /usr/bin/python3.6) ==89335== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==89335== by 0x4CAD31: ??? (in /usr/bin/python3.6) ==89335== by 0x551B80: ??? (in /usr/bin/python3.6) ==89335== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==89335== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==89335== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==89335== by 0x509D47: ??? (in /usr/bin/python3.6) ==89335== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==89335== ==89335== ==89335== HEAP SUMMARY: ==89335== in use at exit: 2,764,995 bytes in 1,647 blocks ==89335== total heap usage: 36,172 allocs, 34,525 frees, 73,426,243 bytes allocated ==89335== ==89335== LEAK SUMMARY: ==89335== definitely lost: 0 bytes in 0 blocks ==89335== indirectly lost: 0 bytes in 0 blocks ==89335== possibly lost: 146,155 bytes in 87 blocks ==89335== still reachable: 2,618,840 bytes in 1,560 blocks ==89335== suppressed: 0 bytes in 0 blocks ==89335== Rerun with --leak-check=full to see details of leaked memory ==89335== ==89335== For counts of detected and suppressed errors, rerun with: -v ==89335== Use --track-origins=yes to see where uninitialised values come from ==89335== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11546 from 637) ================================================================================ 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.