public inbox for elfutils@sourceware.org
 help / color / mirror / Atom feed
From: Mark Wielaard <mark@klomp.org>
To: buildbot@builder.wildebeest.org, elfutils-devel@sourceware.org
Subject: Re: Buildbot failure in Wildebeest Builder on whole buildset
Date: Thu, 16 Dec 2021 18:05:04 +0100	[thread overview]
Message-ID: <23227917960b1e002be56c1bd93435a11f109077.camel@klomp.org> (raw)
In-Reply-To: <20211216011009.B2BBF800E29@builder.wildebeest.org>

Hi,

On Thu, 2021-12-16 at 01:10 +0000, buildbot@builder.wildebeest.org
wrote:
> 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/884
> 
> Buildbot URL: https://builder.wildebeest.org/buildbot/
> 
> Worker for this Build: centos-x86_64
> 
> Build Reason: <unknown>
> Blamelist: Alexander Kanavin <alex@linutronix.de>
> 
> 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/876
> 
> Buildbot URL: https://builder.wildebeest.org/buildbot/
> 
> Worker for this Build: fedora-x86_64
> 
> Build Reason: <unknown>
> Blamelist: Alexander Kanavin <alex@linutronix.de>
> 
> BUILD FAILED: failed test (failure)

So this is really unfortunate and has nothing to do with the patch from
Alexander.

These are two different, but related failures.

On centos-x86_64 this is:

FAIL: run-backtrace-native-core-biarch.sh
=========================================

/usr/bin/coredumpctl
0xf77ac000	0xf77ad000	linux-gate.so.1
0xf77ad000	0xf77d08fc	ld-linux.so.2
0xf75b4000	0xf777ea1c	libc.so.6
0xf777f000	0xf7799248	libpthread.so.0
0x5658e000	0x56591050	backtrace-child-biarch
TID 24658:
# 0 0xf77ac430    	__kernel_vsyscall
# 1 0xf778dd16 - 1	raise
# 2 0x5658eafc - 1	sigusr2
# 3 0x5658ebeb - 1	stdarg
# 4 0x5658ec2f - 1	backtracegen
# 5 0x5658ec38 - 1	start
# 6 0xf7785bbc - 1	start_thread
# 7 0xf76b227e - 1	__clone
TID 24656:
# 0 0xf76b2268    	__clone
/srv/buildbot/worker/elfutils-centos-x86_64/build/tests/backtrace:
dwfl_thread_getframes: No DWARF information found
backtrace: backtrace.c:81: callback_verify: Assertion `seen_main'
failed.
./test-subr.sh: line 84: 24682 Aborted                 (core dumped)
LD_LIBRARY_PATH="${built_library_path}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_
PATH" $VALGRIND_CMD "$@"
backtrace-child-biarch-core.24656: no main

Note that this is a i386 process being backtraced on x86_64.

On fedora-x86_64 this is:


FAIL: run-backtrace-native-core.sh
==================================

/usr/bin/coredumpctl
0x7ffd3d934000	0x7ffd3d935000	linux-vdso.so.1
0x7f4ccbf99000	0x7f4ccbfcd200	ld-linux-x86-64.so.2
0x7f4ccbd7b000	0x7f4ccbf84ad0	libc.so.6
0x56038dbfc000	0x56038dc000a8	backtrace-child
TID 3043057:
# 0 0x7f4ccbe0a89c    	__pthread_kill_implementation
# 1 0x7f4ccbdbd6b6 - 1	raise
# 2 0x56038dbfd3fd - 1	sigusr2
# 3 0x56038dbfd4ca - 1	stdarg
# 4 0x56038dbfd4e0 - 1	backtracegen
# 5 0x56038dbfd4e9 - 1	start
# 6 0x7f4ccbe08ad7 - 1	start_thread
# 7 0x7f4ccbe8d770 - 1	__clone3
TID 3043052:
# 0 0x7f4ccbe8d75d    	__clone3
/srv/buildbot/worker/elfutils-fedora-x86_64/build/tests/backtrace:
dwfl_thread_getframes: address out of range
backtrace: backtrace.c:81: callback_verify: Assertion `seen_main'
failed.
./test-subr.sh: line 84: 3043062 Aborted                 (core dumped)
LD_LIBRARY_PATH="${built_library_path}${LD_LIBRARY_PATH:+:}$LD_LIBRARY_
PATH" $VALGRIND_CMD "$@"
backtrace-child-core.3043052: no main
rmdir: failed to remove 'test-3043029': Directory not empty
FAIL run-backtrace-native-core.sh (exit status: 1)

This is an x86_64 process core being backtraced on x86_64.

The problem in both cases is that the parent cannot unwind from the
exact pc it is stuck at. With eu-stack -v --core we can see (for the
parent TID):

