!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Jelinek_1972_Ar__MO_831902330215_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 = 291.54164690534515 Forces: 1 -8.14552759e+00 -1.33114115e+01 -1.39139152e+01 2 -1.13109152e+01 1.73391678e+01 -1.82273577e+01 3 -1.66233907e+00 -1.92763258e+01 -1.83296873e+00 4 -1.14611243e+01 8.31674351e+00 7.34173150e+00 5 1.68345861e+01 -2.81750463e+01 -7.57822199e+00 6 8.41729359e+00 1.08174552e+00 -1.24864344e+01 7 1.12187240e+01 -3.84072819e+01 -3.25918682e+01 8 -1.06862364e+01 -1.29369752e+01 -6.23133272e+00 9 -1.51174492e+01 -1.91072387e+01 -3.40204903e+01 10 -1.49217345e+00 2.97162018e+01 -2.96432057e+01 11 -1.01839487e+01 -1.82717504e+01 1.57349843e+01 12 -2.16973574e+01 2.55545262e+01 1.83578245e+01 13 -5.06592689e+00 -1.44082475e+01 -5.51565498e+01 14 1.32117998e+01 1.57009146e+01 -1.23903714e+01 15 4.77042804e+01 -1.22994146e+01 6.61960486e+00 16 3.80733326e+00 4.07036411e+01 1.61087298e+01 17 -1.82024800e+01 -9.48696530e+00 -5.71502608e+00 18 -8.57287697e+00 1.09231164e+01 7.70671549e+00 19 4.65467375e+00 -1.79022605e+01 1.18227835e+01 20 -9.38357025e+00 9.81353656e+00 1.10736264e+01 21 -1.11202333e+01 -2.09111419e+01 9.91986308e+00 22 2.86173995e+01 2.74603031e+01 2.42781501e+01 23 9.00500752e+00 -4.88567550e+00 1.30052079e+01 24 3.75005904e+00 6.66220046e+00 1.33498017e+01 25 -1.82424006e+01 -8.66832592e+00 -7.21741561e+00 26 -7.92958252e+00 2.87581763e+01 -1.24621138e+01 27 1.50110849e+01 -3.91810682e+01 2.10668276e+01 28 -3.55774766e+01 3.16450691e+01 1.13564403e+01 29 -7.98680547e+00 -1.23883991e+01 1.12562052e+01 30 1.68082115e+01 2.35476327e+01 1.14898716e+01 31 2.25236931e+01 -8.54352427e+00 1.63353386e+01 32 1.22742774e+01 2.09380776e+01 2.26435653e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Ar (Configuration in file "config-T-Ar.xyz") ----------------------------------------------------------------------------------------------------- Energy = 291.54164690534515 Forces: 1 -8.14552759e+00 -1.33114115e+01 -1.39139152e+01 2 -1.13109152e+01 1.73391678e+01 -1.82273577e+01 3 -1.66233907e+00 -1.92763258e+01 -1.83296873e+00 4 -1.14611243e+01 8.31674351e+00 7.34173150e+00 5 1.68345861e+01 -2.81750463e+01 -7.57822199e+00 6 8.41729359e+00 1.08174552e+00 -1.24864344e+01 7 1.12187240e+01 -3.84072819e+01 -3.25918682e+01 8 -1.06862364e+01 -1.29369752e+01 -6.23133272e+00 9 -1.51174492e+01 -1.91072387e+01 -3.40204903e+01 10 -1.49217345e+00 2.97162018e+01 -2.96432057e+01 11 -1.01839487e+01 -1.82717504e+01 1.57349843e+01 12 -2.16973574e+01 2.55545262e+01 1.83578245e+01 13 -5.06592689e+00 -1.44082475e+01 -5.51565498e+01 14 1.32117998e+01 1.57009146e+01 -1.23903714e+01 15 4.77042804e+01 -1.22994146e+01 6.61960486e+00 16 3.80733326e+00 4.07036411e+01 1.61087298e+01 17 -1.82024800e+01 -9.48696530e+00 -5.71502608e+00 18 -8.57287697e+00 1.09231164e+01 7.70671549e+00 19 4.65467375e+00 -1.79022605e+01 1.18227835e+01 20 -9.38357025e+00 9.81353656e+00 1.10736264e+01 21 -1.11202333e+01 -2.09111419e+01 9.91986308e+00 22 2.86173995e+01 2.74603031e+01 2.42781501e+01 23 9.00500752e+00 -4.88567550e+00 1.30052079e+01 24 3.75005904e+00 6.66220046e+00 1.33498017e+01 25 -1.82424006e+01 -8.66832592e+00 -7.21741561e+00 26 -7.92958252e+00 2.87581763e+01 -1.24621138e+01 27 1.50110849e+01 -3.91810682e+01 2.10668276e+01 28 -3.55774766e+01 3.16450691e+01 1.13564403e+01 29 -7.98680547e+00 -1.23883991e+01 1.12562052e+01 30 1.68082115e+01 2.35476327e+01 1.14898716e+01 31 2.25236931e+01 -8.54352427e+00 1.63353386e+01 32 1.22742774e+01 2.09380776e+01 2.26435653e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==10566== Memcheck, a memory error detector ==10566== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==10566== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==10566== Command: python runner2.py Morse_Shifted_Jelinek_1972_Ar__MO_831902330215_004 ==10566== ==10566== Conditional jump or move depends on uninitialised value(s) ==10566== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==10566== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==10566== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==10566== by 0x547A3F: ??? (in /usr/bin/python3.6) ==10566== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==10566== by 0x5BA640: ??? (in /usr/bin/python3.6) ==10566== by 0x551B80: ??? (in /usr/bin/python3.6) ==10566== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==10566== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==10566== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==10566== by 0x509D47: ??? (in /usr/bin/python3.6) ==10566== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==10566== ==10566== Conditional jump or move depends on uninitialised value(s) ==10566== at 0x4E63408: internal_utf8_loop (loop.c:298) ==10566== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==10566== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==10566== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==10566== by 0x547A3F: ??? (in /usr/bin/python3.6) ==10566== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==10566== by 0x5BA640: ??? (in /usr/bin/python3.6) ==10566== by 0x551B80: ??? (in /usr/bin/python3.6) ==10566== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==10566== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==10566== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==10566== by 0x509D47: ??? (in /usr/bin/python3.6) ==10566== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==10566== ==10566== Conditional jump or move depends on uninitialised value(s) ==10566== at 0x4E63411: internal_utf8_loop (loop.c:303) ==10566== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==10566== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==10566== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==10566== by 0x547A3F: ??? (in /usr/bin/python3.6) ==10566== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==10566== by 0x5BA640: ??? (in /usr/bin/python3.6) ==10566== by 0x551B80: ??? (in /usr/bin/python3.6) ==10566== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==10566== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==10566== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==10566== by 0x509D47: ??? (in /usr/bin/python3.6) ==10566== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==10566== ==10566== Conditional jump or move depends on uninitialised value(s) ==10566== at 0x4E63458: internal_utf8_loop (loop.c:298) ==10566== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==10566== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==10566== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==10566== by 0x547A3F: ??? (in /usr/bin/python3.6) ==10566== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==10566== by 0x5BA640: ??? (in /usr/bin/python3.6) ==10566== by 0x551B80: ??? (in /usr/bin/python3.6) ==10566== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==10566== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==10566== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==10566== by 0x509D47: ??? (in /usr/bin/python3.6) ==10566== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==10566== ==10566== Conditional jump or move depends on uninitialised value(s) ==10566== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==10566== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==10566== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==10566== by 0x547A3F: ??? (in /usr/bin/python3.6) ==10566== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==10566== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==10566== by 0x4F8388: ??? (in /usr/bin/python3.6) ==10566== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==10566== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==10566== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==10566== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==10566== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==10566== ==10566== ==10566== HEAP SUMMARY: ==10566== in use at exit: 2,765,467 bytes in 1,647 blocks ==10566== total heap usage: 31,862 allocs, 30,215 frees, 60,899,491 bytes allocated ==10566== ==10566== LEAK SUMMARY: ==10566== definitely lost: 0 bytes in 0 blocks ==10566== indirectly lost: 0 bytes in 0 blocks ==10566== possibly lost: 146,155 bytes in 87 blocks ==10566== still reachable: 2,619,312 bytes in 1,560 blocks ==10566== suppressed: 0 bytes in 0 blocks ==10566== Rerun with --leak-check=full to see details of leaked memory ==10566== ==10566== For counts of detected and suppressed errors, rerun with: -v ==10566== Use --track-origins=yes to see where uninitialised values come from ==10566== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12380 from 626) ================================================================================ 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.