!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 : Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Pb__MO_534638645497_004 Supported species : Pb random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Pb (Configuration in file "config-F-Pb.xyz") ----------------------------------------------------------------------------------------------------- Energy = 959.5168884531603 Forces: 1 -2.57128495e+01 -5.92802231e+01 -5.10036269e+01 2 -1.54828498e+01 1.23957415e+01 -5.77300323e+01 3 2.14404799e+01 -5.72037046e+01 -1.96585797e+01 4 -4.68613386e+01 3.54760995e+01 2.87043779e+01 5 9.91563301e+00 -6.78593976e+01 -3.18709685e+01 6 4.15180697e+01 6.89556429e+00 -4.79524063e+01 7 4.07616999e+01 -9.20569137e+01 -5.79213383e+01 8 -3.54797188e+01 -3.72275406e+01 1.36200953e+01 9 -5.68959531e+01 2.81999172e-01 -7.03758539e+01 10 -2.06127583e+01 8.68920749e+01 -7.56987904e+01 11 -2.62595367e+01 -4.68954517e+01 3.78667353e+01 12 -4.81595381e+01 6.33142328e+01 -1.76836235e+01 13 -1.75980100e-01 -2.51222005e+01 -1.42488503e+02 14 4.17180374e+01 4.63375288e+01 -3.68616915e+01 15 1.25143268e+02 -1.91473027e+01 1.91871766e+01 16 9.96381007e+00 1.10765481e+02 3.63530098e+01 17 -7.03688727e+01 -3.57950531e+01 5.33636917e+00 18 1.94588569e+01 4.19534842e+01 6.72415645e+00 19 5.61110925e+00 -5.49925046e+01 3.73645596e+01 20 -3.64350666e+01 1.85441525e+01 3.48042734e+01 21 -3.41778870e+01 -5.65890675e+01 1.46146149e+01 22 7.59277350e+01 6.03114063e+01 4.83908071e+01 23 3.81090255e+01 -2.11788332e+01 4.01203963e+01 24 -5.02274202e+00 2.45958822e+01 4.17880793e+01 25 -5.10307449e+01 -4.49481860e+01 1.38788227e+01 26 -1.45420180e+01 8.23787785e+01 -2.47738196e+01 27 2.51953023e+01 -9.01970426e+01 6.04041442e+01 28 -8.61140959e+01 7.22062651e+01 3.38573073e+01 29 -2.35404818e+01 -4.82731621e+01 2.54762807e+01 30 5.00449697e+01 6.27062442e+01 1.33672890e+01 31 6.12864478e+01 -2.66792049e+01 5.48688430e+01 32 3.07779870e+01 5.83908532e+01 6.72918955e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Pb (Configuration in file "config-T-Pb.xyz") ----------------------------------------------------------------------------------------------------- Energy = 959.5168884531603 Forces: 1 -2.57128495e+01 -5.92802231e+01 -5.10036269e+01 2 -1.54828498e+01 1.23957415e+01 -5.77300323e+01 3 2.14404799e+01 -5.72037046e+01 -1.96585797e+01 4 -4.68613386e+01 3.54760995e+01 2.87043779e+01 5 9.91563301e+00 -6.78593976e+01 -3.18709685e+01 6 4.15180697e+01 6.89556429e+00 -4.79524063e+01 7 4.07616999e+01 -9.20569137e+01 -5.79213383e+01 8 -3.54797188e+01 -3.72275406e+01 1.36200953e+01 9 -5.68959531e+01 2.81999172e-01 -7.03758539e+01 10 -2.06127583e+01 8.68920749e+01 -7.56987904e+01 11 -2.62595367e+01 -4.68954517e+01 3.78667353e+01 12 -4.81595381e+01 6.33142328e+01 -1.76836235e+01 13 -1.75980100e-01 -2.51222005e+01 -1.42488503e+02 14 4.17180374e+01 4.63375288e+01 -3.68616915e+01 15 1.25143268e+02 -1.91473027e+01 1.91871766e+01 16 9.96381007e+00 1.10765481e+02 3.63530098e+01 17 -7.03688727e+01 -3.57950531e+01 5.33636917e+00 18 1.94588569e+01 4.19534842e+01 6.72415645e+00 19 5.61110925e+00 -5.49925046e+01 3.73645596e+01 20 -3.64350666e+01 1.85441525e+01 3.48042734e+01 21 -3.41778870e+01 -5.65890675e+01 1.46146149e+01 22 7.59277350e+01 6.03114063e+01 4.83908071e+01 23 3.81090255e+01 -2.11788332e+01 4.01203963e+01 24 -5.02274202e+00 2.45958822e+01 4.17880793e+01 25 -5.10307449e+01 -4.49481860e+01 1.38788227e+01 26 -1.45420180e+01 8.23787785e+01 -2.47738196e+01 27 2.51953023e+01 -9.01970426e+01 6.04041442e+01 28 -8.61140959e+01 7.22062651e+01 3.38573073e+01 29 -2.35404818e+01 -4.82731621e+01 2.54762807e+01 30 5.00449697e+01 6.27062442e+01 1.33672890e+01 31 6.12864478e+01 -2.66792049e+01 5.48688430e+01 32 3.07779870e+01 5.83908532e+01 6.72918955e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==99220== Memcheck, a memory error detector ==99220== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==99220== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==99220== Command: python runner2.py Morse_Shifted_GirifalcoWeizer_1959LowCutoff_Pb__MO_534638645497_004 ==99220== ==99220== Conditional jump or move depends on uninitialised value(s) ==99220== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==99220== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==99220== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==99220== by 0x547A3F: ??? (in /usr/bin/python3.6) ==99220== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==99220== by 0x5BA640: ??? (in /usr/bin/python3.6) ==99220== by 0x551B80: ??? (in /usr/bin/python3.6) ==99220== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==99220== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==99220== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==99220== by 0x509D47: ??? (in /usr/bin/python3.6) ==99220== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==99220== ==99220== Conditional jump or move depends on uninitialised value(s) ==99220== at 0x4E63408: internal_utf8_loop (loop.c:298) ==99220== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==99220== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==99220== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==99220== by 0x547A3F: ??? (in /usr/bin/python3.6) ==99220== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==99220== by 0x5BA640: ??? (in /usr/bin/python3.6) ==99220== by 0x551B80: ??? (in /usr/bin/python3.6) ==99220== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==99220== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==99220== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==99220== by 0x509D47: ??? (in /usr/bin/python3.6) ==99220== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==99220== ==99220== Conditional jump or move depends on uninitialised value(s) ==99220== at 0x4E63411: internal_utf8_loop (loop.c:303) ==99220== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==99220== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==99220== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==99220== by 0x547A3F: ??? (in /usr/bin/python3.6) ==99220== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==99220== by 0x5BA640: ??? (in /usr/bin/python3.6) ==99220== by 0x551B80: ??? (in /usr/bin/python3.6) ==99220== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==99220== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==99220== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==99220== by 0x509D47: ??? (in /usr/bin/python3.6) ==99220== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==99220== ==99220== Conditional jump or move depends on uninitialised value(s) ==99220== at 0x4E63458: internal_utf8_loop (loop.c:298) ==99220== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==99220== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==99220== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==99220== by 0x547A3F: ??? (in /usr/bin/python3.6) ==99220== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==99220== by 0x5BA640: ??? (in /usr/bin/python3.6) ==99220== by 0x551B80: ??? (in /usr/bin/python3.6) ==99220== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==99220== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==99220== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==99220== by 0x509D47: ??? (in /usr/bin/python3.6) ==99220== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==99220== ==99220== Conditional jump or move depends on uninitialised value(s) ==99220== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==99220== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==99220== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==99220== by 0x547A3F: ??? (in /usr/bin/python3.6) ==99220== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==99220== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==99220== by 0x4F8388: ??? (in /usr/bin/python3.6) ==99220== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==99220== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==99220== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==99220== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==99220== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==99220== ==99220== ==99220== HEAP SUMMARY: ==99220== in use at exit: 2,764,995 bytes in 1,647 blocks ==99220== total heap usage: 36,557 allocs, 34,910 frees, 61,443,988 bytes allocated ==99220== ==99220== LEAK SUMMARY: ==99220== definitely lost: 0 bytes in 0 blocks ==99220== indirectly lost: 0 bytes in 0 blocks ==99220== possibly lost: 146,155 bytes in 87 blocks ==99220== still reachable: 2,618,840 bytes in 1,560 blocks ==99220== suppressed: 0 bytes in 0 blocks ==99220== Rerun with --leak-check=full to see details of leaked memory ==99220== ==99220== For counts of detected and suppressed errors, rerun with: -v ==99220== Use --track-origins=yes to see where uninitialised values come from ==99220== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12398 from 664) ================================================================================ 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.