TID 3043052:
#0  0x00007f4ccbe8d75d     __clone3 - libc.so.6
    ../sysdeps/unix/sysv/linux/x86_64/clone3.S:62
eu-stack: dwfl_thread_getframes tid 3043052 at 0x7f4ccbe8d75d in
libc.so.6: address out of range

That is this source code:

ENTRY (__clone3)
        /* Sanity check arguments.  */
        movl    $-EINVAL, %eax
        test    %RDI_LP, %RDI_LP        /* No NULL cl_args pointer.  */
        jz      SYSCALL_ERROR_LABEL
        test    %RDX_LP, %RDX_LP        /* No NULL function pointer.  */
        jz      SYSCALL_ERROR_LABEL

        /* Save the cl_args pointer in R8 which is preserved by the
           syscall.  */
        mov     %RCX_LP, %R8_LP

        /* Do the system call.  */
        movl    $SYS_ify(clone3), %eax

        /* End FDE now, because in the child the unwind info will be
           wrong.  */
        cfi_endproc
        syscall

=>      test    %RAX_LP, %RAX_LP
        jl      SYSCALL_ERROR_LABEL
        jz      L(thread_start)

        ret

L(thread_start):
        cfi_startproc
        /* Clearing frame pointer is insufficient, use CFI.  */
        cfi_undefined (rip)
        /* Clear the frame pointer.  The ABI suggests this be done, to mark
           the outermost frame obviously.  */
        xorl    %ebp, %ebp

        /* Align stack to 16 bytes per the x86-64 psABI.  */
        and     $-16, %RSP_LP
[...]

