!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Ni__MO_322509103239_004 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 = 75.21341414763499 Forces: 1 -3.90831947e+00 -8.85986176e+00 -9.47736603e+00 2 -5.77289147e+00 7.79249434e+00 -6.09927222e+00 3 6.84075402e+00 -1.50919824e+01 -8.59237907e+00 4 -7.62708082e+00 7.03401951e+00 4.44174842e+00 5 3.18012936e+00 -1.39381157e+01 -1.97842419e+00 6 6.91592253e+00 4.73575463e+00 -6.79190019e+00 7 5.75215340e+00 -2.82594685e+01 -2.55142650e+01 8 -1.42389000e+01 -1.14342553e+01 -1.14608699e+00 9 -1.19029772e+01 -8.14818825e+00 -1.85366069e+01 10 -4.04807355e+00 2.08967885e+01 -2.04913230e+01 11 -4.07042546e+00 -1.62626743e+01 1.19881940e+01 12 -1.04590381e+01 1.55502361e+01 3.08893880e+00 13 -5.59524340e+00 -1.32549716e+01 -4.14393560e+01 14 8.21694392e+00 1.05180134e+01 -6.70689416e+00 15 3.71948065e+01 -4.89888247e+00 1.12431916e+01 16 4.62983803e+00 2.95807919e+01 1.52303799e+01 17 -1.47673802e+01 -7.25630529e+00 -4.47806549e+00 18 4.82855830e+00 1.46876238e+01 7.44550393e+00 19 4.77293927e+00 -1.28231645e+01 6.57331518e+00 20 -5.33578606e+00 9.34520972e+00 6.64192220e+00 21 -1.22732647e+01 -1.10433169e+01 7.55896088e+00 22 1.91935809e+01 2.46831658e+01 1.56630113e+01 23 4.25557209e+00 -2.41117308e+00 1.05805807e+01 24 3.09157771e+00 7.30591466e+00 4.62440135e+00 25 -9.45439656e+00 -9.04927782e+00 7.07402579e+00 26 -5.97141767e+00 1.89508403e+01 -1.08261547e+01 27 1.14266257e+01 -3.32646347e+01 1.06794231e+01 28 -2.64908409e+01 2.20546145e+01 4.79776940e+00 29 -9.45343062e+00 -1.36052354e+01 6.70590043e+00 30 8.56514407e+00 1.45266214e+01 -2.05371928e+00 31 1.40455904e+01 -1.25766387e+01 1.40319922e+01 32 8.45933001e+00 1.45160581e+01 1.57625541e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Ni (Configuration in file "config-T-Ni.xyz") ----------------------------------------------------------------------------------------------------- Energy = 75.21341414763499 Forces: 1 -3.90831947e+00 -8.85986176e+00 -9.47736603e+00 2 -5.77289147e+00 7.79249434e+00 -6.09927222e+00 3 6.84075402e+00 -1.50919824e+01 -8.59237907e+00 4 -7.62708082e+00 7.03401951e+00 4.44174842e+00 5 3.18012936e+00 -1.39381157e+01 -1.97842419e+00 6 6.91592253e+00 4.73575463e+00 -6.79190019e+00 7 5.75215340e+00 -2.82594685e+01 -2.55142650e+01 8 -1.42389000e+01 -1.14342553e+01 -1.14608699e+00 9 -1.19029772e+01 -8.14818825e+00 -1.85366069e+01 10 -4.04807355e+00 2.08967885e+01 -2.04913230e+01 11 -4.07042546e+00 -1.62626743e+01 1.19881940e+01 12 -1.04590381e+01 1.55502361e+01 3.08893880e+00 13 -5.59524340e+00 -1.32549716e+01 -4.14393560e+01 14 8.21694392e+00 1.05180134e+01 -6.70689416e+00 15 3.71948065e+01 -4.89888247e+00 1.12431916e+01 16 4.62983803e+00 2.95807919e+01 1.52303799e+01 17 -1.47673802e+01 -7.25630529e+00 -4.47806549e+00 18 4.82855830e+00 1.46876238e+01 7.44550393e+00 19 4.77293927e+00 -1.28231645e+01 6.57331518e+00 20 -5.33578606e+00 9.34520972e+00 6.64192220e+00 21 -1.22732647e+01 -1.10433169e+01 7.55896088e+00 22 1.91935809e+01 2.46831658e+01 1.56630113e+01 23 4.25557209e+00 -2.41117308e+00 1.05805807e+01 24 3.09157771e+00 7.30591466e+00 4.62440135e+00 25 -9.45439656e+00 -9.04927782e+00 7.07402579e+00 26 -5.97141767e+00 1.89508403e+01 -1.08261547e+01 27 1.14266257e+01 -3.32646347e+01 1.06794231e+01 28 -2.64908409e+01 2.20546145e+01 4.79776940e+00 29 -9.45343062e+00 -1.36052354e+01 6.70590043e+00 30 8.56514407e+00 1.45266214e+01 -2.05371928e+00 31 1.40455904e+01 -1.25766387e+01 1.40319922e+01 32 8.45933001e+00 1.45160581e+01 1.57625541e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==90842== Memcheck, a memory error detector ==90842== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==90842== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==90842== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Ni__MO_322509103239_004 ==90842== ==90842== Conditional jump or move depends on uninitialised value(s) ==90842== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==90842== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==90842== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90842== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90842== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90842== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90842== by 0x551B80: ??? (in /usr/bin/python3.6) ==90842== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90842== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90842== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90842== by 0x509D47: ??? (in /usr/bin/python3.6) ==90842== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90842== ==90842== Conditional jump or move depends on uninitialised value(s) ==90842== at 0x4E63408: internal_utf8_loop (loop.c:298) ==90842== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==90842== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==90842== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90842== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90842== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90842== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90842== by 0x551B80: ??? (in /usr/bin/python3.6) ==90842== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90842== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90842== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90842== by 0x509D47: ??? (in /usr/bin/python3.6) ==90842== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90842== ==90842== Conditional jump or move depends on uninitialised value(s) ==90842== at 0x4E63411: internal_utf8_loop (loop.c:303) ==90842== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==90842== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==90842== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90842== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90842== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90842== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90842== by 0x551B80: ??? (in /usr/bin/python3.6) ==90842== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90842== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90842== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90842== by 0x509D47: ??? (in /usr/bin/python3.6) ==90842== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90842== ==90842== Conditional jump or move depends on uninitialised value(s) ==90842== at 0x4E63458: internal_utf8_loop (loop.c:298) ==90842== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==90842== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==90842== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90842== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90842== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90842== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90842== by 0x551B80: ??? (in /usr/bin/python3.6) ==90842== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90842== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90842== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90842== by 0x509D47: ??? (in /usr/bin/python3.6) ==90842== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90842== ==90842== Conditional jump or move depends on uninitialised value(s) ==90842== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==90842== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==90842== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90842== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90842== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==90842== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==90842== by 0x4F8388: ??? (in /usr/bin/python3.6) ==90842== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==90842== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==90842== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==90842== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==90842== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90842== ==90842== ==90842== HEAP SUMMARY: ==90842== in use at exit: 2,765,467 bytes in 1,647 blocks ==90842== total heap usage: 31,862 allocs, 30,215 frees, 60,901,734 bytes allocated ==90842== ==90842== LEAK SUMMARY: ==90842== definitely lost: 0 bytes in 0 blocks ==90842== indirectly lost: 0 bytes in 0 blocks ==90842== possibly lost: 146,155 bytes in 87 blocks ==90842== still reachable: 2,619,312 bytes in 1,560 blocks ==90842== suppressed: 0 bytes in 0 blocks ==90842== Rerun with --leak-check=full to see details of leaked memory ==90842== ==90842== For counts of detected and suppressed errors, rerun with: -v ==90842== Use --track-origins=yes to see where uninitialised values come from ==90842== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11205 from 633) ================================================================================ 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.