Re: [PATCH] lib: Fix unused parameter warning in lib/error.c
Hi Colin (CC Saleem who introduced this new error replacement function), On Wed, 2021-09-08 at 11:21 -0700, Colin Cross via Elfutils-devel wrote: > Mark the errnum parameter with __attribute__((unused)). Thanks, that is interesting. But I think this is an actual bug in the code. Rereviewing the new replacement error function: > #if !defined(HAVE_ERROR_H) && defined(HAVE_ERR_H) > #include > #include > #include > > unsigned int error_message_count = 0; > > void error(int status, int errnum, const char *format, ...) { > va_list argp; > > va_start(argp, format); > verr(status, format, argp); > va_end(argp); > > if (status) > exit(status); > ++error_message_count; > } > #endif I see three issues with the code: 1) error is supposed to first flush stdout before printing to stderr. This is minor, but might make the error message appear differently when stdout and stderr are mixed. 2) errnum isn't actually used as you noticed. error is supposed to print strerror(errnum) if errnum is not zero. Instead verr print strerror(errno), even when errno is zero. So I think the code should use errnum (if it is not zero), save the current value of errno, assign errnum to errno, call verr and set errno back. 3) error ignores status if it is zero, but verr seems to call exit (0) meaning it terminates the program instead of simply printing an error and increasing error_message_count. Could the error replacement function be rewritten to behave more correctly? Thanks, Mark
[PATCH v2] findtextrel: do not use unbound alloca
This fixes the following compilation warning: findtextrel.c:184:1: warning: stack usage might be unbounded [-Wstack-usage=] Signed-off-by: Dmitry V. Levin --- v1 introduced a memory leak, so in v2 I rearranged the code a bit to make clear the new code does not introduce any memory leaks. src/ChangeLog | 7 +++ src/Makefile.am | 1 - src/findtextrel.c | 52 +-- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 297627df..449ca17b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2021-09-09 Dmitry V. Levin + + * findtextrel.c: Include "libeu.h". + (open_rootdir_file): New function. + (process_file): Use it to open file inside rootdir. + * Makefile.am (findtextrel_no_Wstack_usage): Remove. + 2021-09-06 Dmitry V. Levin * objdump.c (show_disasm): Replace asprintf followed by diff --git a/src/Makefile.am b/src/Makefile.am index 88d0ac8f..ee695d5d 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -61,7 +61,6 @@ nm_no_Wstack_usage = yes size_no_Wstack_usage = yes strip_no_Wstack_usage = yes elflint_no_Wstack_usage = yes -findtextrel_no_Wstack_usage = yes elfcmp_no_Wstack_usage = yes objdump_no_Wstack_usage = yes ranlib_no_Wstack_usage = yes diff --git a/src/findtextrel.c b/src/findtextrel.c index 220ee909..fd7baddb 100644 --- a/src/findtextrel.c +++ b/src/findtextrel.c @@ -36,6 +36,7 @@ #include #include +#include "libeu.h" #include "system.h" struct segments @@ -181,30 +182,31 @@ noop (void *arg __attribute__ ((unused))) static int -process_file (const char *fname, bool more_than_one) +open_rootdir_file (const char *fname) { - int result = 0; - void *knownsrcs = NULL; - - size_t fname_len = strlen (fname); - size_t rootdir_len = strlen (rootdir); + char *new_fname = NULL; const char *real_fname = fname; + if (fname[0] == '/' && (rootdir[0] != '/' || rootdir[1] != '\0')) -{ - /* Prepend the user-provided root directory. */ - char *new_fname = alloca (rootdir_len + fname_len + 2); - *((char *) mempcpy (stpcpy (mempcpy (new_fname, rootdir, rootdir_len), - "/"), - fname, fname_len)) = '\0'; - real_fname = new_fname; -} +real_fname = new_fname = xasprintf ("%s/%s", rootdir, fname); int fd = open (real_fname, O_RDONLY); if (fd == -1) -{ - error (0, errno, _("cannot open '%s'"), fname); - return 1; -} +error (0, errno, _("cannot open '%s'"), fname); + + free (new_fname); + return fd; +} + + +static int +process_file (const char *fname, bool more_than_one) +{ + int result = 0; + void *knownsrcs = NULL; + int fd = open_rootdir_file (fname); + if (fd == -1) +return 1; Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL); if (elf == NULL) @@ -362,18 +364,10 @@ cannot get program header index at offset %zd: %s"), is specified with an absolute path. */ if (dw == NULL && fname[0] == '/') { - size_t debuginfo_rootlen = strlen (debuginfo_root); - char *difname = (char *) alloca (rootdir_len + debuginfo_rootlen - + fname_len + 8); - strcpy (mempcpy (stpcpy (mempcpy (mempcpy (difname, rootdir, -rootdir_len), - debuginfo_root, - debuginfo_rootlen), - "/"), - fname, fname_len), - ".debug"); - + char *difname = + xasprintf("%s%s/%s.debug", rootdir, debuginfo_root, fname); fd2 = open (difname, O_RDONLY); + free (difname); if (fd2 != -1 && (elf2 = elf_begin (fd2, ELF_C_READ_MMAP, NULL)) != NULL) dw = dwarf_begin_elf (elf2, DWARF_C_READ, NULL); -- ldv
[Bug debuginfod/28325] New: create new debuginfod.service.8 man page
https://sourceware.org/bugzilla/show_bug.cgi?id=28325 Bug ID: 28325 Summary: create new debuginfod.service.8 man page Product: elfutils Version: unspecified Status: NEW Severity: normal Priority: P2 Component: debuginfod Assignee: unassigned at sourceware dot org Reporter: fche at redhat dot com CC: elfutils-devel at sourceware dot org Target Milestone: --- Let's briefly document the systemd service wrapper in its own right. -- You are receiving this mail because: You are on the CC list for the bug.
Buildbot failure in Wildebeest Builder on whole buildset
The Buildbot has detected a new failure on builder elfutils-centos-x86_64 while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/1/builds/823 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: centos-x86_64 Build Reason: Blamelist: Dmitry V. Levin BUILD FAILED: failed test (failure) Sincerely, -The BuildbotThe Buildbot has detected a new failure on builder elfutils-debian-i386 while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/4/builds/815 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: debian-i386 Build Reason: Blamelist: Dmitry V. Levin BUILD FAILED: failed test (failure) Sincerely, -The Buildbot
Re: [PATCH v2] findtextrel: do not use unbound alloca
Hi Dmitry, On Thu, 2021-09-09 at 14:31 +0300, Dmitry V. Levin wrote: > This fixes the following compilation warning: > > findtextrel.c:184:1: warning: stack usage might be unbounded [- > Wstack-usage=] > > Signed-off-by: Dmitry V. Levin > --- > > v1 introduced a memory leak, so in v2 I rearranged the code a bit > to make clear the new code does not introduce any memory leaks. Sorry I missed that in my original review. But yes, in the original you only freed on error. Now always. Did the testsuite catch it with configure --enable-valgrind ? Looks good, please apply. Thanks, Mark >
[COMMITTED] tests: Cleanup error handling and don't share cache between servers/client
There were still three tests that shared a cache between the servers and client that queried those servers. Give them all separate caches. Also the error handler for debuginfod tests wasn't called when a command inside a function failed. Since testrun is a function, there would be no metrics or error log files listed if the testrun command failed. Making it hard to see what went wrong. Fix this by using set -o errtrace Signed-off-by: Mark Wielaard --- tests/ChangeLog| 11 +++ tests/debuginfod-subr.sh | 14 - tests/run-debuginfod-federation-link.sh| 7 --- tests/run-debuginfod-federation-metrics.sh | 18 - tests/run-debuginfod-federation-sqlite.sh | 23 ++ 5 files changed, 42 insertions(+), 31 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 85dca442..05b31fd8 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,14 @@ +2021-09-09 Mark Wielaard + + * debuginfod-subr.sh: set -o errtrace. + (cleanup): Don't fail kill or wait. Only trap on normal exit. + (err): Don't fail curl metrics. Call cleanup. + * run-debuginfod-federation-link.sh: Use separate client caches + for both servers and debuginfod client. Remove duplicate valgrind + disabling. + * run-debuginfod-federation-metrics.sh: Likewise. + * run-debuginfod-federation-sqlite.sh: Likewise. + 2021-09-06 Dmitry V. Levin * elfcopy.c (copy_elf): Remove cast of malloc return value. diff --git a/tests/debuginfod-subr.sh b/tests/debuginfod-subr.sh index 7d238436..c21b7b8a 100755 --- a/tests/debuginfod-subr.sh +++ b/tests/debuginfod-subr.sh @@ -16,6 +16,9 @@ # sourced from run-debuginfod-*.sh tests (must be bash scripts) +# We trap ERR and like commands that fail in function to also trap +set -o errtrace + . $srcdir/test-subr.sh # includes set -e type curl 2>/dev/null || (echo "need curl"; exit 77) @@ -27,14 +30,14 @@ echo "zstd=$zstd bsdtar=`bsdtar --version`" cleanup() { - if [ $PID1 -ne 0 ]; then kill $PID1; wait $PID1; fi - if [ $PID2 -ne 0 ]; then kill $PID2; wait $PID2; fi + if [ $PID1 -ne 0 ]; then kill $PID1 || : ; wait $PID1 || :; fi + if [ $PID2 -ne 0 ]; then kill $PID2 || : ; wait $PID2 || :; fi rm -rf F R D L Z ${PWD}/foobar ${PWD}/mocktree ${PWD}/.client_cache* ${PWD}/tmp* exit_cleanup } -# clean up trash if we were aborted early -trap cleanup 0 1 2 3 5 9 15 +# clean up trash if we exit +trap cleanup 0 errfiles_list= err() { @@ -42,7 +45,7 @@ err() { for port in $PORT1 $PORT2 do echo ERROR REPORT $port metrics -curl -s http://127.0.0.1:$port/metrics +curl -s http://127.0.0.1:$port/metrics || : echo done for x in $errfiles_list @@ -51,6 +54,7 @@ err() { cat $x echo done +cleanup false # trigger set -e } trap err ERR diff --git a/tests/run-debuginfod-federation-link.sh b/tests/run-debuginfod-federation-link.sh index 050bcbcf..1347e7b8 100755 --- a/tests/run-debuginfod-federation-link.sh +++ b/tests/run-debuginfod-federation-link.sh @@ -98,6 +98,9 @@ wait_ready $PORT2 'thread_busy{role="http-metrics"}' 1 # have clients contact the new server export DEBUGINFOD_URLS=http://127.0.0.1:$PORT2 +# Use fresh cache for debuginfod-find client requests +export DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache3 +mkdir -p $DEBUGINFOD_CACHE_PATH if type bsdtar 2>/dev/null; then # copy in the deb files @@ -117,7 +120,6 @@ if type bsdtar 2>/dev/null; then archive_test f17a29b5a25bd4960531d82aa6b07c8abe84fa66 "" "" fi -rm -rf $DEBUGINFOD_CACHE_PATH testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID # send a request to stress XFF and User-Agent federation relay; @@ -148,8 +150,7 @@ export DEBUGINFOD_URLS=127.0.0.1:$PORT2 testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID # test parallel queries in client -export DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache3 -mkdir -p $DEBUGINFOD_CACHE_PATH +rm -rf $DEBUGINFOD_CACHE_PATH export DEBUGINFOD_URLS="BAD http://127.0.0.1:$PORT1 127.0.0.1:$PORT1 http://127.0.0.1:$PORT2 DNE" testrun ${abs_builddir}/debuginfod_build_id_find -e F/prog 1 diff --git a/tests/run-debuginfod-federation-metrics.sh b/tests/run-debuginfod-federation-metrics.sh index 0cc4c2f7..2d0fd6d4 100755 --- a/tests/run-debuginfod-federation-metrics.sh +++ b/tests/run-debuginfod-federation-metrics.sh @@ -92,6 +92,10 @@ wait_ready $PORT2 'thread_busy{role="http-metrics"}' 1 # have clients contact the new server export DEBUGINFOD_URLS=http://127.0.0.1:$PORT2 +# Use fresh cache for debuginfod-find client requests +export DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache3 +mkdir -p $DEBUGINFOD_CACHE_PATH + if type bsdtar 2>/dev/null; then # copy in the deb files cp -rvp ${abs_srcdir}/debuginfod-debs/*deb D @@ -110,7 +114,6 @@ if type bsdtar 2>/dev/null; then archive_te
Re: [Bug debuginfod/28034] client-side %-escape url characters
Hello, The attached patch %-escapes debuginfod url characters, then unescapes only '/' characters. Previously characters such as '+' were not escaped and caused improper escaping further on in handler_cb. https://sourceware.org/bugzilla/show_bug.cgi?id=28034. On Wed, Sep 8, 2021 at 9:38 AM Mark Wielaard wrote: > /* Initialize each handle. */ > for (int i = 0; i < num_urls; i++) > > So you only need to escape once. You of course then need to make sure > the escaped_string is freed after the loop. Added > We already check that the first char is a '/'. It seems silly to curl > escape that one and then unescape it again. So maybe curl_easy_escape > (data[i].handle, filename + 1, 0) and then change the snprintf pattern > to "%s/%s/%s/%s"? > ^ the slash got readded here. Added > The strlen inside the while loop can also be done outside and then > calculated instead of running strlen on the tail every time. Added > Lastly I assume there are already testcases that cover this > functionality? Just wanting to know how you tested it. Previously, with run-debuginfod-find.sh the test was embedded within other tests. Now the test is independent and has been added to the list of TESTS. Regards, Noah Sanci From a080fd3feb79d601d86c54cf479562d6d5bed395 Mon Sep 17 00:00:00 2001 From: Noah Sanci Date: Thu, 9 Sep 2021 13:10:33 -0400 Subject: [PATCH] debuginfod: PR28034 - Percent escape debuginfod urls When requesting some source files, some URL-inconvenient chars sometimes pop up, including but not limited to '+', '^', and '&'. Example from f33 libstdc++: /buildid/44d8485cb75512c2ca5c8f70afbd475cae30af4f/source/usr/src/debug /gcc-10.3.1-1.fc33.x86_64/obj-x86_64-redhat-linux/x86_64-redhat-linux/ libstdc++-v3/src/c++11/../../../../../libstdc++-v3/src/c++11/ condition_variable.cc As this URL is passed into debuginfod's handler_cb, it appears that the + signs are helpfully unescaped to spaces by libmicrohttpd, which 'course breaks everything. To combat this, before querying the debuginfod daemon, clients now % escape the source filename. This converts many alphanumeric characters into their %-code format, including '/' to %2F. We want to preserve the '/' in the url, so after conversion replace %2Fs with a '/'. https://sourceware.org/bugzilla/show_bug.cgi?id=28034 Signed-off-by: Noah Sanci --- debuginfod/debuginfod-client.c | 18 ++-- tests/ChangeLog| 7 +-- tests/Makefile.am | 2 + tests/run-debuginfod-percent-escape.sh | 60 ++ 4 files changed, 79 insertions(+), 8 deletions(-) create mode 100755 tests/run-debuginfod-percent-escape.sh diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c index d41723ce..77ca844b 100644 --- a/debuginfod/debuginfod-client.c +++ b/debuginfod/debuginfod-client.c @@ -883,6 +883,10 @@ debuginfod_query_server (debuginfod_client *c, data[i].errbuf[0] = '\0'; } + char *escaped_string; + if (filename) +escaped_string = curl_easy_escape(&target_handle, filename+1, 0); + /* Initialize each handle. */ for (int i = 0; i < num_urls; i++) { @@ -904,16 +908,23 @@ debuginfod_query_server (debuginfod_client *c, if (filename) /* must start with / */ { /* PR28034 escape characters in completed url to %hh format. */ - char *escaped_string; - escaped_string = curl_easy_escape(data[i].handle, filename, 0); + char *loc = escaped_string; if (!escaped_string) { rc = -ENOMEM; goto out2; } + + size_t escaped_strlen = strlen(escaped_string); + while ((loc = strstr(loc, "%2F"))) +{ +loc[0] = '/'; +// pull the string back after replacement +memmove(loc+1, loc+3,escaped_strlen - (loc - escaped_string + 2) ); +escaped_strlen -=2; +} snprintf(data[i].url, PATH_MAX, "%s/%s/%s/%s", server_url, build_id_bytes, type, escaped_string); - curl_free(escaped_string); } else snprintf(data[i].url, PATH_MAX, "%s/%s/%s", server_url, build_id_bytes, type); @@ -953,6 +964,7 @@ debuginfod_query_server (debuginfod_client *c, curl_multi_add_handle(curlm, data[i].handle); } + if (filename) curl_free(escaped_string); /* Query servers in parallel. */ if (vfd >= 0) dprintf (vfd, "query %d urls in parallel\n", num_urls); diff --git a/tests/ChangeLog b/tests/ChangeLog index 85dca442..b84f420c 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -132,11 +132,8 @@ 2021-07-16 Noah Sanci PR28034 - * run-debuginfod-find.sh: Added a test ensuring files with % - escapable characters in their paths are accessible. The test - itself is changing the name of a binary known previously as prog to - p+r%o$g. General operations such as accessing p+r%o$g acts as the - test for
Re: [COMMITTED] tests: Cleanup error handling and don't share cache between servers/client
Hi, On Thu, Sep 09, 2021 at 06:58:10PM +0200, Mark Wielaard wrote: > Also the error handler for debuginfod tests wasn't called when a > command inside a function failed. Since testrun is a function, there > would be no metrics or error log files listed if the testrun command > failed. Making it hard to see what went wrong. Fix this by using > set -o errtrace So that showed run-debuginfod-fd-prefetch-caches.sh "failed". I "fixed" that with the attached patch which I just committed. And also make the cleanup and error handling slightly better (by only doing it once). But it doesn't really "fix" run-debuginfod-fd-prefetch-caches.sh. It now just does nothing. The debuginfod server gets to scan a non-existing directory and then nothing even tries to query anything from the server. So nothing ever gets prefetched. And testing for zero happily succeeds. Noah, could you take a peek at this testcase and see if you can make it do something "real"? Thanks, Mark >From bbf0dc0162e82770f296b2ecda77a2b5bd6f7405 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Thu, 9 Sep 2021 21:51:51 +0200 Subject: [PATCH] tests: Don't fail run-debuginfod-fd-prefetch-caches.sh if grep -c fails The set -o errtrace made run-debuginfod-fd-prefetch-caches.sh fail. On some systems. Add set -o functrace to make it fail consistently. The failure is because the grep -c for in the log file fails (it returns zero). Fix this by using || true. But this is only a workaround. It makes the test pass, but only because all values are always zero. The test doesn't currently test anything. Also make sure that err and cleanup are only executed once. Signed-off-by: Mark Wielaard --- tests/ChangeLog| 7 +++ tests/debuginfod-subr.sh | 7 +++ tests/run-debuginfod-fd-prefetch-caches.sh | 12 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/tests/ChangeLog b/tests/ChangeLog index 05b31fd8..caee93d3 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,10 @@ +2021-09-09 Mark Wielaard + + * debuginfod-subr.sh: set -o functrace. + (cleanup): Disable trap 0. + (err): Disable trap ERR. + * run-debuginfod-fd-prefetch-caches.sh: Use || true when grep -c fails. + 2021-09-09 Mark Wielaard * debuginfod-subr.sh: set -o errtrace. diff --git a/tests/debuginfod-subr.sh b/tests/debuginfod-subr.sh index c21b7b8a..59033f35 100755 --- a/tests/debuginfod-subr.sh +++ b/tests/debuginfod-subr.sh @@ -17,6 +17,7 @@ # sourced from run-debuginfod-*.sh tests (must be bash scripts) # We trap ERR and like commands that fail in function to also trap +set -o functrace set -o errtrace . $srcdir/test-subr.sh # includes set -e @@ -30,6 +31,9 @@ echo "zstd=$zstd bsdtar=`bsdtar --version`" cleanup() { + # No more cleanups after this cleanup + trap - 0 + if [ $PID1 -ne 0 ]; then kill $PID1 || : ; wait $PID1 || :; fi if [ $PID2 -ne 0 ]; then kill $PID2 || : ; wait $PID2 || :; fi rm -rf F R D L Z ${PWD}/foobar ${PWD}/mocktree ${PWD}/.client_cache* ${PWD}/tmp* @@ -41,6 +45,9 @@ trap cleanup 0 errfiles_list= err() { +# Don't trap any new errors from now on +trap - ERR + echo ERROR REPORTS for port in $PORT1 $PORT2 do diff --git a/tests/run-debuginfod-fd-prefetch-caches.sh b/tests/run-debuginfod-fd-prefetch-caches.sh index 61fee9e9..7fbf7b20 100755 --- a/tests/run-debuginfod-fd-prefetch-caches.sh +++ b/tests/run-debuginfod-fd-prefetch-caches.sh @@ -51,10 +51,14 @@ grep 'prefetch fds ' vlog$PORT1 #$PREFETCH_FDS grep 'prefetch mbs ' vlog$PORT1 #$PREFETCH_MBS # search the vlog to find what metric counts should be and check the correct metrics # were incrimented -wait_ready $PORT1 'fdcache_op_count{op="enqueue"}' $( grep -c 'interned.*front=1' vlog$PORT1 ) -wait_ready $PORT1 'fdcache_op_count{op="evict"}' $( grep -c 'evicted a=.*' vlog$PORT1 ) -wait_ready $PORT1 'fdcache_op_count{op="prefetch_enqueue"}' $( grep -c 'interned.*front=0' vlog$PORT1 ) -wait_ready $PORT1 'fdcache_op_count{op="prefetch_evict"}' $( grep -c 'evicted from prefetch a=.*front=0' vlog$PORT1 || true ) +enqueue_nr=$(grep -c 'interned.*front=1' vlog$PORT1 || true) +wait_ready $PORT1 'fdcache_op_count{op="enqueue"}' $enqueue_nr +evict_nr=$(grep -c 'evicted a=.*' vlog$PORT1 || true) +wait_ready $PORT1 'fdcache_op_count{op="evict"}' $evict_nr +prefetch_enqueue_nr=$(grep -c 'interned.*front=0' vlog$PORT1 || true) +wait_ready $PORT1 'fdcache_op_count{op="prefetch_enqueue"}' $prefetch_enqueue_nr +prefetch_evict_nr=$(grep -c 'evicted from prefetch a=.*front=0' vlog$PORT1 || true) +wait_ready $PORT1 'fdcache_op_count{op="prefetch_evict"}' $prefetch_evict_nr kill $PID1 wait $PID1 -- 2.32.0
Buildbot failure in Wildebeest Builder on whole buildset
The Buildbot has detected a new failure on builder elfutils-debian-i386 while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/4/builds/818 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: debian-i386 Build Reason: Blamelist: Dmitry V. Levin BUILD FAILED: failed test (failure) Sincerely, -The Buildbot
Buildbot failure in Wildebeest Builder on whole buildset
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/819 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: debian-amd64 Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The BuildbotThe Buildbot has detected a new failure on builder elfutils-fedora-x86_64 while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/3/builds/823 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: fedora-x86_64 Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The BuildbotThe Buildbot has detected a new failure on builder elfutils-fedora-s390x while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/10/builds/789 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: fedora-s390x Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The BuildbotThe Buildbot has detected a new failure on builder elfutils-fedora-ppc64le while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/11/builds/774 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: fedora-ppc64le Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The BuildbotThe Buildbot has detected a new failure on builder elfutils-fedora-ppc64 while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/12/builds/772 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: fedora-ppc64 Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The BuildbotThe Buildbot has detected a new failure on builder elfutils-debian-armhf while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/15/builds/614 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: debian-armhf Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The BuildbotThe Buildbot has detected a new failure on builder elfutils-debian-arm64 while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/45/builds/255 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: debian-arm64 Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The Buildbot
Buildbot failure in Wildebeest Builder on whole buildset
The Buildbot has detected a new failure on builder elfutils-centos-x86_64 while building elfutils. Full details are available at: https://builder.wildebeest.org/buildbot/#builders/1/builds/829 Buildbot URL: https://builder.wildebeest.org/buildbot/ Worker for this Build: centos-x86_64 Build Reason: Blamelist: Mark Wielaard BUILD FAILED: failed test (failure) Sincerely, -The Buildbot