GNU bug report logs

#41264 Bootstrap packages fail to build due to mes-libc lacking 'stat64' etc. syscalls

PackageSource(s)Maintainer(s)
guix PTS Buildd Popcon
Full log

Message #5 received at submit@debbugs.gnu.org (full text, mbox, reply):

Received: (at submit) by debbugs.gnu.org; 14 May 2020 15:17:52 +0000
From debbugs-submit-bounces@debbugs.gnu.org Thu May 14 11:17:52 2020
Received: from localhost ([127.0.0.1]:34467 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces@debbugs.gnu.org>)
	id 1jZFcN-0004nA-U2
	for submit@debbugs.gnu.org; Thu, 14 May 2020 11:17:52 -0400
Received: from lists.gnu.org ([209.51.188.17]:35718)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <othacehe@gnu.org>) id 1jZFcM-0004n3-F5
 for submit@debbugs.gnu.org; Thu, 14 May 2020 11:17:50 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:47864)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <othacehe@gnu.org>) id 1jZFcM-0005dk-9J
 for bug-guix@gnu.org; Thu, 14 May 2020 11:17:50 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:35166)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <othacehe@gnu.org>)
 id 1jZFcL-0002m5-Ul; Thu, 14 May 2020 11:17:49 -0400
Received: from [2a01:cb18:832e:5f00:5cdd:cc67:a2e1:e2f0] (port=53470 helo=meru)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <othacehe@gnu.org>)
 id 1jZFcL-0003Vu-Dr; Thu, 14 May 2020 11:17:49 -0400
From: Mathieu Othacehe <othacehe@gnu.org>
To: bug-guix@gnu.org
Subject: Bootstrap packages fail to build.
Date: Thu, 14 May 2020 17:17:47 +0200
Message-ID: <87h7wik0kk.fsf@gnu.org>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.91 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: submit
Cc: janneke@gnu.org
X-BeenThere: debbugs-submit@debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit@debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request@debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request@debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces@debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
X-Spam-Score: -3.3 (---)
[Message part 1 (text/plain, inline)]
Hello,

This command fails on one of my systems:

--8<---------------cut here---------------start------------->8---
guix build  -e "(@@ (gnu packages commencement) glibc-mesboot0)"
--8<---------------cut here---------------end--------------->8---

with the following error:

--8<---------------cut here---------------start------------->8---
phase `unpack' succeeded after 11.8 seconds
starting phase `apply-boot-patch'
patch: **** fstatsterror: unknown error:  
command "patch" "--force" "-p1" "-i" "/gnu/store/pfz4y5i7krlvam2m8lpddmg9vi44rpqh-glibc-boot-2.2.5.patch" failed with status 2
note: keeping build directory `/tmp/guix-build-glibc-mesboot0-2.2.5.drv-1'
builder for `/gnu/store/jcqggqckhiq43y2ivlfhpkbfbp2vyjlc-glibc-mesboot0-2.2.5.drv' failed with exit code 1
build of /gnu/store/jcqggqckhiq43y2ivlfhpkbfbp2vyjlc-glibc-mesboot0-2.2.5.drv failed
View build log at '/var/log/guix/drvs/jc/qggqckhiq43y2ivlfhpkbfbp2vyjlc-glibc-mesboot0-2.2.5.drv.bz2'.
guix build: error: build of `/gnu/store/jcqggqckhiq43y2ivlfhpkbfbp2vyjlc-glibc-mesboot0-2.2.5.drv' failed
--8<---------------cut here---------------end--------------->8---

Here's a stracing of the failing "patch" command:

--8<---------------cut here---------------start------------->8---
open("/gnu/store/pfz4y5i7krlvam2m8lpddmg9vi44rpqh-glibc-boot-2.2.5.patch", O_RDONLY) = 3
brk(0x9377913)                          = 0x9377913
fstat(3, 0xffb29328)                    = -1 EOVERFLOW (Value too large for defined data type)
--8<---------------cut here---------------end--------------->8---

"patch-mesboot" is built for 32 bits. Hence, it can be using
"__ia32_sys_fstat", "__ia32_compat_sys_newfstat" or
"__ia32_compat_sys_x86_fstat64" syscall for "fstat". Here, according to
perf, it's using __ia32_compat_sys_newfstat which is overflowing on my
file system (inode count to high or so).

There's a little demonstration program attached. When built with `gcc
-m32 test.c', I have:

--8<---------------cut here---------------start------------->8---
fstat(3, 0xffad5874)                    = -1 EOVERFLOW (Value too large for defined data type)
fstat64(3, {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
fstat64(3, {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
--8<---------------cut here---------------end--------------->8---

So I think somehow, bootstrap packages use the legacy "fstat" syscall,
which may overflow on a 64 bits system.

WDYT,

Thanks,

Mathieu
[t.c (text/x-csrc, inline)]
#define _GNU_SOURCE
#include <unistd.h>
#include <sys/syscall.h>

#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/sysmacros.h>

int
main(int argc, char *argv[])
{
    struct stat sb;

    if (argc != 2) {
        fprintf(stderr, "Usage: %s <pathname>\n", argv[0]);
        exit(EXIT_FAILURE);
    }

    int fd = open(argv[1], O_RDONLY);
    syscall(__NR_fstat, fd, &sb);
    syscall(__NR_fstat64, fd, &sb);
    fstat(fd, &sb);


    exit(EXIT_SUCCESS);
}

Send a report that this bug log contains spam.


debbugs.gnu.org maintainers <help-debbugs@gnu.org>. Last modified: Tue Jan 7 00:18:52 2025; Machine Name: wallace-server

GNU bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.