!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 : Tersoff_LAMMPS_MuellerErhartAlbe_2007_Fe__MO_137964310702_002 Supported species : Fe random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Fe (Configuration in file "config-F-Fe.xyz") ----------------------------------------------------------------------------------------------------- Energy = -18.30488558853668 Forces: 1 -2.13715951e+00 -5.92436001e+00 -6.08492564e+00 2 -8.42200268e+00 1.43492719e+01 -5.73630976e+00 3 3.22263233e+00 -8.37255117e+00 -1.28908488e+00 4 -4.38302500e+00 6.55806831e+00 3.16123789e+00 5 8.35786636e+00 -1.73843854e+01 -1.29651205e+00 6 3.98021208e+00 2.54078019e+00 -6.36532843e+00 7 3.52037966e+00 -2.12537074e+01 -1.83161097e+01 8 -1.01679719e+01 -1.06541439e+01 4.51882252e+00 9 -1.89293206e+00 -1.17470920e+01 -1.14573152e+01 10 -2.70906169e+00 9.84253535e+00 -1.23962942e+01 11 -6.04415190e+00 -7.31385554e+00 -8.37836864e+00 12 -7.35264684e+00 9.58244179e+00 1.05380462e+01 13 -9.04328943e+00 -6.90367395e+00 -3.12313317e+01 14 4.81170530e+00 7.61980439e+00 -4.57094228e+00 15 2.79645911e+01 -1.06993016e+01 5.61841191e+00 16 3.59316133e+00 2.37762475e+01 7.84657834e+00 17 -1.11669390e+01 -6.49227572e+00 -3.53057527e+00 18 5.02462077e+00 6.73849886e+00 2.16135663e+00 19 3.76339648e+00 -9.20391162e+00 4.71788146e+00 20 -3.44632593e+00 6.58662614e+00 5.44598142e+00 21 -1.03196261e+01 -6.58278467e+00 4.98961832e+00 22 1.23371679e+01 1.87892931e+01 1.40792123e+01 23 2.16066738e+00 -5.46438494e-01 4.93535403e+00 24 3.65351938e+00 3.73202040e+00 3.45991979e+00 25 -1.64525729e+01 -5.43612682e+00 -5.10773671e+00 26 -3.88482721e+00 1.90169127e+01 -6.49418757e+00 27 1.18489622e+01 -2.44996323e+01 1.26056293e+01 28 -1.89062654e+01 1.83705831e+01 6.18156704e+00 29 -2.07690421e+00 -1.16837203e+01 7.42272701e+00 30 6.41046439e+00 1.29534957e+01 6.96488338e+00 31 1.09322356e+01 -6.29564891e+00 6.49343869e+00 32 6.82411949e+00 1.05370304e+01 1.11143558e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Fe (Configuration in file "config-T-Fe.xyz") ----------------------------------------------------------------------------------------------------- Energy = -18.30488558853668 Forces: 1 -2.13715951e+00 -5.92436001e+00 -6.08492564e+00 2 -8.42200268e+00 1.43492719e+01 -5.73630976e+00 3 3.22263233e+00 -8.37255117e+00 -1.28908488e+00 4 -4.38302500e+00 6.55806831e+00 3.16123789e+00 5 8.35786636e+00 -1.73843854e+01 -1.29651205e+00 6 3.98021208e+00 2.54078019e+00 -6.36532843e+00 7 3.52037966e+00 -2.12537074e+01 -1.83161097e+01 8 -1.01679719e+01 -1.06541439e+01 4.51882252e+00 9 -1.89293206e+00 -1.17470920e+01 -1.14573152e+01 10 -2.70906169e+00 9.84253535e+00 -1.23962942e+01 11 -6.04415190e+00 -7.31385554e+00 -8.37836864e+00 12 -7.35264684e+00 9.58244179e+00 1.05380462e+01 13 -9.04328943e+00 -6.90367395e+00 -3.12313317e+01 14 4.81170530e+00 7.61980439e+00 -4.57094228e+00 15 2.79645911e+01 -1.06993016e+01 5.61841191e+00 16 3.59316133e+00 2.37762475e+01 7.84657834e+00 17 -1.11669390e+01 -6.49227572e+00 -3.53057527e+00 18 5.02462077e+00 6.73849886e+00 2.16135663e+00 19 3.76339648e+00 -9.20391162e+00 4.71788146e+00 20 -3.44632593e+00 6.58662614e+00 5.44598142e+00 21 -1.03196261e+01 -6.58278467e+00 4.98961832e+00 22 1.23371679e+01 1.87892931e+01 1.40792123e+01 23 2.16066738e+00 -5.46438494e-01 4.93535403e+00 24 3.65351938e+00 3.73202040e+00 3.45991979e+00 25 -1.64525729e+01 -5.43612682e+00 -5.10773671e+00 26 -3.88482721e+00 1.90169127e+01 -6.49418757e+00 27 1.18489622e+01 -2.44996323e+01 1.26056293e+01 28 -1.89062654e+01 1.83705831e+01 6.18156704e+00 29 -2.07690421e+00 -1.16837203e+01 7.42272701e+00 30 6.41046439e+00 1.29534957e+01 6.96488338e+00 31 1.09322356e+01 -6.29564891e+00 6.49343869e+00 32 6.82411949e+00 1.05370304e+01 1.11143558e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==8040== Memcheck, a memory error detector ==8040== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==8040== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==8040== Command: python runner2.py Tersoff_LAMMPS_MuellerErhartAlbe_2007_Fe__MO_137964310702_002 ==8040== ==8040== Conditional jump or move depends on uninitialised value(s) ==8040== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==8040== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==8040== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8040== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8040== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8040== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8040== by 0x551B80: ??? (in /usr/bin/python3.6) ==8040== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8040== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8040== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8040== by 0x509D47: ??? (in /usr/bin/python3.6) ==8040== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8040== ==8040== Conditional jump or move depends on uninitialised value(s) ==8040== at 0x4E63408: internal_utf8_loop (loop.c:298) ==8040== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==8040== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==8040== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8040== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8040== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8040== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8040== by 0x551B80: ??? (in /usr/bin/python3.6) ==8040== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8040== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8040== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8040== by 0x509D47: ??? (in /usr/bin/python3.6) ==8040== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8040== ==8040== Conditional jump or move depends on uninitialised value(s) ==8040== at 0x4E63411: internal_utf8_loop (loop.c:303) ==8040== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==8040== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==8040== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8040== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8040== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8040== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8040== by 0x551B80: ??? (in /usr/bin/python3.6) ==8040== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8040== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8040== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8040== by 0x509D47: ??? (in /usr/bin/python3.6) ==8040== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8040== ==8040== Conditional jump or move depends on uninitialised value(s) ==8040== at 0x4E63458: internal_utf8_loop (loop.c:298) ==8040== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==8040== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==8040== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8040== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8040== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==8040== by 0x5BA640: ??? (in /usr/bin/python3.6) ==8040== by 0x551B80: ??? (in /usr/bin/python3.6) ==8040== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==8040== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==8040== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8040== by 0x509D47: ??? (in /usr/bin/python3.6) ==8040== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==8040== ==8040== Conditional jump or move depends on uninitialised value(s) ==8040== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==8040== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==8040== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==8040== by 0x547A3F: ??? (in /usr/bin/python3.6) ==8040== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==8040== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==8040== by 0x4F8388: ??? (in /usr/bin/python3.6) ==8040== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==8040== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==8040== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==8040== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==8040== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==8040== ==8040== ==8040== HEAP SUMMARY: ==8040== in use at exit: 2,764,995 bytes in 1,647 blocks ==8040== total heap usage: 36,322 allocs, 34,675 frees, 61,263,667 bytes allocated ==8040== ==8040== LEAK SUMMARY: ==8040== definitely lost: 0 bytes in 0 blocks ==8040== indirectly lost: 0 bytes in 0 blocks ==8040== possibly lost: 146,155 bytes in 87 blocks ==8040== still reachable: 2,618,840 bytes in 1,560 blocks ==8040== suppressed: 0 bytes in 0 blocks ==8040== Rerun with --leak-check=full to see details of leaked memory ==8040== ==8040== For counts of detected and suppressed errors, rerun with: -v ==8040== Use --track-origins=yes to see where uninitialised values come from ==8040== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 12395 from 656) ================================================================================ 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.