!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_AcklandTichyVitek_1987_Ag__MO_212700056563_005 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 = 170.17698060029156 Forces: 1 -7.86921664e+00 -1.38880688e+01 -1.24850032e+01 2 -4.32757778e+00 5.92388328e+00 -1.48490319e+01 3 5.18639952e+00 -1.47462564e+01 -2.31439995e+00 4 -1.37889213e+01 5.41496809e+00 5.15309741e+00 5 9.06661203e-01 -1.95303578e+01 -9.62084628e+00 6 1.25529405e+01 2.43690805e+00 -1.46188643e+01 7 1.27353989e+01 -2.15711325e+01 -9.34135543e+00 8 -9.73896431e+00 -9.13038633e+00 4.45470984e+00 9 -9.58902738e+00 -1.13645777e+01 -2.12453184e+01 10 9.17551530e+00 2.01820060e+01 -1.67100959e+01 11 -1.44154085e+00 -1.24713738e+01 -6.16650944e+00 12 -2.10268508e+01 1.91066103e+01 7.58679387e+00 13 -5.73901628e+00 -4.57807254e+00 -3.42063264e+01 14 1.16936357e+01 1.36392682e+01 -1.10919008e+01 15 3.21140066e+01 -6.41588664e+00 2.96324650e+00 16 -3.25513814e-01 3.24469347e+01 1.84107866e+00 17 -2.16527126e+01 -1.34893291e+01 -4.80664258e+00 18 8.40067698e+00 8.97364526e+00 -1.82912762e+00 19 7.81890226e+00 -1.66520416e+01 1.41287651e+01 20 -1.24537042e+01 8.43657767e+00 1.43324665e+01 21 -1.05171242e+01 -1.40658577e+01 5.57278296e+00 22 1.98527653e+01 1.36704572e+01 8.98265526e+00 23 7.04214467e+00 -4.23921696e+00 1.19822613e+01 24 8.80143702e-01 -3.50430871e+00 1.06263785e+01 25 -2.50292211e+01 -2.31036493e+00 1.00396439e+01 26 -4.74354130e+00 2.71488181e+01 -4.09749472e+00 27 6.75607478e-01 -1.77997970e+01 1.52642412e+01 28 -1.99878382e+01 1.58213178e+01 7.56700771e+00 29 -1.92466859e-01 -1.37404315e+01 8.07095021e+00 30 1.49061465e+01 1.69446946e+01 8.15510946e-01 31 1.84502997e+01 -7.26619443e+00 1.46254604e+01 32 6.03199330e+00 1.66175651e+01 1.93758667e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Ag (Configuration in file "config-T-Ag.xyz") ----------------------------------------------------------------------------------------------------- Energy = 170.17698060029156 Forces: 1 -7.86921664e+00 -1.38880688e+01 -1.24850032e+01 2 -4.32757778e+00 5.92388328e+00 -1.48490319e+01 3 5.18639952e+00 -1.47462564e+01 -2.31439995e+00 4 -1.37889213e+01 5.41496809e+00 5.15309741e+00 5 9.06661203e-01 -1.95303578e+01 -9.62084628e+00 6 1.25529405e+01 2.43690805e+00 -1.46188643e+01 7 1.27353989e+01 -2.15711325e+01 -9.34135543e+00 8 -9.73896431e+00 -9.13038633e+00 4.45470984e+00 9 -9.58902738e+00 -1.13645777e+01 -2.12453184e+01 10 9.17551530e+00 2.01820060e+01 -1.67100959e+01 11 -1.44154085e+00 -1.24713738e+01 -6.16650944e+00 12 -2.10268508e+01 1.91066103e+01 7.58679387e+00 13 -5.73901628e+00 -4.57807254e+00 -3.42063264e+01 14 1.16936357e+01 1.36392682e+01 -1.10919008e+01 15 3.21140066e+01 -6.41588664e+00 2.96324650e+00 16 -3.25513814e-01 3.24469347e+01 1.84107866e+00 17 -2.16527126e+01 -1.34893291e+01 -4.80664258e+00 18 8.40067698e+00 8.97364526e+00 -1.82912762e+00 19 7.81890226e+00 -1.66520416e+01 1.41287651e+01 20 -1.24537042e+01 8.43657767e+00 1.43324665e+01 21 -1.05171242e+01 -1.40658577e+01 5.57278296e+00 22 1.98527653e+01 1.36704572e+01 8.98265526e+00 23 7.04214467e+00 -4.23921696e+00 1.19822613e+01 24 8.80143702e-01 -3.50430871e+00 1.06263785e+01 25 -2.50292211e+01 -2.31036493e+00 1.00396439e+01 26 -4.74354130e+00 2.71488181e+01 -4.09749472e+00 27 6.75607478e-01 -1.77997970e+01 1.52642412e+01 28 -1.99878382e+01 1.58213178e+01 7.56700771e+00 29 -1.92466859e-01 -1.37404315e+01 8.07095021e+00 30 1.49061465e+01 1.69446946e+01 8.15510946e-01 31 1.84502997e+01 -7.26619443e+00 1.46254604e+01 32 6.03199330e+00 1.66175651e+01 1.93758667e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==83465== Memcheck, a memory error detector ==83465== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==83465== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==83465== Command: python runner2.py EAM_Dynamo_AcklandTichyVitek_1987_Ag__MO_212700056563_005 ==83465== ==83465== Conditional jump or move depends on uninitialised value(s) ==83465== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==83465== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==83465== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83465== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83465== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83465== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83465== by 0x551B80: ??? (in /usr/bin/python3.6) ==83465== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83465== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83465== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83465== by 0x509D47: ??? (in /usr/bin/python3.6) ==83465== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83465== ==83465== Conditional jump or move depends on uninitialised value(s) ==83465== at 0x4E63408: internal_utf8_loop (loop.c:298) ==83465== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==83465== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==83465== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83465== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83465== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83465== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83465== by 0x551B80: ??? (in /usr/bin/python3.6) ==83465== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83465== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83465== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83465== by 0x509D47: ??? (in /usr/bin/python3.6) ==83465== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83465== ==83465== Conditional jump or move depends on uninitialised value(s) ==83465== at 0x4E63411: internal_utf8_loop (loop.c:303) ==83465== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==83465== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==83465== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83465== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83465== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83465== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83465== by 0x551B80: ??? (in /usr/bin/python3.6) ==83465== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83465== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83465== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83465== by 0x509D47: ??? (in /usr/bin/python3.6) ==83465== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83465== ==83465== Conditional jump or move depends on uninitialised value(s) ==83465== at 0x4E63458: internal_utf8_loop (loop.c:298) ==83465== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==83465== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==83465== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83465== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83465== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==83465== by 0x5BA640: ??? (in /usr/bin/python3.6) ==83465== by 0x551B80: ??? (in /usr/bin/python3.6) ==83465== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==83465== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==83465== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83465== by 0x509D47: ??? (in /usr/bin/python3.6) ==83465== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==83465== ==83465== Conditional jump or move depends on uninitialised value(s) ==83465== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==83465== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==83465== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==83465== by 0x547A3F: ??? (in /usr/bin/python3.6) ==83465== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==83465== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==83465== by 0x4F8388: ??? (in /usr/bin/python3.6) ==83465== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==83465== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==83465== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==83465== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==83465== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==83465== ==83465== ==83465== HEAP SUMMARY: ==83465== in use at exit: 2,764,995 bytes in 1,647 blocks ==83465== total heap usage: 36,172 allocs, 34,525 frees, 73,427,807 bytes allocated ==83465== ==83465== LEAK SUMMARY: ==83465== definitely lost: 0 bytes in 0 blocks ==83465== indirectly lost: 0 bytes in 0 blocks ==83465== possibly lost: 146,155 bytes in 87 blocks ==83465== still reachable: 2,618,840 bytes in 1,560 blocks ==83465== suppressed: 0 bytes in 0 blocks ==83465== Rerun with --leak-check=full to see details of leaked memory ==83465== ==83465== For counts of detected and suppressed errors, rerun with: -v ==83465== Use --track-origins=yes to see where uninitialised values come from ==83465== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12349 from 650) ================================================================================ 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.