!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 : EAM_QuinticClampedSpline_ErcolessiAdams_1994_Al__MO_450093727396_002 Supported species : Al random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Al (Configuration in file "config-F-Al.xyz") ----------------------------------------------------------------------------------------------------- Energy = -65.4406215673662 Forces: 1 -1.02346924e+00 -1.38051120e+00 -2.10957605e+00 2 -1.24640386e+00 2.60751958e+00 -1.31900360e+00 3 1.97429294e+00 -1.31978759e+00 2.08885030e+00 4 -6.14319488e-01 2.24173901e+00 1.69180292e+00 5 1.28079862e+00 -2.14456659e+00 1.45275908e-01 6 6.09360662e-01 1.55974040e+00 -1.32231196e+00 7 1.40174693e+00 -6.28968284e+00 -4.90300857e+00 8 -4.03834137e+00 -2.40718612e+00 -6.69241395e-01 9 -2.16990487e+00 -1.99120537e+00 -3.11441375e+00 10 -1.04898040e+00 3.74288788e+00 -4.03697039e+00 11 -1.09108189e+00 -3.40569703e+00 4.52669650e+00 12 -7.50181786e-01 1.60187219e+00 1.59710083e+00 13 -1.18238641e+00 -3.19808985e+00 -7.85099478e+00 14 5.79652034e-01 1.12160046e+00 -2.53538425e-01 15 7.04791611e+00 -1.22392778e+00 1.78060299e+00 16 1.78752668e+00 5.49472953e+00 3.11797019e+00 17 -1.51555316e+00 -9.33850873e-01 -1.88373245e+00 18 4.11037087e-01 2.84589838e+00 -3.59455507e+00 19 1.81292196e+00 -2.80662517e+00 2.31674349e+00 20 -1.02312697e+00 1.99371926e+00 1.33424422e+00 21 -3.48370078e+00 -1.08704329e+00 1.04936915e+00 22 2.67842301e+00 5.08827810e+00 4.77543496e+00 23 4.53820220e-01 3.68374364e-01 7.78035004e-01 24 8.54589319e-01 -5.47761071e-01 1.17974608e+00 25 -1.92290253e+00 -2.78580857e+00 -2.07228703e+00 26 -1.31633124e+00 3.54757008e+00 -2.68216953e+00 27 2.76819122e+00 -6.73170603e+00 2.85300034e+00 28 -4.66423145e+00 4.87504964e+00 1.22667492e+00 29 -1.90944984e+00 -1.65665723e+00 1.10095708e+00 30 5.10668175e-01 2.03695422e+00 3.64016172e-01 31 3.11621170e+00 -1.80349794e+00 1.70393969e+00 32 1.71320860e+00 2.58767145e+00 2.18134227e+00 MONOATOMIC STRUCTURE (pbc=True)-- Species = Al (Configuration in file "config-T-Al.xyz") ----------------------------------------------------------------------------------------------------- Energy = -65.4406215673662 Forces: 1 -1.02346924e+00 -1.38051120e+00 -2.10957605e+00 2 -1.24640386e+00 2.60751958e+00 -1.31900360e+00 3 1.97429294e+00 -1.31978759e+00 2.08885030e+00 4 -6.14319488e-01 2.24173901e+00 1.69180292e+00 5 1.28079862e+00 -2.14456659e+00 1.45275908e-01 6 6.09360662e-01 1.55974040e+00 -1.32231196e+00 7 1.40174693e+00 -6.28968284e+00 -4.90300857e+00 8 -4.03834137e+00 -2.40718612e+00 -6.69241395e-01 9 -2.16990487e+00 -1.99120537e+00 -3.11441375e+00 10 -1.04898040e+00 3.74288788e+00 -4.03697039e+00 11 -1.09108189e+00 -3.40569703e+00 4.52669650e+00 12 -7.50181786e-01 1.60187219e+00 1.59710083e+00 13 -1.18238641e+00 -3.19808985e+00 -7.85099478e+00 14 5.79652034e-01 1.12160046e+00 -2.53538425e-01 15 7.04791611e+00 -1.22392778e+00 1.78060299e+00 16 1.78752668e+00 5.49472953e+00 3.11797019e+00 17 -1.51555316e+00 -9.33850873e-01 -1.88373245e+00 18 4.11037087e-01 2.84589838e+00 -3.59455507e+00 19 1.81292196e+00 -2.80662517e+00 2.31674349e+00 20 -1.02312697e+00 1.99371926e+00 1.33424422e+00 21 -3.48370078e+00 -1.08704329e+00 1.04936915e+00 22 2.67842301e+00 5.08827810e+00 4.77543496e+00 23 4.53820220e-01 3.68374364e-01 7.78035004e-01 24 8.54589319e-01 -5.47761071e-01 1.17974608e+00 25 -1.92290253e+00 -2.78580857e+00 -2.07228703e+00 26 -1.31633124e+00 3.54757008e+00 -2.68216953e+00 27 2.76819122e+00 -6.73170603e+00 2.85300034e+00 28 -4.66423145e+00 4.87504964e+00 1.22667492e+00 29 -1.90944984e+00 -1.65665723e+00 1.10095708e+00 30 5.10668175e-01 2.03695422e+00 3.64016172e-01 31 3.11621170e+00 -1.80349794e+00 1.70393969e+00 32 1.71320860e+00 2.58767145e+00 2.18134227e+00 ================================================================================ VALGRIND OUTPUT ================================================================================ ==75560== Memcheck, a memory error detector ==75560== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==75560== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==75560== Command: python runner2.py EAM_QuinticClampedSpline_ErcolessiAdams_1994_Al__MO_450093727396_002 ==75560== ==75560== Conditional jump or move depends on uninitialised value(s) ==75560== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==75560== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==75560== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75560== by 0x54744F: ??? (in /usr/bin/python3.6) ==75560== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==75560== by 0x5BA510: ??? (in /usr/bin/python3.6) ==75560== by 0x551760: ??? (in /usr/bin/python3.6) ==75560== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75560== by 0x50AB52: ??? (in /usr/bin/python3.6) ==75560== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75560== by 0x509CE7: ??? (in /usr/bin/python3.6) ==75560== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==75560== ==75560== Conditional jump or move depends on uninitialised value(s) ==75560== at 0x4E63408: internal_utf8_loop (loop.c:298) ==75560== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==75560== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==75560== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75560== by 0x54744F: ??? (in /usr/bin/python3.6) ==75560== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==75560== by 0x5BA510: ??? (in /usr/bin/python3.6) ==75560== by 0x551760: ??? (in /usr/bin/python3.6) ==75560== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75560== by 0x50AB52: ??? (in /usr/bin/python3.6) ==75560== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75560== by 0x509CE7: ??? (in /usr/bin/python3.6) ==75560== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==75560== ==75560== Conditional jump or move depends on uninitialised value(s) ==75560== at 0x4E63411: internal_utf8_loop (loop.c:303) ==75560== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==75560== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==75560== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75560== by 0x54744F: ??? (in /usr/bin/python3.6) ==75560== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==75560== by 0x5BA510: ??? (in /usr/bin/python3.6) ==75560== by 0x551760: ??? (in /usr/bin/python3.6) ==75560== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75560== by 0x50AB52: ??? (in /usr/bin/python3.6) ==75560== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75560== by 0x509CE7: ??? (in /usr/bin/python3.6) ==75560== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==75560== ==75560== Conditional jump or move depends on uninitialised value(s) ==75560== at 0x4E63458: internal_utf8_loop (loop.c:298) ==75560== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==75560== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==75560== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75560== by 0x54744F: ??? (in /usr/bin/python3.6) ==75560== by 0x6332BD: _Py_stat (in /usr/bin/python3.6) ==75560== by 0x5BA510: ??? (in /usr/bin/python3.6) ==75560== by 0x551760: ??? (in /usr/bin/python3.6) ==75560== by 0x5AA69B: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==75560== by 0x50AB52: ??? (in /usr/bin/python3.6) ==75560== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75560== by 0x509CE7: ??? (in /usr/bin/python3.6) ==75560== by 0x50AA1C: ??? (in /usr/bin/python3.6) ==75560== ==75560== Conditional jump or move depends on uninitialised value(s) ==75560== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==75560== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==75560== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==75560== by 0x54744F: ??? (in /usr/bin/python3.6) ==75560== by 0x547730: PyUnicode_FSConverter (in /usr/bin/python3.6) ==75560== by 0x4C4EC6: ??? (in /usr/bin/python3.6) ==75560== by 0x4F81E8: ??? (in /usr/bin/python3.6) ==75560== by 0x4FBC03: ??? (in /usr/bin/python3.6) ==75560== by 0x4FC794: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==75560== by 0x4C65C8: ??? (in /usr/bin/python3.6) ==75560== by 0x50A979: ??? (in /usr/bin/python3.6) ==75560== by 0x50C548: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==75560== ==75560== ==75560== HEAP SUMMARY: ==75560== in use at exit: 2,773,469 bytes in 1,602 blocks ==75560== total heap usage: 38,524 allocs, 36,922 frees, 70,698,649 bytes allocated ==75560== ==75560== LEAK SUMMARY: ==75560== definitely lost: 47,808 bytes in 6 blocks ==75560== indirectly lost: 0 bytes in 0 blocks ==75560== possibly lost: 143,897 bytes in 85 blocks ==75560== still reachable: 2,581,764 bytes in 1,511 blocks ==75560== suppressed: 0 bytes in 0 blocks ==75560== Rerun with --leak-check=full to see details of leaked memory ==75560== ==75560== For counts of detected and suppressed errors, rerun with: -v ==75560== Use --track-origins=yes to see where uninitialised values come from ==75560== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 16251 from 625) ================================================================================ 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" (Search for the word "lost" in the file to identify memory leaks.) Grade: F Comment: Memory leak detected.