!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_1988_C__MO_579868029681_003 Supported species : C random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = C (Configuration in file "config-F-C.xyz") ----------------------------------------------------------------------------------------------------- Energy = 3570.262516641548 Forces: 1 -1.25206729e+02 -2.12517132e+02 -2.90959734e+02 2 -8.61262690e+01 7.91379388e+01 -3.05647352e+02 3 3.89700180e+01 -3.48769336e+02 -8.95578518e+01 4 -2.77523125e+02 1.57398309e+02 1.71647035e+01 5 -1.12675160e+01 -3.79505368e+02 -8.76232798e+01 6 1.49689151e+02 -6.54642281e+01 -1.56031061e+02 7 -1.08131735e+02 -2.23899833e+02 -8.18816265e+01 8 2.72823955e+02 -5.21325755e+02 -1.88012735e+01 9 -1.59042695e+02 -7.15983108e+01 -4.03268360e+02 10 -3.38360686e+01 4.04047219e+02 -5.12201261e+02 11 -2.41232219e+02 -4.17759322e+02 -1.01023011e+02 12 -3.58215444e+02 2.87073212e+02 -3.35732291e+00 13 -2.32094690e+02 -5.84038769e+00 -9.96420633e+02 14 1.95439009e+02 2.08437471e+02 -1.67363755e+02 15 7.15126989e+02 5.47731822e+02 3.32260340e+02 16 2.79804436e+02 4.70525221e+02 -2.10273505e+01 17 -4.71855632e+02 -2.93315756e+02 -6.16149899e+01 18 1.23549959e+02 1.68526915e+02 6.15550242e+00 19 2.63746804e+02 -2.91358105e+02 2.35285328e+02 20 -1.38740743e+02 2.07935628e+02 3.39178310e+02 21 -5.10163026e+01 -3.41229758e+02 2.59474460e+02 22 4.06663246e+02 -7.24711145e+00 6.82228023e+01 23 1.95678813e+02 -8.22367013e+01 1.81620338e+02 24 -5.71179850e+01 -4.47275193e+01 2.22625068e+02 25 -4.66752267e+02 -7.96525089e+01 6.53667990e+00 26 -1.24261671e+02 5.14273856e+02 2.72548575e+02 27 3.41797191e+02 -4.27860458e+02 2.38061479e+02 28 -7.33692537e+02 5.37654899e+02 2.46827283e+02 29 -7.01042206e+01 -1.71289219e+02 2.29003339e+02 30 3.47479329e+02 3.53660071e+02 -4.16248232e+01 31 3.04655069e+02 -1.78690416e+02 3.73693211e+02 32 1.10793880e+02 2.27884666e+02 3.09746267e+02 MONOATOMIC STRUCTURE (pbc=True)-- Species = C (Configuration in file "config-T-C.xyz") ----------------------------------------------------------------------------------------------------- Energy = 3570.262516641548 Forces: 1 -1.25206729e+02 -2.12517132e+02 -2.90959734e+02 2 -8.61262690e+01 7.91379388e+01 -3.05647352e+02 3 3.89700180e+01 -3.48769336e+02 -8.95578518e+01 4 -2.77523125e+02 1.57398309e+02 1.71647035e+01 5 -1.12675160e+01 -3.79505368e+02 -8.76232798e+01 6 1.49689151e+02 -6.54642281e+01 -1.56031061e+02 7 -1.08131735e+02 -2.23899833e+02 -8.18816265e+01 8 2.72823955e+02 -5.21325755e+02 -1.88012735e+01 9 -1.59042695e+02 -7.15983108e+01 -4.03268360e+02 10 -3.38360686e+01 4.04047219e+02 -5.12201261e+02 11 -2.41232219e+02 -4.17759322e+02 -1.01023011e+02 12 -3.58215444e+02 2.87073212e+02 -3.35732291e+00 13 -2.32094690e+02 -5.84038769e+00 -9.96420633e+02 14 1.95439009e+02 2.08437471e+02 -1.67363755e+02 15 7.15126989e+02 5.47731822e+02 3.32260340e+02 16 2.79804436e+02 4.70525221e+02 -2.10273505e+01 17 -4.71855632e+02 -2.93315756e+02 -6.16149899e+01 18 1.23549959e+02 1.68526915e+02 6.15550242e+00 19 2.63746804e+02 -2.91358105e+02 2.35285328e+02 20 -1.38740743e+02 2.07935628e+02 3.39178310e+02 21 -5.10163026e+01 -3.41229758e+02 2.59474460e+02 22 4.06663246e+02 -7.24711145e+00 6.82228023e+01 23 1.95678813e+02 -8.22367013e+01 1.81620338e+02 24 -5.71179850e+01 -4.47275193e+01 2.22625068e+02 25 -4.66752267e+02 -7.96525089e+01 6.53667990e+00 26 -1.24261671e+02 5.14273856e+02 2.72548575e+02 27 3.41797191e+02 -4.27860458e+02 2.38061479e+02 28 -7.33692537e+02 5.37654899e+02 2.46827283e+02 29 -7.01042206e+01 -1.71289219e+02 2.29003339e+02 30 3.47479329e+02 3.53660071e+02 -4.16248232e+01 31 3.04655069e+02 -1.78690416e+02 3.73693211e+02 32 1.10793880e+02 2.27884666e+02 3.09746267e+02 ================================================================================ VALGRIND OUTPUT ================================================================================ ==12015== Memcheck, a memory error detector ==12015== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==12015== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==12015== Command: python runner2.py Tersoff_LAMMPS_Tersoff_1988_C__MO_579868029681_003 ==12015== ==12015== Conditional jump or move depends on uninitialised value(s) ==12015== at 0x4FCDC2C: __wcsnlen_avx2 (strlen-avx2.S:106) ==12015== by 0x4EFBCA1: wcsrtombs (wcsrtombs.c:104) ==12015== by 0x4E81C40: wcstombs (wcstombs.c:34) ==12015== by 0x5471CF: ??? (in /usr/bin/python3.6) ==12015== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==12015== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==12015== by 0x5515C0: ??? (in /usr/bin/python3.6) ==12015== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==12015== by 0x50A432: ??? (in /usr/bin/python3.6) ==12015== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==12015== by 0x5095C7: ??? (in /usr/bin/python3.6) ==12015== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==12015== ==12015== Conditional jump or move depends on uninitialised value(s) ==12015== at 0x4E654E8: internal_utf8_loop (loop.c:298) ==12015== by 0x4E654E8: __gconv_transform_internal_utf8 (skeleton.c:609) ==12015== by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110) ==12015== by 0x4E81C40: wcstombs (wcstombs.c:34) ==12015== by 0x5471CF: ??? (in /usr/bin/python3.6) ==12015== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==12015== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==12015== by 0x5515C0: ??? (in /usr/bin/python3.6) ==12015== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==12015== by 0x50A432: ??? (in /usr/bin/python3.6) ==12015== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==12015== by 0x5095C7: ??? (in /usr/bin/python3.6) ==12015== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==12015== ==12015== Conditional jump or move depends on uninitialised value(s) ==12015== at 0x4E654F1: internal_utf8_loop (loop.c:303) ==12015== by 0x4E654F1: __gconv_transform_internal_utf8 (skeleton.c:609) ==12015== by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110) ==12015== by 0x4E81C40: wcstombs (wcstombs.c:34) ==12015== by 0x5471CF: ??? (in /usr/bin/python3.6) ==12015== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==12015== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==12015== by 0x5515C0: ??? (in /usr/bin/python3.6) ==12015== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==12015== by 0x50A432: ??? (in /usr/bin/python3.6) ==12015== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==12015== by 0x5095C7: ??? (in /usr/bin/python3.6) ==12015== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==12015== ==12015== Conditional jump or move depends on uninitialised value(s) ==12015== at 0x4E65538: internal_utf8_loop (loop.c:298) ==12015== by 0x4E65538: __gconv_transform_internal_utf8 (skeleton.c:609) ==12015== by 0x4EFBCD4: wcsrtombs (wcsrtombs.c:110) ==12015== by 0x4E81C40: wcstombs (wcstombs.c:34) ==12015== by 0x5471CF: ??? (in /usr/bin/python3.6) ==12015== by 0x6330AD: _Py_stat (in /usr/bin/python3.6) ==12015== by 0x5B9C10: ??? (in /usr/bin/python3.6) ==12015== by 0x5515C0: ??? (in /usr/bin/python3.6) ==12015== by 0x5A9DAB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==12015== by 0x50A432: ??? (in /usr/bin/python3.6) ==12015== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==12015== by 0x5095C7: ??? (in /usr/bin/python3.6) ==12015== by 0x50A2FC: ??? (in /usr/bin/python3.6) ==12015== ==12015== Conditional jump or move depends on uninitialised value(s) ==12015== at 0x4FCDDB7: __wcsnlen_avx2 (strlen-avx2.S:264) ==12015== by 0x4EFBCA1: wcsrtombs (wcsrtombs.c:104) ==12015== by 0x4E81C40: wcstombs (wcstombs.c:34) ==12015== by 0x5471CF: ??? (in /usr/bin/python3.6) ==12015== by 0x5474B0: PyUnicode_FSConverter (in /usr/bin/python3.6) ==12015== by 0x4C4D46: ??? (in /usr/bin/python3.6) ==12015== by 0x4F7E48: ??? (in /usr/bin/python3.6) ==12015== by 0x4FB843: ??? (in /usr/bin/python3.6) ==12015== by 0x4FC3D4: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==12015== by 0x4C6448: ??? (in /usr/bin/python3.6) ==12015== by 0x50A259: ??? (in /usr/bin/python3.6) ==12015== by 0x50BEB3: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==12015== ==12015== ==12015== HEAP SUMMARY: ==12015== in use at exit: 2,776,543 bytes in 1,537 blocks ==12015== total heap usage: 50,776 allocs, 49,239 frees, 63,127,750 bytes allocated ==12015== ==12015== LEAK SUMMARY: ==12015== definitely lost: 0 bytes in 0 blocks ==12015== indirectly lost: 0 bytes in 0 blocks ==12015== possibly lost: 145,616 bytes in 85 blocks ==12015== still reachable: 2,630,927 bytes in 1,452 blocks ==12015== suppressed: 0 bytes in 0 blocks ==12015== Rerun with --leak-check=full to see details of leaked memory ==12015== ==12015== For counts of detected and suppressed errors, rerun with: -v ==12015== Use --track-origins=yes to see where uninitialised values come from ==12015== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12603 from 649) ================================================================================ 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.