!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Marinica_2007_Fe__MO_466808877130_000 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 = 95.60308589749286 Forces: 1 -1.44939336e+01 -1.49818867e+01 -2.88765604e+01 2 -1.57622366e+01 1.97372233e+01 -7.56366637e+00 3 3.25105275e+01 -2.91364966e+01 -1.08044878e+01 4 -1.58015181e+01 2.52329960e+01 9.86167574e+00 5 3.51970028e+00 -3.39132666e+01 1.19504214e+00 6 1.73278080e+01 1.65652064e+01 -1.56028076e+01 7 1.25707109e+01 -6.13007683e+01 -5.29679668e+01 8 -3.61300315e+01 -2.49743396e+01 -9.87064266e+00 9 -2.47875778e+01 -1.85951674e+01 -3.71984746e+01 10 -1.31552572e+01 4.26009765e+01 -4.17181335e+01 11 -1.05681506e+01 -3.38046296e+01 3.54398349e+01 12 -1.34726412e+01 2.42139202e+01 8.62154353e+00 13 -1.03120162e+01 -3.28530654e+01 -8.29151154e+01 14 1.37065448e+01 2.06621370e+01 -1.15643522e+01 15 7.61998997e+01 -1.67298753e+01 1.54736555e+01 16 1.45478902e+01 6.17476950e+01 3.19949502e+01 17 -3.54822673e+01 -7.94987162e+00 2.93300567e+00 18 1.36994994e+01 1.97427311e+01 3.15059262e+00 19 2.56209754e+01 -2.46224616e+01 1.43110962e+01 20 -1.59826322e+01 2.22793181e+01 1.33911915e+01 21 -3.90724289e+01 -1.50625002e+01 5.31332115e+00 22 3.45356596e+01 4.53667375e+01 4.53668211e+01 23 1.53258082e+01 3.94266033e-01 2.26935762e+01 24 -2.28297300e+00 -5.10335400e+00 3.07832407e+00 25 -1.66413093e+01 -1.72846322e+01 3.03149134e+00 26 -1.67925455e+01 3.88575748e+01 -2.02099199e+01 27 2.15289423e+01 -6.73191217e+01 1.87358851e+01 28 -4.84633021e+01 4.36526777e+01 7.81810319e+00 29 -1.92408473e+01 -1.72087085e+01 1.82897526e+01 30 1.14864122e+01 2.50121531e+01 9.98299787e+00 31 3.62064730e+01 -1.46615905e+01 1.95419473e+01 32 1.96548169e+01 2.94361229e+01 2.90673193e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Fe (Configuration in file "config-T-Fe.xyz") ----------------------------------------------------------------------------------------------------- Energy = 95.60308589749286 Forces: 1 -1.44939336e+01 -1.49818867e+01 -2.88765604e+01 2 -1.57622366e+01 1.97372233e+01 -7.56366637e+00 3 3.25105275e+01 -2.91364966e+01 -1.08044878e+01 4 -1.58015181e+01 2.52329960e+01 9.86167574e+00 5 3.51970028e+00 -3.39132666e+01 1.19504214e+00 6 1.73278080e+01 1.65652064e+01 -1.56028076e+01 7 1.25707109e+01 -6.13007683e+01 -5.29679668e+01 8 -3.61300315e+01 -2.49743396e+01 -9.87064266e+00 9 -2.47875778e+01 -1.85951674e+01 -3.71984746e+01 10 -1.31552572e+01 4.26009765e+01 -4.17181335e+01 11 -1.05681506e+01 -3.38046296e+01 3.54398349e+01 12 -1.34726412e+01 2.42139202e+01 8.62154353e+00 13 -1.03120162e+01 -3.28530654e+01 -8.29151154e+01 14 1.37065448e+01 2.06621370e+01 -1.15643522e+01 15 7.61998997e+01 -1.67298753e+01 1.54736555e+01 16 1.45478902e+01 6.17476950e+01 3.19949502e+01 17 -3.54822673e+01 -7.94987162e+00 2.93300567e+00 18 1.36994994e+01 1.97427311e+01 3.15059262e+00 19 2.56209754e+01 -2.46224616e+01 1.43110962e+01 20 -1.59826322e+01 2.22793181e+01 1.33911915e+01 21 -3.90724289e+01 -1.50625002e+01 5.31332115e+00 22 3.45356596e+01 4.53667375e+01 4.53668211e+01 23 1.53258082e+01 3.94266033e-01 2.26935762e+01 24 -2.28297300e+00 -5.10335400e+00 3.07832407e+00 25 -1.66413093e+01 -1.72846322e+01 3.03149134e+00 26 -1.67925455e+01 3.88575748e+01 -2.02099199e+01 27 2.15289423e+01 -6.73191217e+01 1.87358851e+01 28 -4.84633021e+01 4.36526777e+01 7.81810319e+00 29 -1.92408473e+01 -1.72087085e+01 1.82897526e+01 30 1.14864122e+01 2.50121531e+01 9.98299787e+00 31 3.62064730e+01 -1.46615905e+01 1.95419473e+01 32 1.96548169e+01 2.94361229e+01 2.90673193e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==88108== Memcheck, a memory error detector ==88108== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==88108== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==88108== Command: python runner2.py EAM_Dynamo_Marinica_2007_Fe__MO_466808877130_000 ==88108== ==88108== Conditional jump or move depends on uninitialised value(s) ==88108== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==88108== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88108== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88108== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88108== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88108== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88108== by 0x551B80: ??? (in /usr/bin/python3.6) ==88108== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88108== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88108== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88108== by 0x509D47: ??? (in /usr/bin/python3.6) ==88108== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88108== ==88108== Conditional jump or move depends on uninitialised value(s) ==88108== at 0x4E63408: internal_utf8_loop (loop.c:298) ==88108== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==88108== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88108== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88108== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88108== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88108== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88108== by 0x551B80: ??? (in /usr/bin/python3.6) ==88108== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88108== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88108== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88108== by 0x509D47: ??? (in /usr/bin/python3.6) ==88108== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88108== ==88108== Conditional jump or move depends on uninitialised value(s) ==88108== at 0x4E63411: internal_utf8_loop (loop.c:303) ==88108== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==88108== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88108== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88108== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88108== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88108== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88108== by 0x551B80: ??? (in /usr/bin/python3.6) ==88108== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88108== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88108== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88108== by 0x509D47: ??? (in /usr/bin/python3.6) ==88108== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88108== ==88108== Conditional jump or move depends on uninitialised value(s) ==88108== at 0x4E63458: internal_utf8_loop (loop.c:298) ==88108== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==88108== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==88108== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88108== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88108== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==88108== by 0x5BA640: ??? (in /usr/bin/python3.6) ==88108== by 0x551B80: ??? (in /usr/bin/python3.6) ==88108== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88108== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88108== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88108== by 0x509D47: ??? (in /usr/bin/python3.6) ==88108== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88108== ==88108== Conditional jump or move depends on uninitialised value(s) ==88108== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==88108== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==88108== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==88108== by 0x547A3F: ??? (in /usr/bin/python3.6) ==88108== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==88108== by 0x4CAD31: ??? (in /usr/bin/python3.6) ==88108== by 0x551B80: ??? (in /usr/bin/python3.6) ==88108== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==88108== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==88108== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==88108== by 0x509D47: ??? (in /usr/bin/python3.6) ==88108== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==88108== ==88108== ==88108== HEAP SUMMARY: ==88108== in use at exit: 2,764,995 bytes in 1,647 blocks ==88108== total heap usage: 36,172 allocs, 34,525 frees, 177,107,057 bytes allocated ==88108== ==88108== LEAK SUMMARY: ==88108== definitely lost: 0 bytes in 0 blocks ==88108== indirectly lost: 0 bytes in 0 blocks ==88108== possibly lost: 146,155 bytes in 87 blocks ==88108== still reachable: 2,618,840 bytes in 1,560 blocks ==88108== suppressed: 0 bytes in 0 blocks ==88108== Rerun with --leak-check=full to see details of leaked memory ==88108== ==88108== For counts of detected and suppressed errors, rerun with: -v ==88108== Use --track-origins=yes to see where uninitialised values come from ==88108== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11549 from 639) ================================================================================ 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.