!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_MendelevKramerBecker_2008_Cu__MO_945691923444_005 Supported species : Cu random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Cu (Configuration in file "config-F-Cu.xyz") ----------------------------------------------------------------------------------------------------- Energy = 14.970895025290236 Forces: 1 -1.50365592e+01 -3.28249892e+01 -4.98012788e+01 2 -1.01072693e+01 1.18333987e+01 -5.79918595e+00 3 2.68449671e+01 -2.45359376e+01 1.58707244e+01 4 -1.62833756e+01 5.37497401e+01 3.25490184e+01 5 9.01637971e+00 -1.42964097e+01 -1.83378502e+00 6 2.37795726e+00 3.75168424e-01 -2.82605924e+00 7 4.40397607e+00 -3.88874863e+01 -4.74969519e+01 8 -2.98557760e+01 -2.62087943e+01 1.02699711e+00 9 -7.20142522e+00 -2.09189575e+01 -2.78376807e+01 10 -3.01899888e+00 1.47114689e+01 -1.75567223e+01 11 -2.30345553e+01 -1.61215472e+01 5.62855305e+00 12 -5.50473395e+00 1.91901256e+01 2.02314755e+01 13 -1.97794968e+01 -8.91142928e+00 -6.26072021e+01 14 9.68301429e+00 8.98440781e+00 -3.11700007e+00 15 7.03548956e+01 1.55481179e+01 1.69720475e+01 16 1.59654158e+01 4.69670337e+01 1.14758936e+01 17 -7.45326611e+00 -2.70885065e+01 -2.84891144e+01 18 4.70803376e+00 2.68328401e+00 4.64587378e-01 19 2.93561937e+00 -3.45860916e+00 3.37949420e+00 20 -1.62104801e+00 2.49897764e+01 2.93868586e+01 21 -2.26632354e+01 -1.04768551e+01 9.16651525e+00 22 2.23143898e+01 3.26088113e+01 2.59917334e+01 23 9.24277030e+00 -8.39041752e-01 1.71858043e+01 24 -8.57181634e-01 1.55555456e+00 2.19728319e+00 25 -3.28302119e+00 -4.75298525e+00 3.57374873e+00 26 -2.47136223e+01 1.73887108e+01 -1.08232675e+01 27 2.90849529e+01 -4.28987851e+01 1.25452825e+01 28 -3.99685167e+01 3.71390743e+01 -6.80583344e+00 29 -3.24171490e+00 -2.44220500e+01 3.09675727e+01 30 3.05913115e+00 4.23774068e+00 2.07739723e+00 31 2.07644874e+00 1.35922668e-01 1.81549387e+00 32 2.15558447e+01 4.54404801e+00 2.24876006e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Cu (Configuration in file "config-T-Cu.xyz") ----------------------------------------------------------------------------------------------------- Energy = 14.970895025290236 Forces: 1 -1.50365592e+01 -3.28249892e+01 -4.98012788e+01 2 -1.01072693e+01 1.18333987e+01 -5.79918595e+00 3 2.68449671e+01 -2.45359376e+01 1.58707244e+01 4 -1.62833756e+01 5.37497401e+01 3.25490184e+01 5 9.01637971e+00 -1.42964097e+01 -1.83378502e+00 6 2.37795726e+00 3.75168424e-01 -2.82605924e+00 7 4.40397607e+00 -3.88874863e+01 -4.74969519e+01 8 -2.98557760e+01 -2.62087943e+01 1.02699711e+00 9 -7.20142522e+00 -2.09189575e+01 -2.78376807e+01 10 -3.01899888e+00 1.47114689e+01 -1.75567223e+01 11 -2.30345553e+01 -1.61215472e+01 5.62855305e+00 12 -5.50473395e+00 1.91901256e+01 2.02314755e+01 13 -1.97794968e+01 -8.91142928e+00 -6.26072021e+01 14 9.68301429e+00 8.98440781e+00 -3.11700007e+00 15 7.03548956e+01 1.55481179e+01 1.69720475e+01 16 1.59654158e+01 4.69670337e+01 1.14758936e+01 17 -7.45326611e+00 -2.70885065e+01 -2.84891144e+01 18 4.70803376e+00 2.68328401e+00 4.64587378e-01 19 2.93561937e+00 -3.45860916e+00 3.37949420e+00 20 -1.62104801e+00 2.49897764e+01 2.93868586e+01 21 -2.26632354e+01 -1.04768551e+01 9.16651525e+00 22 2.23143898e+01 3.26088113e+01 2.59917334e+01 23 9.24277030e+00 -8.39041752e-01 1.71858043e+01 24 -8.57181634e-01 1.55555456e+00 2.19728319e+00 25 -3.28302119e+00 -4.75298525e+00 3.57374873e+00 26 -2.47136223e+01 1.73887108e+01 -1.08232675e+01 27 2.90849529e+01 -4.28987851e+01 1.25452825e+01 28 -3.99685167e+01 3.71390743e+01 -6.80583344e+00 29 -3.24171490e+00 -2.44220500e+01 3.09675727e+01 30 3.05913115e+00 4.23774068e+00 2.07739723e+00 31 2.07644874e+00 1.35922668e-01 1.81549387e+00 32 2.15558447e+01 4.54404801e+00 2.24876006e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==88889== Memcheck, a memory error detector ==88889== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==88889== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==88889== Command: python runner2.py EAM_Dynamo_MendelevKramerBecker_2008_Cu__MO_945691923444_005 ==88889== ==88889== Conditional jump or move depends on uninitialised value(s) ==88889== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==88889== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88889== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88889== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88889== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88889== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88889== by 0x551B80: ??? (in /usr/bin/python3.6) ==88889== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88889== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88889== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88889== by 0x509D47: ??? (in /usr/bin/python3.6) ==88889== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88889== ==88889== Conditional jump or move depends on uninitialised value(s) ==88889== at 0x4E63408: internal_utf8_loop (loop.c:298) ==88889== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==88889== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88889== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88889== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88889== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88889== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88889== by 0x551B80: ??? (in /usr/bin/python3.6) ==88889== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88889== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88889== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88889== by 0x509D47: ??? (in /usr/bin/python3.6) ==88889== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88889== ==88889== Conditional jump or move depends on uninitialised value(s) ==88889== at 0x4E63411: internal_utf8_loop (loop.c:303) ==88889== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==88889== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88889== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88889== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88889== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88889== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88889== by 0x551B80: ??? (in /usr/bin/python3.6) ==88889== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88889== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88889== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88889== by 0x509D47: ??? (in /usr/bin/python3.6) ==88889== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88889== ==88889== Conditional jump or move depends on uninitialised value(s) ==88889== at 0x4E63458: internal_utf8_loop (loop.c:298) ==88889== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==88889== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88889== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88889== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88889== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88889== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88889== by 0x551B80: ??? (in /usr/bin/python3.6) ==88889== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88889== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88889== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88889== by 0x509D47: ??? (in /usr/bin/python3.6) ==88889== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88889== ==88889== Conditional jump or move depends on uninitialised value(s) ==88889== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==88889== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88889== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88889== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88889== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==88889== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==88889== by 0x4F8388: ??? (in /usr/bin/python3.6) ==88889== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==88889== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==88889== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==88889== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==88889== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88889== ==88889== ==88889== HEAP SUMMARY: ==88889== in use at exit: 2,764,995 bytes in 1,647 blocks ==88889== total heap usage: 36,172 allocs, 34,525 frees, 73,429,434 bytes allocated ==88889== ==88889== LEAK SUMMARY: ==88889== definitely lost: 0 bytes in 0 blocks ==88889== indirectly lost: 0 bytes in 0 blocks ==88889== possibly lost: 146,155 bytes in 87 blocks ==88889== still reachable: 2,618,840 bytes in 1,560 blocks ==88889== suppressed: 0 bytes in 0 blocks ==88889== Rerun with --leak-check=full to see details of leaked memory ==88889== ==88889== For counts of detected and suppressed errors, rerun with: -v ==88889== Use --track-origins=yes to see where uninitialised values come from ==88889== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12369 from 655) ================================================================================ 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.