!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 ----------------------------------------------------------------------------------------------------- Results for KIM Model : Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Fe__MO_331285495617_004 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 = 104.10247284362835 Forces: 1 -4.83122374e+00 -1.01593768e+01 -1.08649561e+01 2 -4.82694804e+00 8.31874758e+00 -8.44719407e+00 3 5.91309747e+00 -1.59708124e+01 -7.40108955e+00 4 -8.89809478e+00 7.68719229e+00 4.89920877e+00 5 -1.77334901e+00 -1.68054329e+01 -4.20239286e+00 6 1.00750133e+01 7.55845299e+00 -1.08395680e+01 7 9.45768280e+00 -3.12274698e+01 -2.26637898e+01 8 -1.50336914e+01 -1.12280400e+01 -3.18867848e+00 9 -1.03584562e+01 -9.42378793e+00 -1.84283064e+01 10 -4.75565670e+00 2.05774207e+01 -2.17532950e+01 11 -4.49001168e+00 -1.60210871e+01 4.73788720e+00 12 -1.22508364e+01 1.73578880e+01 3.40862700e+00 13 -7.76090028e+00 -1.65400839e+01 -4.48319005e+01 14 9.65089877e+00 1.21615844e+01 -8.48070566e+00 15 4.02363157e+01 -1.00961900e+01 7.75223836e+00 16 4.36414647e+00 3.40394938e+01 1.49111272e+01 17 -1.71483422e+01 -8.72168380e+00 -5.00298207e+00 18 5.56267706e+00 1.43952601e+01 8.80146774e+00 19 8.52192854e+00 -1.03553636e+01 9.61049268e+00 20 -6.00399409e+00 1.03385846e+01 8.16639149e+00 21 -1.51822924e+01 -1.37753388e+01 4.42647428e+00 22 2.29460575e+01 2.46760671e+01 2.30571282e+01 23 9.23803372e+00 -5.45663241e+00 7.03865320e+00 24 -5.52242395e+00 8.16477099e+00 6.96541014e+00 25 -1.40698647e+01 -9.36789249e+00 8.79919122e+00 26 -6.40926239e+00 2.25442147e+01 -1.11028842e+01 27 1.31691057e+01 -3.77780627e+01 1.29611964e+01 28 -2.92844727e+01 2.44119401e+01 5.94831436e+00 29 -9.35045826e+00 -1.36232595e+01 1.01663226e+01 30 1.09643575e+01 1.69928594e+01 5.18140838e+00 31 1.78698290e+01 -9.17363424e+00 1.27956851e+01 32 9.98113531e+00 1.64996716e+01 1.75805185e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Fe (Configuration in file "config-T-Fe.xyz") ----------------------------------------------------------------------------------------------------- Energy = 104.10247284362835 Forces: 1 -4.83122374e+00 -1.01593768e+01 -1.08649561e+01 2 -4.82694804e+00 8.31874758e+00 -8.44719407e+00 3 5.91309747e+00 -1.59708124e+01 -7.40108955e+00 4 -8.89809478e+00 7.68719229e+00 4.89920877e+00 5 -1.77334901e+00 -1.68054329e+01 -4.20239286e+00 6 1.00750133e+01 7.55845299e+00 -1.08395680e+01 7 9.45768280e+00 -3.12274698e+01 -2.26637898e+01 8 -1.50336914e+01 -1.12280400e+01 -3.18867848e+00 9 -1.03584562e+01 -9.42378793e+00 -1.84283064e+01 10 -4.75565670e+00 2.05774207e+01 -2.17532950e+01 11 -4.49001168e+00 -1.60210871e+01 4.73788720e+00 12 -1.22508364e+01 1.73578880e+01 3.40862700e+00 13 -7.76090028e+00 -1.65400839e+01 -4.48319005e+01 14 9.65089877e+00 1.21615844e+01 -8.48070566e+00 15 4.02363157e+01 -1.00961900e+01 7.75223836e+00 16 4.36414647e+00 3.40394938e+01 1.49111272e+01 17 -1.71483422e+01 -8.72168380e+00 -5.00298207e+00 18 5.56267706e+00 1.43952601e+01 8.80146774e+00 19 8.52192854e+00 -1.03553636e+01 9.61049268e+00 20 -6.00399409e+00 1.03385846e+01 8.16639149e+00 21 -1.51822924e+01 -1.37753388e+01 4.42647428e+00 22 2.29460575e+01 2.46760671e+01 2.30571282e+01 23 9.23803372e+00 -5.45663241e+00 7.03865320e+00 24 -5.52242395e+00 8.16477099e+00 6.96541014e+00 25 -1.40698647e+01 -9.36789249e+00 8.79919122e+00 26 -6.40926239e+00 2.25442147e+01 -1.11028842e+01 27 1.31691057e+01 -3.77780627e+01 1.29611964e+01 28 -2.92844727e+01 2.44119401e+01 5.94831436e+00 29 -9.35045826e+00 -1.36232595e+01 1.01663226e+01 30 1.09643575e+01 1.69928594e+01 5.18140838e+00 31 1.78698290e+01 -9.17363424e+00 1.27956851e+01 32 9.98113531e+00 1.64996716e+01 1.75805185e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==85862== Memcheck, a memory error detector ==85862== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==85862== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==85862== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Fe__MO_331285495617_004 ==85862== ==85862== Conditional jump or move depends on uninitialised value(s) ==85862== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==85862== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==85862== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85862== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85862== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85862== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85862== by 0x551B80: ??? (in /usr/bin/python3.6) ==85862== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85862== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85862== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85862== by 0x509D47: ??? (in /usr/bin/python3.6) ==85862== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85862== ==85862== Conditional jump or move depends on uninitialised value(s) ==85862== at 0x4E63408: internal_utf8_loop (loop.c:298) ==85862== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==85862== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85862== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85862== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85862== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85862== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85862== by 0x551B80: ??? (in /usr/bin/python3.6) ==85862== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85862== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85862== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85862== by 0x509D47: ??? (in /usr/bin/python3.6) ==85862== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85862== ==85862== Conditional jump or move depends on uninitialised value(s) ==85862== at 0x4E63411: internal_utf8_loop (loop.c:303) ==85862== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==85862== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85862== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85862== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85862== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85862== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85862== by 0x551B80: ??? (in /usr/bin/python3.6) ==85862== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85862== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85862== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85862== by 0x509D47: ??? (in /usr/bin/python3.6) ==85862== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85862== ==85862== Conditional jump or move depends on uninitialised value(s) ==85862== at 0x4E63458: internal_utf8_loop (loop.c:298) ==85862== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==85862== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==85862== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85862== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85862== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==85862== by 0x5BA640: ??? (in /usr/bin/python3.6) ==85862== by 0x551B80: ??? (in /usr/bin/python3.6) ==85862== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==85862== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==85862== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85862== by 0x509D47: ??? (in /usr/bin/python3.6) ==85862== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==85862== ==85862== Conditional jump or move depends on uninitialised value(s) ==85862== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==85862== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==85862== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==85862== by 0x547A3F: ??? (in /usr/bin/python3.6) ==85862== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==85862== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==85862== by 0x4F8388: ??? (in /usr/bin/python3.6) ==85862== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==85862== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==85862== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==85862== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==85862== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==85862== ==85862== ==85862== HEAP SUMMARY: ==85862== in use at exit: 2,765,467 bytes in 1,647 blocks ==85862== total heap usage: 31,862 allocs, 30,215 frees, 60,901,742 bytes allocated ==85862== ==85862== LEAK SUMMARY: ==85862== definitely lost: 0 bytes in 0 blocks ==85862== indirectly lost: 0 bytes in 0 blocks ==85862== possibly lost: 146,155 bytes in 87 blocks ==85862== still reachable: 2,619,312 bytes in 1,560 blocks ==85862== suppressed: 0 bytes in 0 blocks ==85862== Rerun with --leak-check=full to see details of leaked memory ==85862== ==85862== For counts of detected and suppressed errors, rerun with: -v ==85862== Use --track-origins=yes to see where uninitialised values come from ==85862== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11172 from 634) ================================================================================ 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.