!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 : Tersoff_LAMMPS_Tersoff_1988T2_Si__MO_245095684871_003 Supported species : Si random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Si (Configuration in file "config-F-Si.xyz") ----------------------------------------------------------------------------------------------------- Energy = 90.4672215230977 Forces: 1 -1.21649985e+01 -1.29524633e+01 -2.03060898e+01 2 -1.09074620e+01 1.08826579e+01 -1.78353808e+01 3 1.76769085e+00 -1.67522608e+01 7.67515402e+00 4 -1.33251216e+01 1.05019636e+01 6.02487224e+00 5 1.64206511e+01 -2.17273876e+01 -1.23170366e+01 6 8.09444703e+00 3.17867334e+00 -1.13443943e+01 7 1.52327114e+01 -4.70678337e+01 -4.38783846e+01 8 -1.40419150e+01 -9.84853004e+00 -8.46576913e+00 9 -1.75211894e+01 -2.22601333e+01 -4.15006313e+01 10 -8.09356006e+00 3.36959395e+01 -3.76550780e+01 11 -1.36948815e+01 -2.55490760e+01 2.00154738e+01 12 -2.30684937e+01 3.07344813e+01 2.18036360e+01 13 -5.56499905e+00 -2.83194641e+01 -7.24985625e+01 14 1.59710821e+01 2.28334862e+01 -2.21010641e+01 15 6.08953205e+01 -3.15084229e+01 1.30900282e+01 16 -3.32149826e+00 5.87429213e+01 2.45005140e+01 17 -1.79240399e+01 -1.30623391e+01 1.52811176e+00 18 9.48071370e+00 1.13322239e+01 3.00244176e+00 19 3.68986156e+00 -1.57430536e+01 1.14911600e+01 20 -9.80918814e+00 4.80874479e+00 7.41971863e+00 21 -1.93283960e+01 -1.82044086e+01 1.63040352e+01 22 3.50225469e+01 3.34380545e+01 3.74131455e+01 23 4.60592058e+00 -1.83183444e+00 8.98012014e+00 24 4.37286200e+00 7.10375057e-01 8.89213081e+00 25 -2.02848237e+01 -1.34270308e+01 -1.20440647e+01 26 -7.95713808e+00 3.37188801e+01 -1.39845299e+01 27 1.77720546e+01 -4.84138132e+01 3.24965941e+01 28 -4.67080493e+01 4.45391981e+01 1.01528710e+01 29 -1.03375925e+01 -1.57524122e+01 1.61298667e+01 30 2.17049087e+01 3.04354115e+01 2.09714810e+01 31 2.44788657e+01 -9.44569866e+00 2.01241356e+01 32 1.45437101e+01 2.23131510e+01 2.59154955e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Si (Configuration in file "config-T-Si.xyz") ----------------------------------------------------------------------------------------------------- Energy = 90.4672215230977 Forces: 1 -1.21649985e+01 -1.29524633e+01 -2.03060898e+01 2 -1.09074620e+01 1.08826579e+01 -1.78353808e+01 3 1.76769085e+00 -1.67522608e+01 7.67515402e+00 4 -1.33251216e+01 1.05019636e+01 6.02487224e+00 5 1.64206511e+01 -2.17273876e+01 -1.23170366e+01 6 8.09444703e+00 3.17867334e+00 -1.13443943e+01 7 1.52327114e+01 -4.70678337e+01 -4.38783846e+01 8 -1.40419150e+01 -9.84853004e+00 -8.46576913e+00 9 -1.75211894e+01 -2.22601333e+01 -4.15006313e+01 10 -8.09356006e+00 3.36959395e+01 -3.76550780e+01 11 -1.36948815e+01 -2.55490760e+01 2.00154738e+01 12 -2.30684937e+01 3.07344813e+01 2.18036360e+01 13 -5.56499905e+00 -2.83194641e+01 -7.24985625e+01 14 1.59710821e+01 2.28334862e+01 -2.21010641e+01 15 6.08953205e+01 -3.15084229e+01 1.30900282e+01 16 -3.32149826e+00 5.87429213e+01 2.45005140e+01 17 -1.79240399e+01 -1.30623391e+01 1.52811176e+00 18 9.48071370e+00 1.13322239e+01 3.00244176e+00 19 3.68986156e+00 -1.57430536e+01 1.14911600e+01 20 -9.80918814e+00 4.80874479e+00 7.41971863e+00 21 -1.93283960e+01 -1.82044086e+01 1.63040352e+01 22 3.50225469e+01 3.34380545e+01 3.74131455e+01 23 4.60592058e+00 -1.83183444e+00 8.98012014e+00 24 4.37286200e+00 7.10375057e-01 8.89213081e+00 25 -2.02848237e+01 -1.34270308e+01 -1.20440647e+01 26 -7.95713808e+00 3.37188801e+01 -1.39845299e+01 27 1.77720546e+01 -4.84138132e+01 3.24965941e+01 28 -4.67080493e+01 4.45391981e+01 1.01528710e+01 29 -1.03375925e+01 -1.57524122e+01 1.61298667e+01 30 2.17049087e+01 3.04354115e+01 2.09714810e+01 31 2.44788657e+01 -9.44569866e+00 2.01241356e+01 32 1.45437101e+01 2.23131510e+01 2.59154955e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==29620== Memcheck, a memory error detector ==29620== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==29620== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==29620== Command: python runner2.py Tersoff_LAMMPS_Tersoff_1988T2_Si__MO_245095684871_003 ==29620== ==29620== Conditional jump or move depends on uninitialised value(s) ==29620== at 0x4FCDC2C: __wcsnlen_avx2 (strlen-avx2.S:106) ==29620== by 0x4EFBCA1: wcsrtombs (wcsrtombs.c:104) ==29620== by 0x4E81C40: wcstombs (wcstombs.c:34) ==29620== by 0x5471CF: ??? (in /usr/bin/python3.6) ==29620== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==29620== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==29620== by 0x5515C0: ??? (in /usr/bin/python3.6) ==29620== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==29620== by 0x50A432: ??? (in /usr/bin/python3.6) ==29620== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==29620== by 0x5095C7: ??? (in /usr/bin/python3.6) ==29620== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==29620== ==29620== Conditional jump or move depends on uninitialised value(s) ==29620== at 0x4E654E8: internal_utf8_loop (loop.c:298) ==29620== by 0x4E654E8: __gconv_transform_internal_utf8 (skeleton.c:609) ==29620== by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110) ==29620== by 0x4E81C40: wcstombs (wcstombs.c:34) ==29620== by 0x5471CF: ??? (in /usr/bin/python3.6) ==29620== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==29620== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==29620== by 0x5515C0: ??? (in /usr/bin/python3.6) ==29620== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==29620== by 0x50A432: ??? (in /usr/bin/python3.6) ==29620== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==29620== by 0x5095C7: ??? (in /usr/bin/python3.6) ==29620== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==29620== ==29620== Conditional jump or move depends on uninitialised value(s) ==29620== at 0x4E654F1: internal_utf8_loop (loop.c:303) ==29620== by 0x4E654F1: __gconv_transform_internal_utf8 (skeleton.c:609) ==29620== by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110) ==29620== by 0x4E81C40: wcstombs (wcstombs.c:34) ==29620== by 0x5471CF: ??? (in /usr/bin/python3.6) ==29620== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==29620== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==29620== by 0x5515C0: ??? (in /usr/bin/python3.6) ==29620== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==29620== by 0x50A432: ??? (in /usr/bin/python3.6) ==29620== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==29620== by 0x5095C7: ??? (in /usr/bin/python3.6) ==29620== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==29620== ==29620== Conditional jump or move depends on uninitialised value(s) ==29620== at 0x4E65538: internal_utf8_loop (loop.c:298) ==29620== by 0x4E65538: __gconv_transform_internal_utf8 (skeleton.c:609) ==29620== by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110) ==29620== by 0x4E81C40: wcstombs (wcstombs.c:34) ==29620== by 0x5471CF: ??? (in /usr/bin/python3.6) ==29620== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==29620== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==29620== by 0x5515C0: ??? (in /usr/bin/python3.6) ==29620== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==29620== by 0x50A432: ??? (in /usr/bin/python3.6) ==29620== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==29620== by 0x5095C7: ??? (in /usr/bin/python3.6) ==29620== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==29620== ==29620== Conditional jump or move depends on uninitialised value(s) ==29620== at 0x4FCDDB7: __wcsnlen_avx2 (strlen-avx2.S:264) ==29620== by 0x4EFBCA1: wcsrtombs (wcsrtombs.c:104) ==29620== by 0x4E81C40: wcstombs (wcstombs.c:34) ==29620== by 0x5471CF: ??? (in /usr/bin/python3.6) ==29620== by 0x5474B0: PyUnicode_FSConverter (in /usr/bin/python3.6) ==29620== by 0x4C4D46: ??? (in /usr/bin/python3.6) ==29620== by 0x4F7E48: ??? (in /usr/bin/python3.6) ==29620== by 0x4FB843: ??? (in /usr/bin/python3.6) ==29620== by 0x4FC3D4: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==29620== by 0x4C6448: ??? (in /usr/bin/python3.6) ==29620== by 0x50A259: ??? (in /usr/bin/python3.6) ==29620== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==29620== ==29620== ==29620== HEAP SUMMARY: ==29620== in use at exit: 2,776,543 bytes in 1,537 blocks ==29620== total heap usage: 50,274 allocs, 48,737 frees, 63,070,360 bytes allocated ==29620== ==29620== LEAK SUMMARY: ==29620== definitely lost: 0 bytes in 0 blocks ==29620== indirectly lost: 0 bytes in 0 blocks ==29620== possibly lost: 145,616 bytes in 85 blocks ==29620== still reachable: 2,630,927 bytes in 1,452 blocks ==29620== suppressed: 0 bytes in 0 blocks ==29620== Rerun with --leak-check=full to see details of leaked memory ==29620== ==29620== For counts of detected and suppressed errors, rerun with: -v ==29620== Use --track-origins=yes to see where uninitialised values come from ==29620== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12636 from 683) ================================================================================ 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.