!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Foiles_1985_Cu__MO_831121933939_000 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 = -3.1074024200010335 Forces: 1 -2.46540309e+00 -6.53663666e+00 -6.90877549e+00 2 -6.24872896e+00 6.46701915e+00 -4.78004603e+00 3 3.24528648e+00 -8.28878141e+00 -5.01398488e+00 4 -3.36472126e+00 5.12731336e+00 4.65801791e+00 5 3.31025591e+00 -1.18219313e+01 -1.19889470e+00 6 5.57123581e+00 3.44494953e+00 -5.38921803e+00 7 3.43846073e+00 -2.37440832e+01 -2.25801074e+01 8 -8.89508286e+00 -1.01978463e+01 8.04095828e-01 9 -1.02448431e+01 -5.91681851e+00 -1.47404290e+01 10 -4.09661079e+00 1.68660070e+01 -1.67584803e+01 11 -4.17634016e+00 -1.31448309e+01 1.29343299e+01 12 -6.81232715e+00 1.04686114e+01 2.70917529e+00 13 -4.67028083e+00 -7.76712733e+00 -3.61010959e+01 14 5.27512599e+00 7.24169781e+00 -4.24569332e+00 15 3.12040386e+01 -1.37283897e+00 1.26886079e+01 16 4.96068388e+00 2.28224052e+01 1.33580340e+01 17 -8.57715624e+00 -3.35422518e+00 -3.68962627e+00 18 -2.84878954e+00 8.27815289e+00 4.17954620e+00 19 3.53244112e+00 -7.19155251e+00 4.88767512e+00 20 -2.75150523e+00 6.12757044e+00 4.03474644e+00 21 -9.50574106e+00 -1.00025214e+01 3.25650773e+00 22 1.41324689e+01 2.04446998e+01 1.80329849e+01 23 6.34604857e+00 -2.51573350e+00 5.74305652e+00 24 -8.64116727e-01 6.38464311e+00 4.92178168e+00 25 -6.17215685e+00 -7.46384069e+00 2.71726812e+00 26 -5.15812069e+00 1.44018791e+01 -8.46043617e+00 27 1.15563907e+01 -2.86764925e+01 8.64761859e+00 28 -2.24038755e+01 1.95051188e+01 3.62570330e+00 29 -6.35057310e+00 -1.02765261e+01 3.17038771e+00 30 5.85689216e+00 1.20819352e+01 -5.57804517e+00 31 1.04159709e+01 -1.25883901e+01 1.29853639e+01 32 6.76107334e+00 1.11981737e+01 1.20899317e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Cu (Configuration in file "config-T-Cu.xyz") ----------------------------------------------------------------------------------------------------- Energy = -3.1074024200010335 Forces: 1 -2.46540309e+00 -6.53663666e+00 -6.90877549e+00 2 -6.24872896e+00 6.46701915e+00 -4.78004603e+00 3 3.24528648e+00 -8.28878141e+00 -5.01398488e+00 4 -3.36472126e+00 5.12731336e+00 4.65801791e+00 5 3.31025591e+00 -1.18219313e+01 -1.19889470e+00 6 5.57123581e+00 3.44494953e+00 -5.38921803e+00 7 3.43846073e+00 -2.37440832e+01 -2.25801074e+01 8 -8.89508286e+00 -1.01978463e+01 8.04095828e-01 9 -1.02448431e+01 -5.91681851e+00 -1.47404290e+01 10 -4.09661079e+00 1.68660070e+01 -1.67584803e+01 11 -4.17634016e+00 -1.31448309e+01 1.29343299e+01 12 -6.81232715e+00 1.04686114e+01 2.70917529e+00 13 -4.67028083e+00 -7.76712733e+00 -3.61010959e+01 14 5.27512599e+00 7.24169781e+00 -4.24569332e+00 15 3.12040386e+01 -1.37283897e+00 1.26886079e+01 16 4.96068388e+00 2.28224052e+01 1.33580340e+01 17 -8.57715624e+00 -3.35422518e+00 -3.68962627e+00 18 -2.84878954e+00 8.27815289e+00 4.17954620e+00 19 3.53244112e+00 -7.19155251e+00 4.88767512e+00 20 -2.75150523e+00 6.12757044e+00 4.03474644e+00 21 -9.50574106e+00 -1.00025214e+01 3.25650773e+00 22 1.41324689e+01 2.04446998e+01 1.80329849e+01 23 6.34604857e+00 -2.51573350e+00 5.74305652e+00 24 -8.64116727e-01 6.38464311e+00 4.92178168e+00 25 -6.17215685e+00 -7.46384069e+00 2.71726812e+00 26 -5.15812069e+00 1.44018791e+01 -8.46043617e+00 27 1.15563907e+01 -2.86764925e+01 8.64761859e+00 28 -2.24038755e+01 1.95051188e+01 3.62570330e+00 29 -6.35057310e+00 -1.02765261e+01 3.17038771e+00 30 5.85689216e+00 1.20819352e+01 -5.57804517e+00 31 1.04159709e+01 -1.25883901e+01 1.29853639e+01 32 6.76107334e+00 1.11981737e+01 1.20899317e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==86790== Memcheck, a memory error detector ==86790== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==86790== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==86790== Command: python runner2.py EAM_Dynamo_Foiles_1985_Cu__MO_831121933939_000 ==86790== ==86790== Conditional jump or move depends on uninitialised value(s) ==86790== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==86790== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==86790== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==86790== by 0x547A3F: ??? (in /usr/bin/python3.6) ==86790== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==86790== by 0x5BA640: ??? (in /usr/bin/python3.6) ==86790== by 0x551B80: ??? (in /usr/bin/python3.6) ==86790== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==86790== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==86790== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==86790== by 0x509D47: ??? (in /usr/bin/python3.6) ==86790== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==86790== ==86790== Conditional jump or move depends on uninitialised value(s) ==86790== at 0x4E63408: internal_utf8_loop (loop.c:298) ==86790== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==86790== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==86790== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==86790== by 0x547A3F: ??? (in /usr/bin/python3.6) ==86790== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==86790== by 0x5BA640: ??? (in /usr/bin/python3.6) ==86790== by 0x551B80: ??? (in /usr/bin/python3.6) ==86790== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==86790== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==86790== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==86790== by 0x509D47: ??? (in /usr/bin/python3.6) ==86790== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==86790== ==86790== Conditional jump or move depends on uninitialised value(s) ==86790== at 0x4E63411: internal_utf8_loop (loop.c:303) ==86790== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==86790== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==86790== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==86790== by 0x547A3F: ??? (in /usr/bin/python3.6) ==86790== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==86790== by 0x5BA640: ??? (in /usr/bin/python3.6) ==86790== by 0x551B80: ??? (in /usr/bin/python3.6) ==86790== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==86790== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==86790== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==86790== by 0x509D47: ??? (in /usr/bin/python3.6) ==86790== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==86790== ==86790== Conditional jump or move depends on uninitialised value(s) ==86790== at 0x4E63458: internal_utf8_loop (loop.c:298) ==86790== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==86790== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==86790== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==86790== by 0x547A3F: ??? (in /usr/bin/python3.6) ==86790== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==86790== by 0x5BA640: ??? (in /usr/bin/python3.6) ==86790== by 0x551B80: ??? (in /usr/bin/python3.6) ==86790== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==86790== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==86790== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==86790== by 0x509D47: ??? (in /usr/bin/python3.6) ==86790== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==86790== ==86790== Conditional jump or move depends on uninitialised value(s) ==86790== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==86790== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==86790== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==86790== by 0x547A3F: ??? (in /usr/bin/python3.6) ==86790== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==86790== by 0x4CAD31: ??? (in /usr/bin/python3.6) ==86790== by 0x551B80: ??? (in /usr/bin/python3.6) ==86790== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==86790== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==86790== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==86790== by 0x509D47: ??? (in /usr/bin/python3.6) ==86790== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==86790== ==86790== ==86790== HEAP SUMMARY: ==86790== in use at exit: 2,764,995 bytes in 1,647 blocks ==86790== total heap usage: 36,176 allocs, 34,529 frees, 62,512,821 bytes allocated ==86790== ==86790== LEAK SUMMARY: ==86790== definitely lost: 0 bytes in 0 blocks ==86790== indirectly lost: 0 bytes in 0 blocks ==86790== possibly lost: 146,155 bytes in 87 blocks ==86790== still reachable: 2,618,840 bytes in 1,560 blocks ==86790== suppressed: 0 bytes in 0 blocks ==86790== Rerun with --leak-check=full to see details of leaked memory ==86790== ==86790== For counts of detected and suppressed errors, rerun with: -v ==86790== Use --track-origins=yes to see where uninitialised values come from ==86790== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11641 from 664) ================================================================================ 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.