Hello, Sergey,
Thanks for the patch! See my comments below.
Why we cannot add "track-fds" to the existed scenario?This patch adds a new field, track-fds [1], in the Valgrind workflow matrix to detect descriptor leakage in the tests. [1]: https://valgrind.org/docs/manual/manual-core.html#opt.track-fds Needed for tarantool/tarantool#11278 --- .github/workflows/valgrind-testing.yaml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/valgrind-testing.yaml b/.github/workflows/valgrind-testing.yaml index e6606478..b3c7bc80 100644 --- a/.github/workflows/valgrind-testing.yaml +++ b/.github/workflows/valgrind-testing.yaml @@ -38,7 +38,11 @@ jobs: # Therefore, testing on this platform is currently # disabled. BUILDTYPE: [Debug, Release] - VALGRIND_SCENARIO: [full, malloc-free-fill-0x00, malloc-free-fill-0xff] + VALGRIND_SCENARIO: + - full + - malloc-free-fill-0x00 + - malloc-free-fill-0xff + - track-fds
include: - BUILDTYPE: Debug CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON @@ -59,6 +63,9 @@ jobs: - VALGRIND_SCENARIO: malloc-free-fill-0xff VALGRIND_OPTS: --leak-check=no --malloc-fill=0xff --free-fill=0xff JOB_POSTFIX: "malloc/free-fill: 0xff" + - VALGRIND_SCENARIO: track-fds
According to documentation, the option "print out a list of open file descriptors on exit or on request".
So the fd leak detection is semi-automated. How it should work on
CI?
+ VALGRIND_OPTS: --leak-check=no --track-fds=yes + JOB_POSTFIX: "track-fds" runs-on: [self-hosted, regular, Linux, x86_64] name: > LuaJIT with Valgrind (Linux/x86_64)