!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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 : EAM_Dynamo_ZhouWadleyJohnson_2001NISTretabulation_Mo__MO_230319944007_000 Supported species : Mo random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Mo (Configuration in file "config-F-Mo.xyz") ----------------------------------------------------------------------------------------------------- Energy = 183.58124679882212 Forces: 1 -1.01702349e+01 -1.97959495e+01 -2.07430128e+01 2 -2.02937221e+01 3.25551605e+01 -2.72145125e+01 3 -3.45504102e+00 -2.96874060e+01 -2.98227833e+00 4 -1.59500301e+01 9.26077158e+00 1.06582433e+01 5 2.97697972e+01 -4.53914665e+01 -9.64265125e+00 6 1.09084879e+01 3.39421437e+00 -1.74540095e+01 7 1.63199777e+01 -6.55355908e+01 -5.95810632e+01 8 -2.04708698e+01 -2.17155846e+01 -1.04899568e+01 9 -2.39128385e+01 -3.47758642e+01 -5.76904454e+01 10 -2.68929442e+00 4.83477240e+01 -4.96897553e+01 11 -9.45627825e+00 -3.56355616e+01 2.10895729e+01 12 -3.58208213e+01 4.80148431e+01 2.65520631e+01 13 -1.03377969e+01 -2.70612895e+01 -9.57545740e+01 14 1.92590293e+01 2.30213400e+01 -1.60739995e+01 15 8.60780525e+01 -9.90324721e+00 2.12935522e+01 16 1.08656019e+01 6.97568541e+01 3.17985754e+01 17 -2.71131326e+01 -1.28466818e+01 -9.94488879e+00 18 -1.43848640e+01 2.00449247e+01 1.40723651e+01 19 1.28340643e+01 -2.31634741e+01 1.88879680e+01 20 -1.24743510e+01 1.73569287e+01 1.42515081e+01 21 -2.21213656e+01 -2.98888044e+01 2.00869131e+01 22 4.67831331e+01 4.96633651e+01 4.65800314e+01 23 9.51438654e+00 -4.78884624e+00 1.71069982e+01 24 5.60103277e+00 1.56010183e+00 1.56562090e+01 25 -2.56117609e+01 -8.90790907e+00 1.89594120e+01 26 -1.63312715e+01 4.33775810e+01 -2.07971508e+01 27 2.03030835e+01 -6.95155634e+01 2.47873100e+01 28 -5.99261377e+01 4.89989008e+01 1.02502512e+01 29 -1.50247204e+01 -2.20874090e+01 1.68496914e+01 30 2.20819281e+01 3.26620271e+01 2.15703620e+00 31 3.55384935e+01 -2.18771159e+01 3.01408447e+01 32 1.96874627e+01 3.45630267e+01 3.68797525e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Mo (Configuration in file "config-T-Mo.xyz") ----------------------------------------------------------------------------------------------------- Energy = 183.58124679882212 Forces: 1 -1.01702349e+01 -1.97959495e+01 -2.07430128e+01 2 -2.02937221e+01 3.25551605e+01 -2.72145125e+01 3 -3.45504102e+00 -2.96874060e+01 -2.98227833e+00 4 -1.59500301e+01 9.26077158e+00 1.06582433e+01 5 2.97697972e+01 -4.53914665e+01 -9.64265125e+00 6 1.09084879e+01 3.39421437e+00 -1.74540095e+01 7 1.63199777e+01 -6.55355908e+01 -5.95810632e+01 8 -2.04708698e+01 -2.17155846e+01 -1.04899568e+01 9 -2.39128385e+01 -3.47758642e+01 -5.76904454e+01 10 -2.68929442e+00 4.83477240e+01 -4.96897553e+01 11 -9.45627825e+00 -3.56355616e+01 2.10895729e+01 12 -3.58208213e+01 4.80148431e+01 2.65520631e+01 13 -1.03377969e+01 -2.70612895e+01 -9.57545740e+01 14 1.92590293e+01 2.30213400e+01 -1.60739995e+01 15 8.60780525e+01 -9.90324721e+00 2.12935522e+01 16 1.08656019e+01 6.97568541e+01 3.17985754e+01 17 -2.71131326e+01 -1.28466818e+01 -9.94488879e+00 18 -1.43848640e+01 2.00449247e+01 1.40723651e+01 19 1.28340643e+01 -2.31634741e+01 1.88879680e+01 20 -1.24743510e+01 1.73569287e+01 1.42515081e+01 21 -2.21213656e+01 -2.98888044e+01 2.00869131e+01 22 4.67831331e+01 4.96633651e+01 4.65800314e+01 23 9.51438654e+00 -4.78884624e+00 1.71069982e+01 24 5.60103277e+00 1.56010183e+00 1.56562090e+01 25 -2.56117609e+01 -8.90790907e+00 1.89594120e+01 26 -1.63312715e+01 4.33775810e+01 -2.07971508e+01 27 2.03030835e+01 -6.95155634e+01 2.47873100e+01 28 -5.99261377e+01 4.89989008e+01 1.02502512e+01 29 -1.50247204e+01 -2.20874090e+01 1.68496914e+01 30 2.20819281e+01 3.26620271e+01 2.15703620e+00 31 3.55384935e+01 -2.18771159e+01 3.01408447e+01 32 1.96874627e+01 3.45630267e+01 3.68797525e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==93150== Memcheck, a memory error detector ==93150== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==93150== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==93150== Command: python runner2.py EAM_Dynamo_ZhouWadleyJohnson_2001NISTretabulation_Mo__MO_230319944007_000 ==93150== ==93150== Conditional jump or move depends on uninitialised value(s) ==93150== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==93150== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==93150== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93150== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93150== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93150== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93150== by 0x551B80: ??? (in /usr/bin/python3.6) ==93150== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93150== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93150== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93150== by 0x509D47: ??? (in /usr/bin/python3.6) ==93150== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93150== ==93150== Conditional jump or move depends on uninitialised value(s) ==93150== at 0x4E63408: internal_utf8_loop (loop.c:298) ==93150== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==93150== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==93150== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93150== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93150== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93150== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93150== by 0x551B80: ??? (in /usr/bin/python3.6) ==93150== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93150== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93150== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93150== by 0x509D47: ??? (in /usr/bin/python3.6) ==93150== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93150== ==93150== Conditional jump or move depends on uninitialised value(s) ==93150== at 0x4E63411: internal_utf8_loop (loop.c:303) ==93150== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==93150== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==93150== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93150== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93150== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93150== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93150== by 0x551B80: ??? (in /usr/bin/python3.6) ==93150== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93150== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93150== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93150== by 0x509D47: ??? (in /usr/bin/python3.6) ==93150== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93150== ==93150== Conditional jump or move depends on uninitialised value(s) ==93150== at 0x4E63458: internal_utf8_loop (loop.c:298) ==93150== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==93150== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==93150== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93150== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93150== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==93150== by 0x5BA640: ??? (in /usr/bin/python3.6) ==93150== by 0x551B80: ??? (in /usr/bin/python3.6) ==93150== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==93150== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==93150== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93150== by 0x509D47: ??? (in /usr/bin/python3.6) ==93150== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==93150== ==93150== Conditional jump or move depends on uninitialised value(s) ==93150== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==93150== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==93150== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==93150== by 0x547A3F: ??? (in /usr/bin/python3.6) ==93150== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==93150== by 0x4C51E6: ??? (in /usr/bin/python3.6) ==93150== by 0x4F8388: ??? (in /usr/bin/python3.6) ==93150== by 0x4FBD83: ??? (in /usr/bin/python3.6) ==93150== by 0x4FC914: _PyArg_ParseStack_SizeT (in /usr/bin/python3.6) ==93150== by 0x4C6C88: ??? (in /usr/bin/python3.6) ==93150== by 0x50A9D9: ??? (in /usr/bin/python3.6) ==93150== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==93150== ==93150== ==93150== HEAP SUMMARY: ==93150== in use at exit: 2,764,995 bytes in 1,647 blocks ==93150== total heap usage: 36,172 allocs, 34,525 frees, 64,217,100 bytes allocated ==93150== ==93150== LEAK SUMMARY: ==93150== definitely lost: 0 bytes in 0 blocks ==93150== indirectly lost: 0 bytes in 0 blocks ==93150== possibly lost: 146,155 bytes in 87 blocks ==93150== still reachable: 2,618,840 bytes in 1,560 blocks ==93150== suppressed: 0 bytes in 0 blocks ==93150== Rerun with --leak-check=full to see details of leaked memory ==93150== ==93150== For counts of detected and suppressed errors, rerun with: -v ==93150== Use --track-origins=yes to see where uninitialised values come from ==93150== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11148 from 669) ================================================================================ 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.