!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_2003Potential5_Fe__MO_942420706858_005 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 = 119.74097625398988 Forces: 1 -1.83458491e+01 -2.01476468e+01 -3.93351378e+01 2 -2.55125949e+01 3.02598353e+01 -6.99210780e+00 3 3.77819670e+01 -4.37723732e+01 -1.99302614e+01 4 -1.38855231e+01 3.66553638e+01 1.61100497e+01 5 7.58144318e+00 -4.64904060e+01 2.14497618e+00 6 2.20110575e+01 2.07671240e+01 -1.83163866e+01 7 2.17222293e+01 -7.74363807e+01 -6.97098780e+01 8 -3.36200690e+01 -2.87938595e+01 -2.91236705e+01 9 -3.19308044e+01 -2.31546474e+01 -5.00973689e+01 10 -2.24168389e+01 5.32990030e+01 -5.66253975e+01 11 -1.93291655e+01 -5.15793054e+01 5.02892480e+01 12 -1.15932929e+01 2.80929815e+01 1.24724715e+01 13 -1.05500715e+01 -4.10628366e+01 -1.07905710e+02 14 1.50703134e+01 2.16860504e+01 -1.11580367e+01 15 1.04616224e+02 -5.41602510e+00 2.15257045e+01 16 2.39041862e+01 8.34492030e+01 4.61120951e+01 17 -3.94369331e+01 -3.29384081e+00 1.01212028e+01 18 -9.43531827e+00 1.57392753e+01 2.85632884e+01 19 1.64747415e+01 -4.56235344e+00 1.48256362e+01 20 -2.19924740e+00 6.51173079e+00 4.99457580e+00 21 -3.22421563e+01 -1.77440670e+01 3.43249281e+01 22 4.15918379e+01 5.94186578e+01 4.00590790e+01 23 2.28408122e+00 -7.36180949e+00 1.94605732e+01 24 -1.12724586e+00 9.79497449e-02 3.21116547e+00 25 -1.61647717e+01 -3.88890329e+01 -2.08987165e+01 26 -1.16464009e+01 5.24541485e+01 -3.82542165e+01 27 1.74238705e+01 -8.54260702e+01 4.13980065e+01 28 -7.02489759e+01 6.71648180e+01 2.32621932e+01 29 -2.42144650e+01 -1.62282081e+01 2.92748883e+01 30 1.07764286e+01 2.93194270e+01 -3.91167483e+00 31 4.39325760e+01 -3.11478076e+01 3.73315870e+01 32 2.87287676e+01 3.75911023e+01 3.67768944e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Fe (Configuration in file "config-T-Fe.xyz") ----------------------------------------------------------------------------------------------------- Energy = 119.74097625398988 Forces: 1 -1.83458491e+01 -2.01476468e+01 -3.93351378e+01 2 -2.55125949e+01 3.02598353e+01 -6.99210780e+00 3 3.77819670e+01 -4.37723732e+01 -1.99302614e+01 4 -1.38855231e+01 3.66553638e+01 1.61100497e+01 5 7.58144318e+00 -4.64904060e+01 2.14497618e+00 6 2.20110575e+01 2.07671240e+01 -1.83163866e+01 7 2.17222293e+01 -7.74363807e+01 -6.97098780e+01 8 -3.36200690e+01 -2.87938595e+01 -2.91236705e+01 9 -3.19308044e+01 -2.31546474e+01 -5.00973689e+01 10 -2.24168389e+01 5.32990030e+01 -5.66253975e+01 11 -1.93291655e+01 -5.15793054e+01 5.02892480e+01 12 -1.15932929e+01 2.80929815e+01 1.24724715e+01 13 -1.05500715e+01 -4.10628366e+01 -1.07905710e+02 14 1.50703134e+01 2.16860504e+01 -1.11580367e+01 15 1.04616224e+02 -5.41602510e+00 2.15257045e+01 16 2.39041862e+01 8.34492030e+01 4.61120951e+01 17 -3.94369331e+01 -3.29384081e+00 1.01212028e+01 18 -9.43531827e+00 1.57392753e+01 2.85632884e+01 19 1.64747415e+01 -4.56235344e+00 1.48256362e+01 20 -2.19924740e+00 6.51173079e+00 4.99457580e+00 21 -3.22421563e+01 -1.77440670e+01 3.43249281e+01 22 4.15918379e+01 5.94186578e+01 4.00590790e+01 23 2.28408122e+00 -7.36180949e+00 1.94605732e+01 24 -1.12724586e+00 9.79497449e-02 3.21116547e+00 25 -1.61647717e+01 -3.88890329e+01 -2.08987165e+01 26 -1.16464009e+01 5.24541485e+01 -3.82542165e+01 27 1.74238705e+01 -8.54260702e+01 4.13980065e+01 28 -7.02489759e+01 6.71648180e+01 2.32621932e+01 29 -2.42144650e+01 -1.62282081e+01 2.92748883e+01 30 1.07764286e+01 2.93194270e+01 -3.91167483e+00 31 4.39325760e+01 -3.11478076e+01 3.73315870e+01 32 2.87287676e+01 3.75911023e+01 3.67768944e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==88664== Memcheck, a memory error detector ==88664== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==88664== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==88664== Command: python runner2.py EAM_Dynamo_MendelevHanSrolovitz_2003Potential5_Fe__MO_942420706858_005 ==88664== ==88664== Conditional jump or move depends on uninitialised value(s) ==88664== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==88664== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88664== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88664== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88664== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88664== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88664== by 0x551B80: ??? (in /usr/bin/python3.6) ==88664== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88664== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88664== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88664== by 0x509D47: ??? (in /usr/bin/python3.6) ==88664== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88664== ==88664== Conditional jump or move depends on uninitialised value(s) ==88664== at 0x4E63408: internal_utf8_loop (loop.c:298) ==88664== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==88664== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88664== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88664== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88664== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88664== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88664== by 0x551B80: ??? (in /usr/bin/python3.6) ==88664== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88664== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88664== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88664== by 0x509D47: ??? (in /usr/bin/python3.6) ==88664== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88664== ==88664== Conditional jump or move depends on uninitialised value(s) ==88664== at 0x4E63411: internal_utf8_loop (loop.c:303) ==88664== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==88664== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88664== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88664== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88664== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88664== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88664== by 0x551B80: ??? (in /usr/bin/python3.6) ==88664== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88664== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88664== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88664== by 0x509D47: ??? (in /usr/bin/python3.6) ==88664== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88664== ==88664== Conditional jump or move depends on uninitialised value(s) ==88664== at 0x4E63458: internal_utf8_loop (loop.c:298) ==88664== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==88664== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88664== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88664== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88664== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88664== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88664== by 0x551B80: ??? (in /usr/bin/python3.6) ==88664== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88664== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88664== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88664== by 0x509D47: ??? (in /usr/bin/python3.6) ==88664== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88664== ==88664== Conditional jump or move depends on uninitialised value(s) ==88664== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==88664== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88664== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88664== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88664== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==88664== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==88664== by 0x4F8388: ??? (in /usr/bin/python3.6) ==88664== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==88664== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==88664== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==88664== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==88664== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88664== ==88664== ==88664== HEAP SUMMARY: ==88664== in use at exit: 2,764,995 bytes in 1,647 blocks ==88664== total heap usage: 36,172 allocs, 34,525 frees, 73,432,128 bytes allocated ==88664== ==88664== LEAK SUMMARY: ==88664== definitely lost: 0 bytes in 0 blocks ==88664== indirectly lost: 0 bytes in 0 blocks ==88664== possibly lost: 146,155 bytes in 87 blocks ==88664== still reachable: 2,618,840 bytes in 1,560 blocks ==88664== suppressed: 0 bytes in 0 blocks ==88664== Rerun with --leak-check=full to see details of leaked memory ==88664== ==88664== For counts of detected and suppressed errors, rerun with: -v ==88664== Use --track-origins=yes to see where uninitialised values come from ==88664== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11166 from 663) ================================================================================ 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.