!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 : LJ_Shifted_Bernardes_1958LowCutoff_Ar__MO_720819638419_004 Supported species : Ar random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Ar (Configuration in file "config-F-Ar.xyz") ----------------------------------------------------------------------------------------------------- Energy = 6542.975312440448 Forces: 1 -6.74871151e+02 -1.94901415e+03 -2.62498451e+03 2 -5.45300096e+00 3.49778983e+02 -3.33964212e+02 3 1.17318564e+03 -1.04095440e+03 3.94788014e+02 4 -6.28070827e+02 2.80598002e+03 2.03634643e+03 5 1.31368267e+01 -3.90874887e+02 -2.53059450e+02 6 1.05380254e+02 6.63936483e+01 -1.93191211e+02 7 -2.97042635e+02 -2.56988613e+03 -2.64334452e+03 8 -8.88037690e+02 -9.23592529e+02 2.02971906e+02 9 -2.86323802e+01 -1.25884430e+02 -1.70638600e+02 10 -5.54288390e+02 2.69627339e+02 -6.85405872e+02 11 -7.91173069e+02 -8.51247209e+02 -2.14597395e+01 12 -2.19420952e+02 6.15719067e+02 -2.96050830e+02 13 -1.36553930e+03 -6.20015777e+02 -2.68205921e+03 14 3.65200283e+02 3.90930686e+02 -1.55825952e+02 15 2.54585631e+03 4.85009974e+02 1.57945288e+03 16 7.91048276e+02 1.71070077e+03 1.10662879e+03 17 -5.08776951e+02 -2.22993916e+02 2.41685153e+02 18 -2.94469669e+00 9.18896783e+03 -8.67582546e+03 19 2.90966324e+02 -9.18524320e+03 8.72126973e+03 20 -2.19190319e+02 1.26648068e+02 1.53161030e+02 21 -7.28783123e+02 -4.76147158e+02 -4.14326150e+01 22 1.37022080e+03 2.63919880e+03 2.04014618e+03 23 1.15562899e+03 -5.90178139e+02 8.43599370e+02 24 -7.77341489e+02 5.83236499e+02 2.84434432e+02 25 -3.74138389e+02 -6.26614318e+02 5.58173411e+02 26 2.62964313e+01 6.59485099e+02 -4.25791099e+02 27 2.37468518e+03 -3.07025096e+03 5.51188303e+02 28 -3.01481280e+03 2.58280314e+03 5.36408366e+00 29 -1.19273225e+03 -1.18390453e+03 -1.66262931e+03 30 5.77647731e+02 7.06447235e+02 -2.11513232e+02 31 1.38692873e+03 -5.27767995e+02 1.10162802e+03 32 9.50676480e+01 1.17364258e+03 1.25633811e+03 MONOATOMIC STRUCTURE (pbc=True)-- Species = Ar (Configuration in file "config-T-Ar.xyz") ----------------------------------------------------------------------------------------------------- Energy = 6542.975312440448 Forces: 1 -6.74871151e+02 -1.94901415e+03 -2.62498451e+03 2 -5.45300096e+00 3.49778983e+02 -3.33964212e+02 3 1.17318564e+03 -1.04095440e+03 3.94788014e+02 4 -6.28070827e+02 2.80598002e+03 2.03634643e+03 5 1.31368267e+01 -3.90874887e+02 -2.53059450e+02 6 1.05380254e+02 6.63936483e+01 -1.93191211e+02 7 -2.97042635e+02 -2.56988613e+03 -2.64334452e+03 8 -8.88037690e+02 -9.23592529e+02 2.02971906e+02 9 -2.86323802e+01 -1.25884430e+02 -1.70638600e+02 10 -5.54288390e+02 2.69627339e+02 -6.85405872e+02 11 -7.91173069e+02 -8.51247209e+02 -2.14597395e+01 12 -2.19420952e+02 6.15719067e+02 -2.96050830e+02 13 -1.36553930e+03 -6.20015777e+02 -2.68205921e+03 14 3.65200283e+02 3.90930686e+02 -1.55825952e+02 15 2.54585631e+03 4.85009974e+02 1.57945288e+03 16 7.91048276e+02 1.71070077e+03 1.10662879e+03 17 -5.08776951e+02 -2.22993916e+02 2.41685153e+02 18 -2.94469669e+00 9.18896783e+03 -8.67582546e+03 19 2.90966324e+02 -9.18524320e+03 8.72126973e+03 20 -2.19190319e+02 1.26648068e+02 1.53161030e+02 21 -7.28783123e+02 -4.76147158e+02 -4.14326150e+01 22 1.37022080e+03 2.63919880e+03 2.04014618e+03 23 1.15562899e+03 -5.90178139e+02 8.43599370e+02 24 -7.77341489e+02 5.83236499e+02 2.84434432e+02 25 -3.74138389e+02 -6.26614318e+02 5.58173411e+02 26 2.62964313e+01 6.59485099e+02 -4.25791099e+02 27 2.37468518e+03 -3.07025096e+03 5.51188303e+02 28 -3.01481280e+03 2.58280314e+03 5.36408366e+00 29 -1.19273225e+03 -1.18390453e+03 -1.66262931e+03 30 5.77647731e+02 7.06447235e+02 -2.11513232e+02 31 1.38692873e+03 -5.27767995e+02 1.10162802e+03 32 9.50676480e+01 1.17364258e+03 1.25633811e+03 ================================================================================ VALGRIND OUTPUT ================================================================================ ==34008== Memcheck, a memory error detector ==34008== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==34008== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==34008== Command: python runner2.py LJ_Shifted_Bernardes_1958LowCutoff_Ar__MO_720819638419_004 ==34008== ==34008== Conditional jump or move depends on uninitialised value(s) ==34008== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==34008== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==34008== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==34008== by 0x547A3F: ??? (in /usr/bin/python3.6) ==34008== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==34008== by 0x5BA640: ??? (in /usr/bin/python3.6) ==34008== by 0x551B80: ??? (in /usr/bin/python3.6) ==34008== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==34008== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==34008== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==34008== by 0x509D47: ??? (in /usr/bin/python3.6) ==34008== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==34008== ==34008== Conditional jump or move depends on uninitialised value(s) ==34008== at 0x4E63408: internal_utf8_loop (loop.c:298) ==34008== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==34008== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==34008== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==34008== by 0x547A3F: ??? (in /usr/bin/python3.6) ==34008== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==34008== by 0x5BA640: ??? (in /usr/bin/python3.6) ==34008== by 0x551B80: ??? (in /usr/bin/python3.6) ==34008== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==34008== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==34008== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==34008== by 0x509D47: ??? (in /usr/bin/python3.6) ==34008== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==34008== ==34008== Conditional jump or move depends on uninitialised value(s) ==34008== at 0x4E63411: internal_utf8_loop (loop.c:303) ==34008== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==34008== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==34008== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==34008== by 0x547A3F: ??? (in /usr/bin/python3.6) ==34008== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==34008== by 0x5BA640: ??? (in /usr/bin/python3.6) ==34008== by 0x551B80: ??? (in /usr/bin/python3.6) ==34008== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==34008== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==34008== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==34008== by 0x509D47: ??? (in /usr/bin/python3.6) ==34008== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==34008== ==34008== Conditional jump or move depends on uninitialised value(s) ==34008== at 0x4E63458: internal_utf8_loop (loop.c:298) ==34008== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==34008== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==34008== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==34008== by 0x547A3F: ??? (in /usr/bin/python3.6) ==34008== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==34008== by 0x5BA640: ??? (in /usr/bin/python3.6) ==34008== by 0x551B80: ??? (in /usr/bin/python3.6) ==34008== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==34008== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==34008== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==34008== by 0x509D47: ??? (in /usr/bin/python3.6) ==34008== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==34008== ==34008== Conditional jump or move depends on uninitialised value(s) ==34008== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==34008== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==34008== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==34008== by 0x547A3F: ??? (in /usr/bin/python3.6) ==34008== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==34008== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==34008== by 0x4F8388: ??? (in /usr/bin/python3.6) ==34008== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==34008== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==34008== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==34008== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==34008== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==34008== ==34008== ==34008== HEAP SUMMARY: ==34008== in use at exit: 2,765,467 bytes in 1,647 blocks ==34008== total heap usage: 31,576 allocs, 29,929 frees, 60,768,868 bytes allocated ==34008== ==34008== LEAK SUMMARY: ==34008== definitely lost: 0 bytes in 0 blocks ==34008== indirectly lost: 0 bytes in 0 blocks ==34008== possibly lost: 146,155 bytes in 87 blocks ==34008== still reachable: 2,619,312 bytes in 1,560 blocks ==34008== suppressed: 0 bytes in 0 blocks ==34008== Rerun with --leak-check=full to see details of leaked memory ==34008== ==34008== For counts of detected and suppressed errors, rerun with: -v ==34008== Use --track-origins=yes to see where uninitialised values come from ==34008== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11151 from 616) ================================================================================ 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.