From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gnu.wildebeest.org (wildebeest.demon.nl [212.238.236.112]) by sourceware.org (Postfix) with ESMTPS id C9F4B3858435 for ; Sat, 28 Aug 2021 14:01:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C9F4B3858435 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=klomp.org Received: from reform (deer0x0b.wildebeest.org [172.31.17.141]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 7788C3000B17; Sat, 28 Aug 2021 16:01:23 +0200 (CEST) Received: by reform (Postfix, from userid 1000) id DBA3A2E80D6E; Sat, 28 Aug 2021 16:01:22 +0200 (CEST) Date: Sat, 28 Aug 2021 16:01:22 +0200 From: Mark Wielaard To: buildbot@builder.wildebeest.org Cc: elfutils-devel@sourceware.org Subject: Re: Buildbot failure in Wildebeest Builder on whole buildset Message-ID: References: <20210827231914.54F2E817A9B@builder.wildebeest.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Zbk/GR6df0OiNqvE" Content-Disposition: inline In-Reply-To: <20210827231914.54F2E817A9B@builder.wildebeest.org> X-Spam-Status: No, score=-10.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_BADIPHTTP, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: elfutils-devel@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Elfutils-devel mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Aug 2021 14:01:40 -0000 --Zbk/GR6df0OiNqvE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, On Fri, Aug 27, 2021 at 11:19:14PM +0000, buildbot@builder.wildebeest.org wrote: > The Buildbot has detected a new failure on builder elfutils-debian-amd64 while building elfutils. > Full details are available at: > https://builder.wildebeest.org/buildbot/#builders/2/builds/803 > > Buildbot URL: https://builder.wildebeest.org/buildbot/ > > Worker for this Build: debian-amd64 > > Build Reason: > Blamelist: Di Chen > > BUILD FAILED: failed test (failure) This took me a while to figure out because it does not consistently fail. It turns out that sharing a database between two debuginfod instances (especially if they forward queries to each other) is not a good idea. Hopefully fixed with the attached patch. At first I had hoped that using -d :memory: would work. But debuginfod doesn't really support in memory databases like that. It opens the database twice in read/write and read-only mode. But :memory: is special and isn't always a new database, so the read-only copy doesn't see what is in the read/write copy. Cheers, Mark --Zbk/GR6df0OiNqvE Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="0001-tests-Use-fresh-separate-databases-for-debuginfd-for.patch" >From 17a9b1303e533c13aac6550844bdd68c669091bf Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 28 Aug 2021 15:54:18 +0200 Subject: [PATCH] tests: Use fresh separate databases for debuginfd forwarded-ttl-limit Sharing the database between the two debuginfod instances that forward queries to each other causes issues. Make both debuginfod instances use a new fresh database. Signed-off-by: Mark Wielaard --- tests/ChangeLog | 5 +++++ tests/run-debuginfod-find.sh | 7 +++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 29c48b97..cbd1c227 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,8 @@ +2021-08-28 Mark Wielaard + + * run-debuginfod-find.sh: Use clean, separate databases for + forwarded-ttl-limit tests. + 2021-08-20 Di Chen * run-debuginfod-find.sh: Add test for X-Forwarded-For hops limit. diff --git a/tests/run-debuginfod-find.sh b/tests/run-debuginfod-find.sh index 7e12dd7f..5d38d625 100755 --- a/tests/run-debuginfod-find.sh +++ b/tests/run-debuginfod-find.sh @@ -824,10 +824,13 @@ done tempfiles vlog$PORT4 vlog$PORT5 errfiles vlog$PORT4 vlog$PORT5 -env LD_LIBRARY_PATH=$ldpath DEBUGINFOD_URLS=http://127.0.0.1:$PORT5 ${abs_builddir}/../debuginfod/debuginfod $VERBOSE --forwarded-ttl-limit 0 -p $PORT4 > vlog$PORT4 2>&1 & +# Give each debuginfd its own clean database. +tempfiles db.$PORT4.sql db.$PORT5.sql + +env LD_LIBRARY_PATH=$ldpath DEBUGINFOD_URLS=http://127.0.0.1:$PORT5 ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -d db.$PORT4.sql --forwarded-ttl-limit 0 -p $PORT4 > vlog$PORT4 2>&1 & PID5=$! -env LD_LIBRARY_PATH=$ldpath DEBUGINFOD_URLS=http://127.0.0.1:$PORT4 ${abs_builddir}/../debuginfod/debuginfod $VERBOSE --forwarded-ttl-limit 1 -p $PORT5 > vlog$PORT5 2>&1 & +env LD_LIBRARY_PATH=$ldpath DEBUGINFOD_URLS=http://127.0.0.1:$PORT4 ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -d db.$PORT5.sql --forwarded-ttl-limit 1 -p $PORT5 > vlog$PORT5 2>&1 & PID6=$! wait_ready $PORT4 'ready' 1 -- 2.32.0 --Zbk/GR6df0OiNqvE--