!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_HanZepedaAckland_2003_W__MO_286137913440_000 Supported species : W random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = W (Configuration in file "config-F-W.xyz") ----------------------------------------------------------------------------------------------------- Energy = 231.6038833587833 Forces: 1 -1.39695119e+01 -1.98715667e+01 -2.29470740e+01 2 -1.15164949e+01 1.61865532e+01 -3.18531931e+01 3 6.10768946e+00 -3.32469681e+01 -3.37818161e-01 4 -2.29236827e+01 1.31480560e+01 7.53100454e+00 5 1.86904455e+01 -3.75111314e+01 -1.37947332e+01 6 1.40573445e+01 8.48673598e+00 -2.16438848e+01 7 2.12697442e+01 -4.80966132e+01 -3.49614454e+01 8 -2.33400030e+01 -1.55253878e+01 -9.78704808e+00 9 -3.37676696e+01 -1.74252627e+01 -4.68355383e+01 10 -3.59863121e+00 5.79520359e+01 -4.86366220e+01 11 -2.81151437e+01 -4.23270041e+01 2.92379761e+01 12 -3.61433985e+01 3.44406071e+01 1.14997518e+01 13 3.77442904e+01 -2.16127424e+01 -6.25582464e+01 14 1.06503902e+01 1.03800760e+01 -9.30422226e+00 15 5.18232737e+01 -6.24241123e+00 -2.53436111e+01 16 2.21984724e+01 6.16574356e+01 2.97299698e+01 17 -3.96744607e+01 -2.39803100e+01 -8.42375580e+00 18 1.03223941e+01 2.63815565e+01 -2.92933482e+00 19 1.35931596e+01 -3.64426705e+01 2.77795109e+01 20 -2.02390246e+01 1.99227455e+01 2.24970354e+01 21 -2.36409473e+01 -3.20198106e+01 1.28088064e+01 22 4.57098814e+01 2.90575343e+01 2.57779814e+01 23 1.41884729e+01 -8.21125404e+00 2.47564664e+01 24 5.59794064e+00 7.32095314e+00 2.02354783e+01 25 -3.64467375e+01 -2.74554058e+01 -7.27588909e+00 26 1.20584283e+01 5.08397929e+01 -2.10469075e+01 27 1.22909626e+01 -5.01728834e+01 3.76296867e+01 28 -4.81841500e+01 3.83893826e+01 2.81162507e+01 29 -2.80741207e+01 -1.60065682e+01 2.19190609e+01 30 2.64913524e+01 4.72702527e+01 3.61357735e+00 31 3.37139931e+01 -2.19453050e+01 3.28359954e+01 32 1.31257409e+01 3.66595777e+01 3.17107718e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = W (Configuration in file "config-T-W.xyz") ----------------------------------------------------------------------------------------------------- Energy = 231.6038833587833 Forces: 1 -1.39695119e+01 -1.98715667e+01 -2.29470740e+01 2 -1.15164949e+01 1.61865532e+01 -3.18531931e+01 3 6.10768946e+00 -3.32469681e+01 -3.37818161e-01 4 -2.29236827e+01 1.31480560e+01 7.53100454e+00 5 1.86904455e+01 -3.75111314e+01 -1.37947332e+01 6 1.40573445e+01 8.48673598e+00 -2.16438848e+01 7 2.12697442e+01 -4.80966132e+01 -3.49614454e+01 8 -2.33400030e+01 -1.55253878e+01 -9.78704808e+00 9 -3.37676696e+01 -1.74252627e+01 -4.68355383e+01 10 -3.59863121e+00 5.79520359e+01 -4.86366220e+01 11 -2.81151437e+01 -4.23270041e+01 2.92379761e+01 12 -3.61433985e+01 3.44406071e+01 1.14997518e+01 13 3.77442904e+01 -2.16127424e+01 -6.25582464e+01 14 1.06503902e+01 1.03800760e+01 -9.30422226e+00 15 5.18232737e+01 -6.24241123e+00 -2.53436111e+01 16 2.21984724e+01 6.16574356e+01 2.97299698e+01 17 -3.96744607e+01 -2.39803100e+01 -8.42375580e+00 18 1.03223941e+01 2.63815565e+01 -2.92933482e+00 19 1.35931596e+01 -3.64426705e+01 2.77795109e+01 20 -2.02390246e+01 1.99227455e+01 2.24970354e+01 21 -2.36409473e+01 -3.20198106e+01 1.28088064e+01 22 4.57098814e+01 2.90575343e+01 2.57779814e+01 23 1.41884729e+01 -8.21125404e+00 2.47564664e+01 24 5.59794064e+00 7.32095314e+00 2.02354783e+01 25 -3.64467375e+01 -2.74554058e+01 -7.27588909e+00 26 1.20584283e+01 5.08397929e+01 -2.10469075e+01 27 1.22909626e+01 -5.01728834e+01 3.76296867e+01 28 -4.81841500e+01 3.83893826e+01 2.81162507e+01 29 -2.80741207e+01 -1.60065682e+01 2.19190609e+01 30 2.64913524e+01 4.72702527e+01 3.61357735e+00 31 3.37139931e+01 -2.19453050e+01 3.28359954e+01 32 1.31257409e+01 3.66595777e+01 3.17107718e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==87240== Memcheck, a memory error detector ==87240== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==87240== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==87240== Command: python runner2.py EAM_Dynamo_HanZepedaAckland_2003_W__MO_286137913440_000 ==87240== ==87240== Conditional jump or move depends on uninitialised value(s) ==87240== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==87240== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==87240== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==87240== by 0x547A3F: ??? (in /usr/bin/python3.6) ==87240== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==87240== by 0x5BA640: ??? (in /usr/bin/python3.6) ==87240== by 0x551B80: ??? (in /usr/bin/python3.6) ==87240== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==87240== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==87240== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==87240== by 0x509D47: ??? (in /usr/bin/python3.6) ==87240== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==87240== ==87240== Conditional jump or move depends on uninitialised value(s) ==87240== at 0x4E63408: internal_utf8_loop (loop.c:298) ==87240== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==87240== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==87240== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==87240== by 0x547A3F: ??? (in /usr/bin/python3.6) ==87240== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==87240== by 0x5BA640: ??? (in /usr/bin/python3.6) ==87240== by 0x551B80: ??? (in /usr/bin/python3.6) ==87240== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==87240== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==87240== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==87240== by 0x509D47: ??? (in /usr/bin/python3.6) ==87240== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==87240== ==87240== Conditional jump or move depends on uninitialised value(s) ==87240== at 0x4E63411: internal_utf8_loop (loop.c:303) ==87240== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==87240== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==87240== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==87240== by 0x547A3F: ??? (in /usr/bin/python3.6) ==87240== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==87240== by 0x5BA640: ??? (in /usr/bin/python3.6) ==87240== by 0x551B80: ??? (in /usr/bin/python3.6) ==87240== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==87240== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==87240== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==87240== by 0x509D47: ??? (in /usr/bin/python3.6) ==87240== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==87240== ==87240== Conditional jump or move depends on uninitialised value(s) ==87240== at 0x4E63458: internal_utf8_loop (loop.c:298) ==87240== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==87240== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==87240== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==87240== by 0x547A3F: ??? (in /usr/bin/python3.6) ==87240== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==87240== by 0x5BA640: ??? (in /usr/bin/python3.6) ==87240== by 0x551B80: ??? (in /usr/bin/python3.6) ==87240== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==87240== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==87240== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==87240== by 0x509D47: ??? (in /usr/bin/python3.6) ==87240== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==87240== ==87240== Conditional jump or move depends on uninitialised value(s) ==87240== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==87240== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==87240== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==87240== by 0x547A3F: ??? (in /usr/bin/python3.6) ==87240== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==87240== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==87240== by 0x4F8388: ??? (in /usr/bin/python3.6) ==87240== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==87240== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==87240== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==87240== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==87240== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==87240== ==87240== ==87240== HEAP SUMMARY: ==87240== in use at exit: 2,764,995 bytes in 1,647 blocks ==87240== total heap usage: 36,172 allocs, 34,525 frees, 73,424,279 bytes allocated ==87240== ==87240== LEAK SUMMARY: ==87240== definitely lost: 0 bytes in 0 blocks ==87240== indirectly lost: 0 bytes in 0 blocks ==87240== possibly lost: 146,155 bytes in 87 blocks ==87240== still reachable: 2,618,840 bytes in 1,560 blocks ==87240== suppressed: 0 bytes in 0 blocks ==87240== Rerun with --leak-check=full to see details of leaked memory ==87240== ==87240== For counts of detected and suppressed errors, rerun with: -v ==87240== Use --track-origins=yes to see where uninitialised values come from ==87240== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12362 from 652) ================================================================================ 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.