From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 13 17:02:22 2022 Received: (at 34427) by debbugs.gnu.org; 13 Apr 2022 21:02:22 +0000 Received: from localhost ([127.0.0.1]:54177 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nek86-0007Jv-31 for submit@debbugs.gnu.org; Wed, 13 Apr 2022 17:02:22 -0400 Received: from flashner.co.il ([178.62.234.194]:53484) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nek83-0007Jg-VW for 34427@debbugs.gnu.org; Wed, 13 Apr 2022 17:02:20 -0400 Received: from localhost (ool-ad022d7f.dyn.optonline.net [173.2.45.127]) by flashner.co.il (Postfix) with ESMTPSA id 05B314063F; Wed, 13 Apr 2022 21:02:13 +0000 (UTC) Date: Thu, 14 Apr 2022 00:01:34 +0300 From: Efraim Flashner To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#34427: guile-bootstrap@2.2 segfault? Message-ID: Mail-Followup-To: Efraim Flashner , Ludovic =?utf-8?Q?Court=C3=A8s?= , 34427@debbugs.gnu.org References: <20190211091136.GA3284@macbook41> <87y36ljd46.fsf@gnu.org> <20190212154434.GD3284@macbook41> <87sfqicmu4.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="+I1bTlItLFR5HYB1" Content-Disposition: inline In-Reply-To: <87sfqicmu4.fsf@gnu.org> X-PGP-Key-ID: 0x41AAE7DCCA3D8351 X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc X-PGP-Fingerprint: A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 34427 Cc: 34427@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --+I1bTlItLFR5HYB1 Content-Type: multipart/mixed; boundary="QgB+O4iwc2NP5hU4" Content-Disposition: inline --QgB+O4iwc2NP5hU4 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Apr 12, 2022 at 06:01:39PM +0200, Ludovic Court=C3=A8s wrote: > Hi, >=20 > Efraim Flashner skribis: >=20 > > On Tue, Feb 12, 2019 at 03:27:37PM +0100, Ludovic Court=C3=A8s wrote: > >> Hello Efraim, > >>=20 > >> Efraim Flashner skribis: > >>=20 > >> > I'm testing %bootstrap-guile from bootstrap.scm and I'm getting a > >> > segfault when runing guile --version. I've attached an strace of the > >> > process. > >>=20 > >> To be clear, I believe this is for a *cross-compiled* Guile, right? > > > > That's right, %bootstrap-guile is extracted from $(guix build > > --target=3Dpowerpc-linux-gnu bootstrap-tarballs) >=20 > Cross-compilation to aarch64-linux-gnu works fine: >=20 > --8<---------------cut here---------------start------------->8--- > $ unshare -mrf chroot $(guix build guile-static-stripped --target=3Daarch= 64-linux-gnu) /bin/guile > guile: warning: failed to install locale > GC Warning: pthread_getattr_np or pthread_attr_getstack failed for main t= hread > GC Warning: Couldn't read /proc/stat > warning: failed to install locale: Invalid argument > GNU Guile 3.0.7 > Copyright (C) 1995-2021 Free Software Foundation, Inc. >=20 > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. >=20 > Enter `,help' for help. > scheme@(guile-user)> %host-type > $1 =3D "aarch64-unknown-linux-gnu" > scheme@(guile-user)> ,q > $ guix describe > Generation 210 Apr 11 2022 09:34:10 (current) > guix 7da907f > repository URL: https://git.savannah.gnu.org/git/guix.git > branch: master > commit: 7da907f90e74a4edf96d76ee457ff958265ef8d4 > --8<---------------cut here---------------end--------------->8--- >=20 > The problem has to do specifically with powerpc-linux-gnu (this is with > transparent emulation via QEMU+binfmt_misc): >=20 > --8<---------------cut here---------------start------------->8--- > $ unshare -mrf chroot $(guix build guile-static-stripped --target=3Dpower= pc-linux-gnu) /bin/guile > guile: warning: failed to install locale > GC Warning: pthread_getattr_np or pthread_attr_getstack failed for main t= hread > GC Warning: Couldn't read /proc/stat > Pre-boot error; key: wrong-type-arg, args: (#f "Wrong type to apply: ~S" = (#f) (#f))qemu: uncaught target signal 6 (Aborted) - core dumped > Aborted > --8<---------------cut here---------------end--------------->8--- >=20 > Unfortunately I fail to get a backtrace from that core dump. >=20 > Efraim, could you get a backtrace on the bare metal? >=20 > Besides, if PPC32 is the only platform that has a problem, I think this > bug should not be a blocker. >=20 > WDYT? >=20 > Ludo=E2=80=99. Here's what I get from strace when running on bare metal. I agree, if it's only affecting ppc32 we shouldn't have it be a blocker. --QgB+O4iwc2NP5hU4 Content-Type: text/plain; charset=utf-8 Content-Disposition: attachment; filename="guile-bootstrap-strace.log" 28071 execve("/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/bin/guile", ["/gnu/store/imbgn3if51jxi1nhwwdb5"...], 0xaf88c21c /* 30 vars */) = 0 28071 brk(NULL) = 0x10849000 28071 brk(0x108498d8) = 0x108498d8 28071 uname({sysname="Linux", nodename="g4", ...}) = 0 28071 set_tid_address(0x10849068) = 28071 28071 set_robust_list(0x10849070, 12) = 0 28071 rt_sigaction(SIGRTMIN, {sa_handler=0x101154ac, sa_mask=[], sa_flags=SA_SIGINFO}, NULL, 8) = 0 28071 rt_sigaction(SIGRT_1, {sa_handler=0x1011558c, sa_mask=[], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 28071 rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 28071 ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 28071 readlink("/proc/self/exe", "/gnu/store/imbgn3if51jxi1nhwwdb5"..., 4096) = 81 28071 brk(0x1086a8d8) = 0x1086a8d8 28071 brk(0x1086b000) = 0x1086b000 28071 mprotect(0x1037f000, 4096, PROT_READ) = 0 28071 openat(AT_FDCWD, "/run/current-system/locale/2.33/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-cross-powerpc-linux-gnu-2.33/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/run/current-system/locale/2.33/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/run/current-system/locale/2.33/en_US.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/run/current-system/locale/2.33/en_US/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/run/current-system/locale/2.33/en.UTF-8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/run/current-system/locale/2.33/en.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/run/current-system/locale/2.33/en/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 write(2, "guile: warning: failed to instal"..., 41) = 41 28071 futex(0x10390b7c, FUTEX_WAKE_PRIVATE, 2147483647) = 0 28071 clock_gettime64(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=0, tv_nsec=2676480}) = 0 28071 openat(AT_FDCWD, "/proc/self/maps", O_RDONLY|O_CLOEXEC) = 3 28071 ugetrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 28071 statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0444, stx_size=0, ...}) = 0 28071 read(3, "00100000-00102000 r--p 00000000 "..., 1024) = 921 28071 close(3) = 0 28071 sched_getaffinity(28071, 32, [0]) = 4 28071 brk(0x1087b000) = 0x1087b000 28071 brk(0x1088b000) = 0x1088b000 28071 brk(0x1089b000) = 0x1089b000 28071 brk(0x108ab000) = 0x108ab000 28071 brk(0x108bb000) = 0x108bb000 28071 rt_sigaction(SIGPWR, {sa_handler=0x10105b3c, sa_mask=~[INT QUIT ABRT TERM RTMIN RT_1], sa_flags=SA_RESTART|SA_SIGINFO}, NULL, 8) = 0 28071 rt_sigaction(SIGXCPU, {sa_handler=0x10105538, sa_mask=~[INT QUIT ABRT TERM RTMIN RT_1], sa_flags=SA_RESTART}, NULL, 8) = 0 28071 rt_sigprocmask(SIG_UNBLOCK, [XCPU PWR], NULL, 8) = 0 28071 openat(AT_FDCWD, "/proc/stat", O_RDONLY) = 3 28071 read(3, "cpu 24857880 1840144 1968808 43"..., 4096) = 1359 28071 close(3) = 0 28071 swapcontext(0xafd65848, 0) = 0 28071 brk(0x109ab000) = 0x109ab000 28071 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xa7bff000 28071 pipe2([3, 4], O_CLOEXEC) = 0 28071 futex(0x10390ad4, FUTEX_WAKE_PRIVATE, 2147483647) = 0 28071 clock_gettime64(CLOCK_REALTIME, {tv_sec=1649883322, tv_nsec=143410442}) = 0 28071 clock_gettime64(CLOCK_PROCESS_CPUTIME_ID, {tv_sec=0, tv_nsec=8428800}) = 0 28071 openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE) = 5 28071 statx(5, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFCHR|0666, stx_size=0, ...}) = 0 28071 ioctl(5, TCGETS, 0xafd65cc8) = -1 EINVAL (Invalid argument) 28071 read(5, "\353kNl\300\255\360d\1\345%\200s\321\301.\200\2\23*c\275\260\217j\320\325\305`\216Yn"..., 4096) = 4096 28071 close(5) = 0 28071 openat(AT_FDCWD, "/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-cross-powerpc-linux-gnu-2.33/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory) 28071 openat(AT_FDCWD, "/gnu/store/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee-glibc-cross-powerpc-linux-gnu-2.33/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) 28071 futex(0x103e3804, FUTEX_WAKE_PRIVATE, 2147483647) = 0 28071 brk(0x109bb000) = 0x109bb000 28071 ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0 28071 fcntl64(0, F_GETFL) = 0x2 (flags O_RDWR) 28071 _llseek(0, 0, 0xafd65e08, SEEK_CUR) = -1 ESPIPE (Illegal seek) 28071 ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 28071 fcntl64(1, F_GETFL) = 0x2 (flags O_RDWR) 28071 _llseek(1, 0, 0xafd65e08, SEEK_CUR) = -1 ESPIPE (Illegal seek) 28071 ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0 28071 fcntl64(2, F_GETFL) = 0x2 (flags O_RDWR) 28071 _llseek(2, 0, 0xafd65e08, SEEK_CUR) = -1 ESPIPE (Illegal seek) 28071 readlink("/proc/self/exe", "/gnu/store/imbgn3if51jxi1nhwwdb5"..., 256) = 81 28071 readlink("/gnu", 0xafd64d90, 1023) = -1 EINVAL (Invalid argument) 28071 readlink("/gnu/store", 0xafd64d90, 1023) = -1 EINVAL (Invalid argument) 28071 readlink("/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7", 0xafd64d90, 1023) = -1 EINVAL (Invalid argument) 28071 readlink("/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/bin", 0xafd64d90, 1023) = -1 EINVAL (Invalid argument) 28071 faccessat2(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/bin/", F_OK, AT_EACCESS) = 0 28071 statx(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/share/guile/3.0/ice-9/eval.scm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0444, stx_size=25677, ...}) = 0 28071 statx(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/lib/guile/3.0/ccache/ice-9/eval.go", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0444, stx_size=93765, ...}) = 0 28071 openat(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/lib/guile/3.0/ccache/ice-9/eval.go", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5 28071 _llseek(5, 0, [93765], SEEK_END) = 0 28071 mmap2(NULL, 93765, PROT_READ, MAP_PRIVATE, 5, 0) = 0xa7be8000 28071 close(5) = 0 28071 mprotect(0xa7bf8000, 4728, PROT_READ|PROT_WRITE) = 0 28071 prlimit64(0, RLIMIT_STACK, NULL, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0 28071 statx(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/share/guile/3.0/init.scm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, 0xafd65ad8) = -1 ENOENT (No such file or directory) 28071 statx(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/share/guile/3.0/ice-9/boot-9.scm", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0444, stx_size=170413, ...}) = 0 28071 statx(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/lib/guile/3.0/ccache/ice-9/boot-9.go", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0444, stx_size=828061, ...}) = 0 28071 openat(AT_FDCWD, "/gnu/store/imbgn3if51jxi1nhwwdb5q9dpkhz9aff-guile-static-stripped-3.0.7/lib/guile/3.0/ccache/ice-9/boot-9.go", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5 28071 _llseek(5, 0, [828061], SEEK_END) = 0 28071 mmap2(NULL, 828061, PROT_READ, MAP_PRIVATE, 5, 0) = 0xa7b1d000 28071 close(5) = 0 28071 mprotect(0xa7b9d000, 104824, PROT_READ|PROT_WRITE) = 0 28071 write(2, "Pre-boot error; key: ", 21) = 21 28071 write(2, "wrong-type-arg", 14) = 14 28071 write(2, ", args: ", 8) = 8 28071 write(2, "(", 1) = 1 28071 write(2, "#f", 2) = 2 28071 write(2, " ", 1) = 1 28071 write(2, "\"", 1) = 1 28071 write(2, "W", 1) = 1 28071 write(2, "r", 1) = 1 28071 write(2, "o", 1) = 1 28071 write(2, "n", 1) = 1 28071 write(2, "g", 1) = 1 28071 write(2, " ", 1) = 1 28071 write(2, "t", 1) = 1 28071 write(2, "y", 1) = 1 28071 write(2, "p", 1) = 1 28071 write(2, "e", 1) = 1 28071 write(2, " ", 1) = 1 28071 write(2, "t", 1) = 1 28071 write(2, "o", 1) = 1 28071 write(2, " ", 1) = 1 28071 write(2, "a", 1) = 1 28071 write(2, "p", 1) = 1 28071 write(2, "p", 1) = 1 28071 write(2, "l", 1) = 1 28071 write(2, "y", 1) = 1 28071 write(2, ":", 1) = 1 28071 write(2, " ", 1) = 1 28071 write(2, "~", 1) = 1 28071 write(2, "S", 1) = 1 28071 write(2, "\"", 1) = 1 28071 write(2, " ", 1) = 1 28071 write(2, "(", 1) = 1 28071 write(2, "#f", 2) = 2 28071 write(2, ")", 1) = 1 28071 write(2, " ", 1) = 1 28071 write(2, "(", 1) = 1 28071 write(2, "#f", 2) = 2 28071 write(2, ")", 1) = 1 28071 write(2, ")", 1) = 1 28071 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 28071 rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], [], 8) = 0 28071 getpid() = 28071 28071 gettid() = 28071 28071 tgkill(28071, 28071, SIGABRT) = 0 28071 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 28071 --- SIGABRT {si_signo=SIGABRT, si_code=SI_TKILL, si_pid=28071, si_uid=1000} --- 28071 +++ killed by SIGABRT +++ --QgB+O4iwc2NP5hU4-- --+I1bTlItLFR5HYB1 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAmJXOiUACgkQQarn3Mo9 g1G8YBAApL6O9MImW2kqrRN9K7ymvf49rtKXwy99dO62k6K+n64y8L2SwQgz3HNX MkDIuVknQVM7xV9GEy9GVEQEWYy4Axoo8sL2ywl0KQj3zAM2cXTm6nkaCPsslphq fdl24PVBVqZZOvxkAZCHJsurfTTnM7IHjJan0ztlGsDdVNXXojlfc5pTyDWhdYW5 LwXJqa05Sb1/bqzgKnQb9YOZm36nCOun2WFju2StpqNmIpSL3DcaKyIWxsRXe9IK 2Y1WB0P7CiQ/iMA3bAhAUYap7g+spqnSLd+kDuFAMFUsqWVLsrlIO2CrNmai97xk 4/A9cIn2935BeuegevP1oibLVWmEe5Lre77GGfJE142VpbRdg9IyuithqhKt8RoT zpCotl4yr5VrMeuQFF2SaX7rd5Qk7dAkQuLQj7gM5FZsKZlvkyTHze+kAptyW7Sk nvB4XAZM9JO1zxuxJ0sHgvTwhTxPZVJHyhhYjUzIZ2x1vtw5zW7S7bV53U7TEfJu uYOx8dRRgGRRJiN4gxBOc7BZcJ7H/EoEEVUY1TD6HwIMOdy2k03Op4UbT8wSA5qr cg2B3S2haZcO1mJ3kgAtc4WEc0TkqcO2YmrJDAKijycBBX8s1NbkkNkSyrXVsycm Ib0HVZGC95Caz5Um0dF4LNK6mvkN4RhMZllSHrPPtuElUuLR1fg= =dwtT -----END PGP SIGNATURE----- --+I1bTlItLFR5HYB1--