So the PC is right after the syscall, when as the code says there is no
CFI. Apparently the child ran first and quickly got to the terminating
kill, while the parent was still stuck in the syscall (or just out of
it, but not yet returned from the clone3 call.

I think some synchronization is missed between the parent and child.
But the test code is fairly complex.

Cheers,

Mark 

  reply	other threads:[~2021-12-16 17:05 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-16  1:10 buildbot
2021-12-16 17:05 ` Mark Wielaard [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-02-07 20:27 buildbot
2022-02-07 20:46 ` Mark Wielaard
2022-02-07 22:29   ` Mark Wielaard
2022-02-08 10:18     ` Mark Wielaard
2022-01-07 18:02 buildbot
2021-12-21 16:34 buildbot
2021-12-21 13:36 buildbot
2021-12-17 18:34 buildbot
2021-12-10 19:56 buildbot
2021-12-11 16:16 ` Mark Wielaard
2021-12-08 17:20 buildbot
2021-12-08 22:08 ` Mark Wielaard
2021-11-15 10:56 buildbot
2021-11-15 11:37 ` Mark Wielaard
2021-11-04 20:14 buildbot
2021-11-05  9:28 ` Mark Wielaard
2021-10-18 13:45 buildbot
2021-10-18 13:50 ` Mark Wielaard
2021-09-16 15:00 buildbot
2021-09-16 16:16 ` Mark Wielaard
2021-09-12 23:16 buildbot
2021-09-13  9:06 ` Mark Wielaard
2021-09-14 11:05   ` Mark Wielaard
2021-09-12 21:56 buildbot
2021-09-12 22:30 ` Mark Wielaard
2021-09-10  5:54 buildbot
2021-09-10  4:42 buildbot
2021-09-10  1:00 buildbot
2021-09-09 16:05 buildbot
2021-09-07  1:51 buildbot
2021-09-07  0:29 buildbot
2021-09-06 21:44 buildbot
2021-09-03 14:08 buildbot
2021-09-03 23:47 ` Mark Wielaard
2021-09-06 15:07   ` Mark Wielaard
2021-09-06 20:02     ` Mark Wielaard
2021-09-06 21:14       ` Mark Wielaard
2021-09-07  0:12       ` Mark Wielaard
2021-09-07  8:34         ` Dmitry V. Levin
2021-09-07 22:04           ` Mark Wielaard
2021-09-03 10:33 buildbot
2021-09-03 11:14 ` Mark Wielaard
2021-08-27 23:19 buildbot
2021-08-28 14:01 ` Mark Wielaard
2021-08-28 14:41   ` Frank Ch. Eigler
2021-08-27 21:20 buildbot
2021-08-28 12:29 ` Mark Wielaard
2021-08-11 23:16 buildbot
2021-08-23 20:48 ` Mark Wielaard
2021-08-04 15:13 buildbot
2021-08-05 14:19 ` Mark Wielaard
2021-07-22 17:21 buildbot
2021-07-22 14:24 buildbot
2021-07-22 14:36 ` Mark Wielaard
2021-07-19 16:33 buildbot
2021-07-08  9:53 buildbot
2021-07-08  9:56 ` Mark Wielaard
2021-06-15 21:29 buildbot
2021-06-15 21:40 ` Mark Wielaard
2021-06-15 21:53   ` Frank Ch. Eigler
2021-06-15 22:14     ` Mark Wielaard
2021-06-15 23:00       ` Frank Ch. Eigler
2021-06-16  9:35         ` Mark Wielaard
2021-06-12 23:39 buildbot
2021-06-12 23:53 ` Mark Wielaard
2021-04-15 12:53 buildbot
2021-04-13 16:54 buildbot
2021-04-14 12:13 ` Mark Wielaard
2021-04-13 14:29 buildbot
2021-04-14 12:06 ` Mark Wielaard
2021-03-31 11:29 buildbot
2021-03-31 11:37 ` Mark Wielaard
2021-03-07 19:11 buildbot
2021-03-06 14:45 buildbot
2021-03-06 15:46 ` Mark Wielaard
2021-03-02 12:45 buildbot
2021-03-02 11:53 buildbot
2021-03-02  4:28 buildbot
2021-03-01 19:56 buildbot
2021-03-01 22:13 ` Mark Wielaard
2021-02-17 22:22 buildbot
2021-02-12 18:45 buildbot
2021-02-12 16:40 buildbot
2021-02-09  2:26 buildbot
2021-02-09  9:05 ` Mark Wielaard
2021-02-12 15:58   ` Mark Wielaard
2021-02-12 19:09     ` Mark Wielaard
2020-12-16 23:54 buildbot
2020-12-16 23:58 ` Mark Wielaard
2020-12-12 17:11 buildbot
2020-12-12 18:47 ` Mark Wielaard
2020-11-28  4:15 buildbot
2020-11-28 13:41 ` Mark Wielaard
2020-11-28 15:12   ` Mark Wielaard
2020-11-29  1:18     ` Mark Wielaard
2020-11-23 17:50 buildbot
2020-11-23 17:58 ` Mark Wielaard
2020-11-19 13:26 buildbot
2020-11-19 13:55 ` Mark Wielaard
2020-11-17 15:09 buildbot
2020-11-17 17:10 ` Mark Wielaard
2020-10-31  2:12 buildbot
2020-10-31 10:22 ` Mark Wielaard
2020-10-30 15:41 buildbot
2020-10-30  1:51 buildbot
2020-10-30  8:45 ` Mark Wielaard
2020-10-08 16:45 buildbot
2020-10-08 17:38 ` Mark Wielaard
2020-06-19 23:20 buildbot
2020-06-19 23:47 ` Mark Wielaard
2020-06-11 16:00 buildbot
2020-06-11 16:15 ` Mark Wielaard
2020-03-26 16:53 buildbot
2020-03-25 23:48 buildbot
2020-03-26  9:15 ` Mark Wielaard
2020-03-23 13:38 buildbot
2020-03-23 14:08 ` Mark Wielaard
2020-03-23 23:06   ` Mark Wielaard
2020-03-04 12:09 buildbot
2020-03-04 12:45 ` Mark Wielaard
2020-02-26 21:42 buildbot
2020-02-26 21:59 ` Mark Wielaard
2020-02-10 22:34 buildbot
2020-02-21 12:10 ` Mark Wielaard
2020-02-10 19:11 buildbot
2020-01-20 21:05 buildbot
2020-01-20 19:44 buildbot
2020-01-17  0:08 buildbot
2019-12-03  9:49 buildbot
2019-12-03 10:23 ` Mark Wielaard
2019-11-23  2:25 buildbot
2019-11-23  1:38 buildbot
2019-10-26  2:47 buildbot
2019-10-26 12:08 ` Mark Wielaard
2019-09-07 14:54 buildbot
2019-09-07 19:53 ` Mark Wielaard
2019-08-29 13:59 buildbot
2019-08-29 14:23 ` Mark Wielaard
2019-08-29 15:52   ` Mark Wielaard
2019-08-28 22:08 buildbot
2019-08-28 22:13 ` Mark Wielaard
2019-08-15  8:28 buildbot
2019-06-28 23:02 buildbot
2019-06-28 23:47 ` Mark Wielaard
2019-07-01 15:12   ` Mark Wielaard
2018-11-13 16:42 buildbot
2018-11-13 17:29 ` Mark Wielaard
2018-11-13 20:46   ` Mark Wielaard
2018-11-10 12:32 buildbot
2018-11-10 12:36 ` Mark Wielaard
2018-11-06 14:15 buildbot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=23227917960b1e002be56c1bd93435a11f109077.camel@klomp.org \
    --to=mark@klomp.org \
    --cc=buildbot@builder.wildebeest.org \
    --cc=elfutils-devel@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).