!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 : ThreeBodyBondOrder_KDS_KhorDasSarma_1988_C__MO_454320668790_000 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 = -72.1999731728048 Forces: 1 2.54786561e+00 1.97660962e+01 1.71185631e+01 2 1.89198335e+01 -2.19968466e+01 5.89516609e+00 3 4.61094593e+00 2.24680016e+01 1.68206649e+01 4 -2.28420718e+00 -1.93144748e+01 -1.71184998e+01 5 -2.30989699e+00 3.51609835e+01 -9.37118871e+00 6 -1.66777573e+01 -1.39227439e+01 4.69830613e+00 7 -3.24401160e+00 7.85637034e+00 2.21231785e+01 8 -3.05191900e-01 6.54952348e+00 3.45965565e+00 9 -9.04799738e-01 1.84573927e+01 2.16563143e+01 10 1.09412737e+01 -2.12184829e+00 1.45211252e+01 11 -3.56085946e+00 6.37130364e+00 8.24532587e+00 12 1.38893011e+00 -2.08245287e+01 -1.86623601e+01 13 6.93186691e+00 4.82106478e+00 7.02524974e+00 14 -2.79914644e+00 -3.04900273e+00 6.33768242e-01 15 -8.76342116e+00 -4.57060474e+00 -3.04126111e+00 16 -1.63792024e+01 -7.04843022e+00 -1.24627239e+01 17 8.10386346e+00 3.73982725e+00 1.15640981e+01 18 -1.36572299e+00 -2.12002793e+01 -1.87389986e+01 19 7.39814737e+00 1.63141841e+01 -3.55347458e+00 20 2.79944514e-01 -4.66186830e+00 -5.43159738e+00 21 7.80420477e+00 3.40487128e+00 -1.01473915e+01 22 -3.29574360e+00 -1.04378184e+01 -1.10819773e+01 23 -8.39077737e-02 3.21650993e-03 -5.60907502e-02 24 -1.47478646e+01 -1.67285067e+01 -4.64632332e+00 25 1.10340288e+01 5.02231530e+00 -9.81054178e+00 26 1.50868898e+01 -1.21085572e+01 1.13672835e+01 27 -4.44831706e+00 2.11994912e+01 -3.82495286e+00 28 1.53966893e+01 -1.49871958e+01 2.49026706e+00 29 5.32347885e+00 8.01957914e+00 7.76549888e+00 30 -2.56242812e+00 -9.01993532e+00 7.89721360e+00 31 -2.08697260e+01 1.67555308e+01 -1.88710173e+01 32 -1.11657583e+01 -1.39171108e+01 -1.64632797e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = C (Configuration in file "config-T-C.xyz") ----------------------------------------------------------------------------------------------------- Energy = -72.1999731728048 Forces: 1 2.54786561e+00 1.97660962e+01 1.71185631e+01 2 1.89198335e+01 -2.19968466e+01 5.89516609e+00 3 4.61094593e+00 2.24680016e+01 1.68206649e+01 4 -2.28420718e+00 -1.93144748e+01 -1.71184998e+01 5 -2.30989699e+00 3.51609835e+01 -9.37118871e+00 6 -1.66777573e+01 -1.39227439e+01 4.69830613e+00 7 -3.24401160e+00 7.85637034e+00 2.21231785e+01 8 -3.05191900e-01 6.54952348e+00 3.45965565e+00 9 -9.04799738e-01 1.84573927e+01 2.16563143e+01 10 1.09412737e+01 -2.12184829e+00 1.45211252e+01 11 -3.56085946e+00 6.37130364e+00 8.24532587e+00 12 1.38893011e+00 -2.08245287e+01 -1.86623601e+01 13 6.93186691e+00 4.82106478e+00 7.02524974e+00 14 -2.79914644e+00 -3.04900273e+00 6.33768242e-01 15 -8.76342116e+00 -4.57060474e+00 -3.04126111e+00 16 -1.63792024e+01 -7.04843022e+00 -1.24627239e+01 17 8.10386346e+00 3.73982725e+00 1.15640981e+01 18 -1.36572299e+00 -2.12002793e+01 -1.87389986e+01 19 7.39814737e+00 1.63141841e+01 -3.55347458e+00 20 2.79944514e-01 -4.66186830e+00 -5.43159738e+00 21 7.80420477e+00 3.40487128e+00 -1.01473915e+01 22 -3.29574360e+00 -1.04378184e+01 -1.10819773e+01 23 -8.39077737e-02 3.21650993e-03 -5.60907502e-02 24 -1.47478646e+01 -1.67285067e+01 -4.64632332e+00 25 1.10340288e+01 5.02231530e+00 -9.81054178e+00 26 1.50868898e+01 -1.21085572e+01 1.13672835e+01 27 -4.44831706e+00 2.11994912e+01 -3.82495286e+00 28 1.53966893e+01 -1.49871958e+01 2.49026706e+00 29 5.32347885e+00 8.01957914e+00 7.76549888e+00 30 -2.56242812e+00 -9.01993532e+00 7.89721360e+00 31 -2.08697260e+01 1.67555308e+01 -1.88710173e+01 32 -1.11657583e+01 -1.39171108e+01 -1.64632797e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==8512== Memcheck, a memory error detector ==8512== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==8512== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==8512== Command: python runner2.py ThreeBodyBondOrder_KDS_KhorDasSarma_1988_C__MO_454320668790_000 ==8512== ==8512== Conditional jump or move depends on uninitialised value(s) ==8512== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==8512== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==8512== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8512== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8512== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8512== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8512== by 0x551B80: ??? (in /usr/bin/python3.6) ==8512== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8512== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8512== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8512== by 0x509D47: ??? (in /usr/bin/python3.6) ==8512== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8512== ==8512== Conditional jump or move depends on uninitialised value(s) ==8512== at 0x4E63408: internal_utf8_loop (loop.c:298) ==8512== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==8512== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==8512== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8512== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8512== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8512== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8512== by 0x551B80: ??? (in /usr/bin/python3.6) ==8512== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8512== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8512== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8512== by 0x509D47: ??? (in /usr/bin/python3.6) ==8512== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8512== ==8512== Conditional jump or move depends on uninitialised value(s) ==8512== at 0x4E63411: internal_utf8_loop (loop.c:303) ==8512== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==8512== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==8512== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8512== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8512== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8512== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8512== by 0x551B80: ??? (in /usr/bin/python3.6) ==8512== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8512== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8512== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8512== by 0x509D47: ??? (in /usr/bin/python3.6) ==8512== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8512== ==8512== Conditional jump or move depends on uninitialised value(s) ==8512== at 0x4E63458: internal_utf8_loop (loop.c:298) ==8512== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==8512== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==8512== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8512== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8512== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8512== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8512== by 0x551B80: ??? (in /usr/bin/python3.6) ==8512== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8512== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8512== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8512== by 0x509D47: ??? (in /usr/bin/python3.6) ==8512== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8512== ==8512== Conditional jump or move depends on uninitialised value(s) ==8512== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==8512== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==8512== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8512== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8512== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==8512== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==8512== by 0x4F8388: ??? (in /usr/bin/python3.6) ==8512== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==8512== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==8512== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==8512== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==8512== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8512== ==8512== ==8512== HEAP SUMMARY: ==8512== in use at exit: 2,764,995 bytes in 1,647 blocks ==8512== total heap usage: 36,146 allocs, 34,499 frees, 61,145,328 bytes allocated ==8512== ==8512== LEAK SUMMARY: ==8512== definitely lost: 0 bytes in 0 blocks ==8512== indirectly lost: 0 bytes in 0 blocks ==8512== possibly lost: 146,155 bytes in 87 blocks ==8512== still reachable: 2,618,840 bytes in 1,560 blocks ==8512== suppressed: 0 bytes in 0 blocks ==8512== Rerun with --leak-check=full to see details of leaked memory ==8512== ==8512== For counts of detected and suppressed errors, rerun with: -v ==8512== Use --track-origins=yes to see where uninitialised values come from ==8512== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12391 from 660) ================================================================================ 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.