!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!! !!!!! !!!!! 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_Olsson_2010_Au__MO_228280943430_000 Supported species : Au random seed = 13 lattice constant (orig) = 3.000 perturbation amplitude = 0.300 number unit cells per side = 2 ----------------------------------------------------------------------------------------------------- MONOATOMIC STRUCTURE (pbc=False)-- Species = Au (Configuration in file "config-F-Au.xyz") ----------------------------------------------------------------------------------------------------- Energy = 112.45207738343937 Forces: 1 -6.81744356e+00 -2.05527854e+01 -2.34218606e+01 2 -7.90454612e+00 7.57624347e+00 -1.69560340e+01 3 8.57907984e+00 -1.77157649e+01 -4.16515764e+00 4 -1.37721392e+01 2.37133537e+01 1.12749709e+01 5 6.21382387e+00 -2.26636340e+01 -9.27080767e+00 6 1.01438411e+01 4.54858441e+00 -1.46345708e+01 7 1.74291901e+01 -4.47527505e+01 -3.12890200e+01 8 -3.47660455e+01 -2.91264302e+01 -3.84975503e+00 9 -2.25411868e+01 -4.71217677e+00 -2.13785712e+01 10 -1.17499496e+01 3.47758306e+01 -3.17963166e+01 11 -1.90907964e+01 -2.41614028e+01 2.18160295e+01 12 -1.32256343e+01 1.58014770e+01 -3.48790659e+00 13 1.08225266e+00 -1.42319545e+01 -6.47898707e+01 14 1.21472577e+01 1.28219961e+01 -8.42397639e+00 15 6.56531933e+01 4.73998243e+00 1.69207306e+00 16 9.98655408e+00 4.88240704e+01 1.64903710e+01 17 -2.42756719e+01 -1.62631107e+01 2.11765799e+00 18 9.31273955e+00 1.67299589e+01 -4.86060795e+00 19 5.04599027e+00 -2.08166289e+01 1.60062596e+01 20 -1.26926022e+01 6.75035901e+00 1.34978631e+01 21 -1.63386217e+01 -1.91410934e+01 1.21637897e+01 22 3.39372449e+01 2.48097301e+01 3.43506979e+01 23 6.33772399e+00 -3.43805212e+00 8.87466958e+00 24 3.96757348e+00 3.12873953e+00 1.12401209e+01 25 -2.47866875e+01 -1.79183229e+01 -1.21455448e+01 26 -7.96691315e+00 3.52331239e+01 -1.30051805e+01 27 1.67203151e+01 -4.10488668e+01 3.07013635e+01 28 -3.58440529e+01 3.46227994e+01 1.57458430e+01 29 -1.03155455e+01 -1.32226971e+01 1.82252031e+01 30 1.65113389e+01 1.99743446e+01 7.44162143e+00 31 2.40807762e+01 -7.95235190e+00 1.68686197e+01 32 1.49389413e+01 2.36674293e+01 2.49680268e+01 MONOATOMIC STRUCTURE (pbc=True)-- Species = Au (Configuration in file "config-T-Au.xyz") ----------------------------------------------------------------------------------------------------- Energy = 112.45207738343937 Forces: 1 -6.81744356e+00 -2.05527854e+01 -2.34218606e+01 2 -7.90454612e+00 7.57624347e+00 -1.69560340e+01 3 8.57907984e+00 -1.77157649e+01 -4.16515764e+00 4 -1.37721392e+01 2.37133537e+01 1.12749709e+01 5 6.21382387e+00 -2.26636340e+01 -9.27080767e+00 6 1.01438411e+01 4.54858441e+00 -1.46345708e+01 7 1.74291901e+01 -4.47527505e+01 -3.12890200e+01 8 -3.47660455e+01 -2.91264302e+01 -3.84975503e+00 9 -2.25411868e+01 -4.71217677e+00 -2.13785712e+01 10 -1.17499496e+01 3.47758306e+01 -3.17963166e+01 11 -1.90907964e+01 -2.41614028e+01 2.18160295e+01 12 -1.32256343e+01 1.58014770e+01 -3.48790659e+00 13 1.08225266e+00 -1.42319545e+01 -6.47898707e+01 14 1.21472577e+01 1.28219961e+01 -8.42397639e+00 15 6.56531933e+01 4.73998243e+00 1.69207306e+00 16 9.98655408e+00 4.88240704e+01 1.64903710e+01 17 -2.42756719e+01 -1.62631107e+01 2.11765799e+00 18 9.31273955e+00 1.67299589e+01 -4.86060795e+00 19 5.04599027e+00 -2.08166289e+01 1.60062596e+01 20 -1.26926022e+01 6.75035901e+00 1.34978631e+01 21 -1.63386217e+01 -1.91410934e+01 1.21637897e+01 22 3.39372449e+01 2.48097301e+01 3.43506979e+01 23 6.33772399e+00 -3.43805212e+00 8.87466958e+00 24 3.96757348e+00 3.12873953e+00 1.12401209e+01 25 -2.47866875e+01 -1.79183229e+01 -1.21455448e+01 26 -7.96691315e+00 3.52331239e+01 -1.30051805e+01 27 1.67203151e+01 -4.10488668e+01 3.07013635e+01 28 -3.58440529e+01 3.46227994e+01 1.57458430e+01 29 -1.03155455e+01 -1.32226971e+01 1.82252031e+01 30 1.65113389e+01 1.99743446e+01 7.44162143e+00 31 2.40807762e+01 -7.95235190e+00 1.68686197e+01 32 1.49389413e+01 2.36674293e+01 2.49680268e+01 ================================================================================ VALGRIND OUTPUT ================================================================================ ==90056== Memcheck, a memory error detector ==90056== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==90056== Using Valgrind-3.13.0 and LibVEX; rerun with -h for copyright info ==90056== Command: python runner2.py EAM_Dynamo_Olsson_2010_Au__MO_228280943430_000 ==90056== ==90056== Conditional jump or move depends on uninitialised value(s) ==90056== at 0x4FCBE77: __wcsnlen_avx2 (strlen-avx2.S:261) ==90056== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==90056== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90056== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90056== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90056== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90056== by 0x551B80: ??? (in /usr/bin/python3.6) ==90056== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90056== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90056== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90056== by 0x509D47: ??? (in /usr/bin/python3.6) ==90056== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90056== ==90056== Conditional jump or move depends on uninitialised value(s) ==90056== at 0x4E63408: internal_utf8_loop (loop.c:298) ==90056== by 0x4E63408: __gconv_transform_internal_utf8 (skeleton.c:609) ==90056== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==90056== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90056== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90056== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90056== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90056== by 0x551B80: ??? (in /usr/bin/python3.6) ==90056== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90056== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90056== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90056== by 0x509D47: ??? (in /usr/bin/python3.6) ==90056== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90056== ==90056== Conditional jump or move depends on uninitialised value(s) ==90056== at 0x4E63411: internal_utf8_loop (loop.c:303) ==90056== by 0x4E63411: __gconv_transform_internal_utf8 (skeleton.c:609) ==90056== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==90056== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90056== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90056== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90056== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90056== by 0x551B80: ??? (in /usr/bin/python3.6) ==90056== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90056== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90056== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90056== by 0x509D47: ??? (in /usr/bin/python3.6) ==90056== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90056== ==90056== Conditional jump or move depends on uninitialised value(s) ==90056== at 0x4E63458: internal_utf8_loop (loop.c:298) ==90056== by 0x4E63458: __gconv_transform_internal_utf8 (skeleton.c:609) ==90056== by 0x4EF9EF4: wcsrtombs (wcsrtombs.c:110) ==90056== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90056== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90056== by 0x63345D: _Py_stat (in /usr/bin/python3.6) ==90056== by 0x5BA640: ??? (in /usr/bin/python3.6) ==90056== by 0x551B80: ??? (in /usr/bin/python3.6) ==90056== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90056== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90056== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90056== by 0x509D47: ??? (in /usr/bin/python3.6) ==90056== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90056== ==90056== Conditional jump or move depends on uninitialised value(s) ==90056== at 0x4FCBCEC: __wcsnlen_avx2 (strlen-avx2.S:103) ==90056== by 0x4EF9EC1: wcsrtombs (wcsrtombs.c:104) ==90056== by 0x4E7FB20: wcstombs (wcstombs.c:34) ==90056== by 0x547A3F: ??? (in /usr/bin/python3.6) ==90056== by 0x547D20: PyUnicode_FSConverter (in /usr/bin/python3.6) ==90056== by 0x4CAD31: ??? (in /usr/bin/python3.6) ==90056== by 0x551B80: ??? (in /usr/bin/python3.6) ==90056== by 0x5AA6EB: _PyObject_FastCallKeywords (in /usr/bin/python3.6) ==90056== by 0x50ABB2: ??? (in /usr/bin/python3.6) ==90056== by 0x50C5B8: _PyEval_EvalFrameDefault (in /usr/bin/python3.6) ==90056== by 0x509D47: ??? (in /usr/bin/python3.6) ==90056== by 0x50AA7C: ??? (in /usr/bin/python3.6) ==90056== ==90056== ==90056== HEAP SUMMARY: ==90056== in use at exit: 2,764,995 bytes in 1,647 blocks ==90056== total heap usage: 37,128 allocs, 35,481 frees, 75,687,691 bytes allocated ==90056== ==90056== LEAK SUMMARY: ==90056== definitely lost: 0 bytes in 0 blocks ==90056== indirectly lost: 0 bytes in 0 blocks ==90056== possibly lost: 146,155 bytes in 87 blocks ==90056== still reachable: 2,618,840 bytes in 1,560 blocks ==90056== suppressed: 0 bytes in 0 blocks ==90056== Rerun with --leak-check=full to see details of leaked memory ==90056== ==90056== For counts of detected and suppressed errors, rerun with: -v ==90056== Use --track-origins=yes to see where uninitialised values come from ==90056== ERROR SUMMARY: 6672 errors from 5 contexts (suppressed: 11627 from 659) ================================================================================ 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.