From a0741ff7013d1c877f084c3570be11cf1450859b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= Date: Tue, 17 May 2022 14:56:59 +0200 Subject: [PATCH] CI: Set up debuginfod for Arch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Valgrind tests for Arch failed with: Run meson test -C ci_valgrind --suite ci_valgrind --print-errorlogs -t 10 --wrap=$GITHUB_WORKSPACE/contrib/valgrind/valgrind_wrapper.sh ninja: Entering directory `/__w/libmodulemd/libmodulemd/ci_valgrind' ninja: no work to do. 1/22 modulemd:ci+ci_valgrind+c+c_debug / buildconfig_debug FAIL 0.02s exit status 1 >>> MESON_BUILD_ROOT=/__w/libmodulemd/libmodulemd/ci_valgrind MESON_SOURCE_ROOT=/__w/libmodulemd/libmodulemd MALLOC_PERTURB_=145 G_DEBUG=fatal-warnings,fatal-criticals LC_ALL=C TEST_DATA_PATH=/__w/libmodulemd/libmodulemd/modulemd/tests/test_data /__w/libmodulemd/libmodulemd/contrib/valgrind/valgrind_wrapper.sh /__w/libmodulemd/libmodulemd/ci_valgrind/modulemd/buildconfig ――――――――――――――――――――――――――――――――――――― ✀ ――――――――――――――――――――――――――――――――――――― stderr: + valgrind --error-exitcode=1 --errors-for-leak-kinds=definite --leak-check=full --show-leak-kinds=definite --suppressions=/usr/share/glib-2.0/valgrind/glib.supp --suppressions=/__w/libmodulemd/libmodulemd/contrib/valgrind/libmodulemd-python.supp /__w/libmodulemd/libmodulemd/ci_valgrind/modulemd/buildconfig ==2586== Memcheck, a memory error detector ==2586== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al. ==2586== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info ==2586== Command: /__w/libmodulemd/libmodulemd/ci_valgrind/modulemd/buildconfig ==2586== valgrind: Fatal error at startup: a function redirection valgrind: which is mandatory for this platform-tool combination valgrind: cannot be set up. Details of the redirection are: valgrind: valgrind: A must-be-redirected function valgrind: whose name matches the pattern: strlen valgrind: in an object with soname matching: ld-linux-x86-64.so.2 valgrind: was not found whilst processing valgrind: symbols from the object with soname: ld-linux-x86-64.so.2 This looks like an intentional change in Arch glibc between 2.35-3 and 2.35-5. One needs to set up a debuginfod to be used by valgrind now. This is nomally done by a login shell, but step in GitHub actions do not execute a login shell by default. Do it explicitly. https://bugs.archlinux.org/task/74755 --- .github/workflows/ci.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 394a66c3..f5d5a6b7 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -299,6 +299,9 @@ jobs: run: ninja -C ci_valgrind - name: Run valgrind tests + # Run profile scripts to set debuginfo environment variable, + # + shell: bash --login -eo pipefail {0} run: meson test -C ci_valgrind --suite ci_valgrind --print-errorlogs -t 10 --wrap=$GITHUB_WORKSPACE/contrib/valgrind/valgrind_wrapper.sh