!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_AdamsFoilesWolfer_1989Universal6_Ni__MO_258836200237_000 Supported species : Ni random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Ni (Configuration in file "config-F-Ni.xyz") ----------------------------------------------------------------------------------------------------- Energy = -3.3514972332993143 Forces: 1 -1.00658417e+01 -8.01701801e+00 -1.35852574e+01 2 -7.55406309e+00 1.36104011e+01 -6.96083361e+00 3 7.68575433e+00 -1.12471260e+01 6.18563829e+00 4 -8.76366091e+00 8.42170175e+00 6.49633707e+00 5 4.39289669e+00 -1.82966080e+01 -2.54203706e+00 6 1.07569555e+01 7.40506852e+00 -9.97857633e+00 7 2.82630731e+00 -3.54051137e+01 -3.25631505e+01 8 -1.39820730e+01 -1.26735876e+01 3.92475536e+00 9 -7.96850221e+00 -9.24075038e+00 -1.54855264e+01 10 -6.29242827e+00 1.65013807e+01 -2.00006787e+01 11 -2.85730909e+00 -9.98041439e+00 7.67333325e+00 12 -7.60983555e+00 1.09891598e+01 6.93965158e+00 13 -1.38794577e+01 -1.17636579e+01 -4.85396276e+01 14 6.52581022e+00 9.46480841e+00 -5.40345181e+00 15 4.08549492e+01 -7.89287920e+00 1.52946582e+01 16 6.78058958e+00 2.97136904e+01 1.82828528e+01 17 -8.66289102e+00 -4.79947005e+00 -8.40416412e+00 18 1.06167298e+00 5.20245583e+00 7.53528045e+00 19 8.67677438e+00 -6.15249307e+00 6.30464485e+00 20 -3.47389310e+00 8.67324993e+00 5.48070096e+00 21 -1.56867084e+01 -1.01875543e+01 6.76900292e+00 22 1.90779859e+01 3.23675191e+01 2.62120407e+01 23 9.69139501e+00 -5.46985657e+00 7.89229240e+00 24 -8.12514682e+00 3.87048830e+00 2.65775724e+00 25 -1.15547215e+01 -1.04538824e+01 -5.08059503e+00 26 -6.06749968e+00 1.91150314e+01 -1.24788166e+01 27 2.27463420e+01 -4.33343147e+01 1.36860703e+01 28 -3.45317994e+01 3.24019771e+01 6.92533480e+00 29 -8.80792326e+00 -1.41667408e+01 3.48925673e+00 30 6.81224780e+00 1.37071261e+01 3.96233998e+00 31 1.79795505e+01 -7.35713594e+00 1.03182200e+01 32 1.00145233e+01 1.49945446e+01 1.49925473e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Ni (Configuration in file "config-T-Ni.xyz") ----------------------------------------------------------------------------------------------------- Energy = -3.3514972332993143 Forces: 1 -1.00658417e+01 -8.01701801e+00 -1.35852574e+01 2 -7.55406309e+00 1.36104011e+01 -6.96083361e+00 3 7.68575433e+00 -1.12471260e+01 6.18563829e+00 4 -8.76366091e+00 8.42170175e+00 6.49633707e+00 5 4.39289669e+00 -1.82966080e+01 -2.54203706e+00 6 1.07569555e+01 7.40506852e+00 -9.97857633e+00 7 2.82630731e+00 -3.54051137e+01 -3.25631505e+01 8 -1.39820730e+01 -1.26735876e+01 3.92475536e+00 9 -7.96850221e+00 -9.24075038e+00 -1.54855264e+01 10 -6.29242827e+00 1.65013807e+01 -2.00006787e+01 11 -2.85730909e+00 -9.98041439e+00 7.67333325e+00 12 -7.60983555e+00 1.09891598e+01 6.93965158e+00 13 -1.38794577e+01 -1.17636579e+01 -4.85396276e+01 14 6.52581022e+00 9.46480841e+00 -5.40345181e+00 15 4.08549492e+01 -7.89287920e+00 1.52946582e+01 16 6.78058958e+00 2.97136904e+01 1.82828528e+01 17 -8.66289102e+00 -4.79947005e+00 -8.40416412e+00 18 1.06167298e+00 5.20245583e+00 7.53528045e+00 19 8.67677438e+00 -6.15249307e+00 6.30464485e+00 20 -3.47389310e+00 8.67324993e+00 5.48070096e+00 21 -1.56867084e+01 -1.01875543e+01 6.76900292e+00 22 1.90779859e+01 3.23675191e+01 2.62120407e+01 23 9.69139501e+00 -5.46985657e+00 7.89229240e+00 24 -8.12514682e+00 3.87048830e+00 2.65775724e+00 25 -1.15547215e+01 -1.04538824e+01 -5.08059503e+00 26 -6.06749968e+00 1.91150314e+01 -1.24788166e+01 27 2.27463420e+01 -4.33343147e+01 1.36860703e+01 28 -3.45317994e+01 3.24019771e+01 6.92533480e+00 29 -8.80792326e+00 -1.41667408e+01 3.48925673e+00 30 6.81224780e+00 1.37071261e+01 3.96233998e+00 31 1.79795505e+01 -7.35713594e+00 1.03182200e+01 32 1.00145233e+01 1.49945446e+01 1.49925473e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==85164== Memcheck, a memory error detector ==85164== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==85164== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==85164== Command: python runner2.py EAM_Dynamo_AdamsFoilesWolfer_1989Universal6_Ni__MO_258836200237_000 ==85164== ==85164== Conditional jump or move depends on uninitialised value(s) ==85164== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==85164== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==85164== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85164== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85164== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85164== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85164== by 0x551B80: ??? (in /usr/bin/python3.6) ==85164== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85164== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85164== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85164== by 0x509D47: ??? (in /usr/bin/python3.6) ==85164== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85164== ==85164== Conditional jump or move depends on uninitialised value(s) ==85164== at 0x4E63408: internal_utf8_loop (loop.c:298) ==85164== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==85164== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85164== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85164== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85164== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85164== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85164== by 0x551B80: ??? (in /usr/bin/python3.6) ==85164== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85164== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85164== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85164== by 0x509D47: ??? (in /usr/bin/python3.6) ==85164== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85164== ==85164== Conditional jump or move depends on uninitialised value(s) ==85164== at 0x4E63411: internal_utf8_loop (loop.c:303) ==85164== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==85164== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85164== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85164== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85164== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85164== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85164== by 0x551B80: ??? (in /usr/bin/python3.6) ==85164== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85164== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85164== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85164== by 0x509D47: ??? (in /usr/bin/python3.6) ==85164== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85164== ==85164== Conditional jump or move depends on uninitialised value(s) ==85164== at 0x4E63458: internal_utf8_loop (loop.c:298) ==85164== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==85164== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85164== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85164== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85164== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85164== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85164== by 0x551B80: ??? (in /usr/bin/python3.6) ==85164== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85164== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85164== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85164== by 0x509D47: ??? (in /usr/bin/python3.6) ==85164== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85164== ==85164== Conditional jump or move depends on uninitialised value(s) ==85164== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==85164== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==85164== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85164== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85164== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==85164== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==85164== by 0x4F8388: ??? (in /usr/bin/python3.6) ==85164== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==85164== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==85164== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==85164== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==85164== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85164== ==85164== ==85164== HEAP SUMMARY: ==85164== in use at exit: 2,764,995 bytes in 1,647 blocks ==85164== total heap usage: 36,176 allocs, 34,529 frees, 62,518,232 bytes allocated ==85164== ==85164== LEAK SUMMARY: ==85164== definitely lost: 0 bytes in 0 blocks ==85164== indirectly lost: 0 bytes in 0 blocks ==85164== possibly lost: 146,155 bytes in 87 blocks ==85164== still reachable: 2,618,840 bytes in 1,560 blocks ==85164== suppressed: 0 bytes in 0 blocks ==85164== Rerun with --leak-check=full to see details of leaked memory ==85164== ==85164== For counts of detected and suppressed errors, rerun with: -v ==85164== Use --track-origins=yes to see where uninitialised values come from ==85164== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12383 from 658) ================================================================================ 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.