!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Mo__MO_228581001644_004 Supported species : Mo random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Mo (Configuration in file "config-F-Mo.xyz") ----------------------------------------------------------------------------------------------------- Energy = 705.2855128301366 Forces: 1 -2.32426610e+01 -4.61938081e+01 -4.91682907e+01 2 -2.27885903e+01 3.35778050e+01 -4.07275389e+01 3 3.19616645e+01 -8.11271329e+01 -3.73497203e+01 4 -5.56559897e+01 3.34067155e+01 4.51350250e+00 5 -5.56986943e+00 -7.56447399e+01 -2.10374477e+01 6 4.59622732e+01 2.94898218e+01 -4.94946509e+01 7 4.27081885e+01 -1.41813687e+02 -1.04445704e+02 8 -7.06522104e+01 -5.30993193e+01 -9.35490398e+00 9 -4.72656337e+01 -3.85201325e+01 -8.22124085e+01 10 -2.31649040e+01 9.12082916e+01 -9.74743607e+01 11 -1.78402626e+01 -6.58465748e+01 1.60165065e+01 12 -5.58818280e+01 7.90439735e+01 1.06527893e+01 13 -3.42149357e+01 -6.88340709e+01 -2.00377812e+02 14 4.37709016e+01 5.41960978e+01 -3.60744458e+01 15 1.85057768e+02 -2.27283671e+01 4.82063211e+01 16 2.69823259e+01 1.51284173e+02 6.70156702e+01 17 -8.94066820e+01 -5.62300228e+01 -1.43033081e+01 18 5.27920526e+01 7.10130933e+01 4.33994293e+01 19 2.28144084e+01 -6.58344573e+01 3.58688880e+01 20 -3.33577260e+01 4.15612152e+01 4.18530513e+01 21 -5.96906714e+01 -5.69290767e+01 3.92100569e+01 22 1.02736474e+02 1.14263207e+02 7.98228038e+01 23 2.48174168e+01 -1.48878963e+01 5.48393004e+01 24 1.36801889e+01 3.10699029e+01 2.60055496e+01 25 -6.68983282e+01 -2.96995190e+01 4.53286924e+01 26 -3.03899248e+01 9.98448491e+01 -4.46916840e+01 27 5.35817159e+01 -1.56687138e+02 5.77821303e+01 28 -1.32457326e+02 1.10757223e+02 2.70024991e+01 29 -3.99407044e+01 -5.80842791e+01 4.25344261e+01 30 4.69685447e+01 7.42141875e+01 -7.32180770e+00 31 7.26154471e+01 -5.66557491e+01 7.28722134e+01 32 4.19688777e+01 7.38854142e+01 8.11102529e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Mo (Configuration in file "config-T-Mo.xyz") ----------------------------------------------------------------------------------------------------- Energy = 705.2855128301366 Forces: 1 -2.32426610e+01 -4.61938081e+01 -4.91682907e+01 2 -2.27885903e+01 3.35778050e+01 -4.07275389e+01 3 3.19616645e+01 -8.11271329e+01 -3.73497203e+01 4 -5.56559897e+01 3.34067155e+01 4.51350250e+00 5 -5.56986943e+00 -7.56447399e+01 -2.10374477e+01 6 4.59622732e+01 2.94898218e+01 -4.94946509e+01 7 4.27081885e+01 -1.41813687e+02 -1.04445704e+02 8 -7.06522104e+01 -5.30993193e+01 -9.35490398e+00 9 -4.72656337e+01 -3.85201325e+01 -8.22124085e+01 10 -2.31649040e+01 9.12082916e+01 -9.74743607e+01 11 -1.78402626e+01 -6.58465748e+01 1.60165065e+01 12 -5.58818280e+01 7.90439735e+01 1.06527893e+01 13 -3.42149357e+01 -6.88340709e+01 -2.00377812e+02 14 4.37709016e+01 5.41960978e+01 -3.60744458e+01 15 1.85057768e+02 -2.27283671e+01 4.82063211e+01 16 2.69823259e+01 1.51284173e+02 6.70156702e+01 17 -8.94066820e+01 -5.62300228e+01 -1.43033081e+01 18 5.27920526e+01 7.10130933e+01 4.33994293e+01 19 2.28144084e+01 -6.58344573e+01 3.58688880e+01 20 -3.33577260e+01 4.15612152e+01 4.18530513e+01 21 -5.96906714e+01 -5.69290767e+01 3.92100569e+01 22 1.02736474e+02 1.14263207e+02 7.98228038e+01 23 2.48174168e+01 -1.48878963e+01 5.48393004e+01 24 1.36801889e+01 3.10699029e+01 2.60055496e+01 25 -6.68983282e+01 -2.96995190e+01 4.53286924e+01 26 -3.03899248e+01 9.98448491e+01 -4.46916840e+01 27 5.35817159e+01 -1.56687138e+02 5.77821303e+01 28 -1.32457326e+02 1.10757223e+02 2.70024991e+01 29 -3.99407044e+01 -5.80842791e+01 4.25344261e+01 30 4.69685447e+01 7.42141875e+01 -7.32180770e+00 31 7.26154471e+01 -5.66557491e+01 7.28722134e+01 32 4.19688777e+01 7.38854142e+01 8.11102529e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==88396== Memcheck, a memory error detector ==88396== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==88396== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==88396== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Mo__MO_228581001644_004 ==88396== ==88396== Conditional jump or move depends on uninitialised value(s) ==88396== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==88396== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88396== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88396== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88396== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88396== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88396== by 0x551B80: ??? (in /usr/bin/python3.6) ==88396== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88396== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88396== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88396== by 0x509D47: ??? (in /usr/bin/python3.6) ==88396== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88396== ==88396== Conditional jump or move depends on uninitialised value(s) ==88396== at 0x4E63408: internal_utf8_loop (loop.c:298) ==88396== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==88396== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88396== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88396== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88396== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88396== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88396== by 0x551B80: ??? (in /usr/bin/python3.6) ==88396== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88396== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88396== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88396== by 0x509D47: ??? (in /usr/bin/python3.6) ==88396== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88396== ==88396== Conditional jump or move depends on uninitialised value(s) ==88396== at 0x4E63411: internal_utf8_loop (loop.c:303) ==88396== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==88396== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88396== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88396== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88396== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88396== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88396== by 0x551B80: ??? (in /usr/bin/python3.6) ==88396== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88396== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88396== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88396== by 0x509D47: ??? (in /usr/bin/python3.6) ==88396== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88396== ==88396== Conditional jump or move depends on uninitialised value(s) ==88396== at 0x4E63458: internal_utf8_loop (loop.c:298) ==88396== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==88396== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88396== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88396== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88396== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88396== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88396== by 0x551B80: ??? (in /usr/bin/python3.6) ==88396== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88396== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88396== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88396== by 0x509D47: ??? (in /usr/bin/python3.6) ==88396== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88396== ==88396== Conditional jump or move depends on uninitialised value(s) ==88396== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==88396== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88396== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88396== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88396== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==88396== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==88396== by 0x4F8388: ??? (in /usr/bin/python3.6) ==88396== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==88396== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==88396== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==88396== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==88396== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88396== ==88396== ==88396== HEAP SUMMARY: ==88396== in use at exit: 2,765,467 bytes in 1,647 blocks ==88396== total heap usage: 31,862 allocs, 30,215 frees, 60,901,734 bytes allocated ==88396== ==88396== LEAK SUMMARY: ==88396== definitely lost: 0 bytes in 0 blocks ==88396== indirectly lost: 0 bytes in 0 blocks ==88396== possibly lost: 146,155 bytes in 87 blocks ==88396== still reachable: 2,619,312 bytes in 1,560 blocks ==88396== suppressed: 0 bytes in 0 blocks ==88396== Rerun with --leak-check=full to see details of leaked memory ==88396== ==88396== For counts of detected and suppressed errors, rerun with: -v ==88396== Use --track-origins=yes to see where uninitialised values come from ==88396== 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.