!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_1959MedCutoff_Na__MO_636041334617_003 Supported species : Na random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Na (Configuration in file "config-F-Na.xyz") ----------------------------------------------------------------------------------------------------- Energy = 249.59316721754033 Forces: 1 -5.50276504e+00 -5.78445895e+00 -7.67437719e+00 2 -2.27365623e+00 -3.25011200e-01 -1.07441700e+01 3 -2.93046530e-01 -1.03319222e+01 -2.16990550e+00 4 -9.44691990e+00 2.81429166e+00 -1.09511679e+00 5 1.50354376e+00 -9.12035490e+00 -6.81134318e+00 6 6.85354603e+00 -1.16403335e+00 -7.71202803e+00 7 6.67003349e+00 -9.70544571e+00 -3.39059836e+00 8 7.60786145e-01 -4.68223252e+00 -2.08486096e+00 9 -6.83222895e+00 -1.90299967e+00 -1.05829157e+01 10 3.92544197e-01 9.93158934e+00 -9.01599611e+00 11 -5.38733792e+00 -7.95662507e-01 -2.04850878e+00 12 -9.42358135e+00 8.32517748e+00 1.54191236e+00 13 2.55464402e+00 1.92292392e-01 -1.36368664e+01 14 6.19805862e+00 5.95459303e+00 -5.53019985e+00 15 1.33574983e+01 4.25963894e-01 -2.13907155e+00 16 2.25054918e+00 1.29665001e+01 -4.63073774e-01 17 -9.28024986e+00 -6.68128151e+00 2.49202304e+00 18 -2.58352850e+00 -3.40335762e-01 2.76509243e+00 19 -9.30331101e-01 -8.06205778e+00 8.07410265e+00 20 -7.21405444e+00 -5.88136967e-01 6.65371154e+00 21 1.80064864e+00 -9.91907554e+00 3.44185857e+00 22 1.11705644e+01 -8.30312986e-02 3.13197391e+00 23 4.60612944e+00 -4.39177752e+00 6.14631274e+00 24 4.18799364e-01 -3.20424318e+00 1.03619312e+01 25 -1.08187303e+01 6.91668595e-01 5.66459706e-01 26 -2.23735150e+00 1.18931705e+01 6.54823331e-01 27 -1.71729751e+00 -1.92892541e+00 9.62038743e+00 28 -8.56488470e+00 7.28035058e+00 5.53561750e+00 29 1.74796004e+00 7.72542214e-01 4.22911942e+00 30 8.60402934e+00 8.32102236e+00 2.34561018e+00 31 9.62384990e+00 1.12786879e+00 8.30242476e+00 32 3.99277905e+00 8.31395508e+00 9.23567135e+00 MONOATOMIC STRUCTURE (pbc=True)-- Species = Na (Configuration in file "config-T-Na.xyz") ----------------------------------------------------------------------------------------------------- Energy = 249.59316721754033 Forces: 1 -5.50276504e+00 -5.78445895e+00 -7.67437719e+00 2 -2.27365623e+00 -3.25011200e-01 -1.07441700e+01 3 -2.93046530e-01 -1.03319222e+01 -2.16990550e+00 4 -9.44691990e+00 2.81429166e+00 -1.09511679e+00 5 1.50354376e+00 -9.12035490e+00 -6.81134318e+00 6 6.85354603e+00 -1.16403335e+00 -7.71202803e+00 7 6.67003349e+00 -9.70544571e+00 -3.39059836e+00 8 7.60786145e-01 -4.68223252e+00 -2.08486096e+00 9 -6.83222895e+00 -1.90299967e+00 -1.05829157e+01 10 3.92544197e-01 9.93158934e+00 -9.01599611e+00 11 -5.38733792e+00 -7.95662507e-01 -2.04850878e+00 12 -9.42358135e+00 8.32517748e+00 1.54191236e+00 13 2.55464402e+00 1.92292392e-01 -1.36368664e+01 14 6.19805862e+00 5.95459303e+00 -5.53019985e+00 15 1.33574983e+01 4.25963894e-01 -2.13907155e+00 16 2.25054918e+00 1.29665001e+01 -4.63073774e-01 17 -9.28024986e+00 -6.68128151e+00 2.49202304e+00 18 -2.58352850e+00 -3.40335762e-01 2.76509243e+00 19 -9.30331101e-01 -8.06205778e+00 8.07410265e+00 20 -7.21405444e+00 -5.88136967e-01 6.65371154e+00 21 1.80064864e+00 -9.91907554e+00 3.44185857e+00 22 1.11705644e+01 -8.30312986e-02 3.13197391e+00 23 4.60612944e+00 -4.39177752e+00 6.14631274e+00 24 4.18799364e-01 -3.20424318e+00 1.03619312e+01 25 -1.08187303e+01 6.91668595e-01 5.66459706e-01 26 -2.23735150e+00 1.18931705e+01 6.54823331e-01 27 -1.71729751e+00 -1.92892541e+00 9.62038743e+00 28 -8.56488470e+00 7.28035058e+00 5.53561750e+00 29 1.74796004e+00 7.72542214e-01 4.22911942e+00 30 8.60402934e+00 8.32102236e+00 2.34561018e+00 31 9.62384990e+00 1.12786879e+00 8.30242476e+00 32 3.99277905e+00 8.31395508e+00 9.23567135e+00 ================================================================================ VALGRIND OUTPUT ================================================================================ ==74431== Memcheck, a memory error detector ==74431== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==74431== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==74431== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959MedCutoff_Na__MO_636041334617_003 ==74431== ==74431== Conditional jump or move depends on uninitialised value(s) ==74431== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==74431== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==74431== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==74431== by 0x54744F: ??? (in /usr/bin/python3.6) ==74431== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==74431== by 0x5BA510: ??? (in /usr/bin/python3.6) ==74431== by 0x551760: ??? (in /usr/bin/python3.6) ==74431== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==74431== by 0x50AB52: ??? (in /usr/bin/python3.6) ==74431== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==74431== by 0x509CE7: ??? (in /usr/bin/python3.6) ==74431== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==74431== ==74431== Conditional jump or move depends on uninitialised value(s) ==74431== at 0x4E63408: internal_utf8_loop (loop.c:298) ==74431== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==74431== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==74431== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==74431== by 0x54744F: ??? (in /usr/bin/python3.6) ==74431== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==74431== by 0x5BA510: ??? (in /usr/bin/python3.6) ==74431== by 0x551760: ??? (in /usr/bin/python3.6) ==74431== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==74431== by 0x50AB52: ??? (in /usr/bin/python3.6) ==74431== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==74431== by 0x509CE7: ??? (in /usr/bin/python3.6) ==74431== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==74431== ==74431== Conditional jump or move depends on uninitialised value(s) ==74431== at 0x4E63411: internal_utf8_loop (loop.c:303) ==74431== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==74431== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==74431== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==74431== by 0x54744F: ??? (in /usr/bin/python3.6) ==74431== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==74431== by 0x5BA510: ??? (in /usr/bin/python3.6) ==74431== by 0x551760: ??? (in /usr/bin/python3.6) ==74431== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==74431== by 0x50AB52: ??? (in /usr/bin/python3.6) ==74431== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==74431== by 0x509CE7: ??? (in /usr/bin/python3.6) ==74431== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==74431== ==74431== Conditional jump or move depends on uninitialised value(s) ==74431== at 0x4E63458: internal_utf8_loop (loop.c:298) ==74431== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==74431== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==74431== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==74431== by 0x54744F: ??? (in /usr/bin/python3.6) ==74431== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==74431== by 0x5BA510: ??? (in /usr/bin/python3.6) ==74431== by 0x551760: ??? (in /usr/bin/python3.6) ==74431== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==74431== by 0x50AB52: ??? (in /usr/bin/python3.6) ==74431== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==74431== by 0x509CE7: ??? (in /usr/bin/python3.6) ==74431== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==74431== ==74431== Conditional jump or move depends on uninitialised value(s) ==74431== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==74431== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==74431== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==74431== by 0x54744F: ??? (in /usr/bin/python3.6) ==74431== by 0x547730: PyUnicode_FSConverter (in /usr/bin/python3.6) ==74431== by 0x4C4EC6: ??? (in /usr/bin/python3.6) ==74431== by 0x4F81E8: ??? (in /usr/bin/python3.6) ==74431== by 0x4FBC03: ??? (in /usr/bin/python3.6) ==74431== by 0x4FC794: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==74431== by 0x4C65C8: ??? (in /usr/bin/python3.6) ==74431== by 0x50A979: ??? (in /usr/bin/python3.6) ==74431== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==74431== ==74431== ==74431== HEAP SUMMARY: ==74431== in use at exit: 2,725,642 bytes in 1,595 blocks ==74431== total heap usage: 35,449 allocs, 33,854 frees, 62,777,445 bytes allocated ==74431== ==74431== LEAK SUMMARY: ==74431== definitely lost: 0 bytes in 0 blocks ==74431== indirectly lost: 0 bytes in 0 blocks ==74431== possibly lost: 143,897 bytes in 85 blocks ==74431== still reachable: 2,581,745 bytes in 1,510 blocks ==74431== suppressed: 0 bytes in 0 blocks ==74431== Rerun with --leak-check=full to see details of leaked memory ==74431== ==74431== For counts of detected and suppressed errors, rerun with: -v ==74431== Use --track-origins=yes to see where uninitialised values come from ==74431== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 16328 from 630) ================================================================================ 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.