From: "Ludovic Courtès" <ludo@gnu.org>
To: 39208@debbugs.gnu.org
Subject: bug#39208: [3.0.0] Segfault while building on ARMv7
Date: Mon, 20 Jan 2020 18:09:11 +0100 [thread overview]
Message-ID: <87pnfef420.fsf@gnu.org> (raw)
In-Reply-To: <87a76igk9f.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 20 Jan 2020 17:33:48 +0100")
Ludovic Courtès <ludo@gnu.org> skribis:
> Unfortunately I’m unable to reproduce the bug outside Guix’s build
> environment, even with ASLR disabled (what guix-daemon does).
I finally managed to reproduce it with from the failed-build tree:
rm -vf bootstrap/language/cps/{slot-allocation,specialize-numbers,specialize-primcalls,spec}.go
GUILE_JIT_LOG=4 /run/current-system/profile/bin/linux32 -R make
which shows:
--8<---------------cut here---------------start------------->8---
jit: entering mcode: 0xf7a5d1c0
jit: exited mcode
jit: entering mcode: 0xf7a5d1c0
jit: exited mcode
jit: entering mcode: 0xf7956ca0
jit: exited mcode
jit: entering mcode: 0xf791a9f0
jit: exited mcode
jit: entering mcode: 0xf78b03d0
jit: exited mcode
jit: entering mcode: 0xf7a5d1c0
jit: exited mcode
jit: entering mcode: 0xf79407bb
jit: exited mcode
jit: entering mcode: 0xf7a5d1c0
jit: exited mcode
jit: entering mcode: 0xf79407bb
jit: exited mcode
jit: entering mcode: 0xf7a5d1c0
jit: exited mcode
jit: vcode: start=0xf5fe95d4,+203 entry=+0
jit: mcode: 0xf5c3eac0,+2288
jit: entering mcode: 0xf5c3eac0
jit: exited mcode
jit: vcode: start=0xf5fe9900,+203 entry=+0
jit: mcode: 0xf5c3f3b0,+2288
jit: entering mcode: 0xf5c3f3b0
jit: exited mcode
jit: vcode: start=0xf5fe9c2c,+203 entry=+0
jit: mcode: 0xf5c3fca0,+2288
jit: entering mcode: 0xf5c3fca0
jit: exited mcode
jit: vcode: start=0xf5fe9f58,+203 entry=+0
jit: mcode: 0xf5c40590,+2288
jit: entering mcode: 0xf5c40590
jit: exited mcode
jit: vcode: start=0xf5fea284,+203 entry=+0
jit: mcode: 0xf5c40e80,+2288
jit: entering mcode: 0xf5c40e80
jit: exited mcode
jit: vcode: start=0xf5fea5b0,+203 entry=+0
jit: mcode: 0xf5c41770,+2288
jit: entering mcode: 0xf5c41770
jit: exited mcode
jit: vcode: start=0xf5fea8dc,+203 entry=+0
jit: mcode: 0xf5c42060,+2288
jit: entering mcode: 0xf5c42060
jit: exited mcode
jit: vcode: start=0xf5feac08,+203 entry=+0
jit: mcode: 0xf5c42950,+2288
jit: entering mcode: 0xf5c42950
jit: exited mcode
jit: vcode: start=0xf5feaf34,+203 entry=+0
jit: mcode: 0xf5c43240,+2288
jit: entering mcode: 0xf5c43240
jit: exited mcode
jit: vcode: start=0xf5feb260,+203 entry=+0
jit: mcode: 0xf5c43b30,+2280
jit: entering mcode: 0xf5c43b30
/gnu/store/nvkn00kq4x4g5wjjjvjj6rhzs0ihihxl-bash-minimal-5.0.7/bin/bash: line 6: 13151 Segmentation fault (core dumped) GUILE_AUTO_COMPILE=0 ../meta/build-env guild compile --target="arm-unknown-linux-gnueabihf" -O1 -Oresolve-primitives -L "/tmp/guix-build-guile-next-3.0.0.drv-0/guile-3.0.0/module" -L "/tmp/guix-build-guile-next-3.0.0.drv-0/guile-3.0.0/guile-readline" -o "language/cps/slot-allocation.go" "../module/language/cps/slot-allocation.scm"
make[2]: *** [Makefile:1931: language/cps/slot-allocation.go] Error 139
--8<---------------cut here---------------end--------------->8---
Backtrace:
--8<---------------cut here---------------start------------->8---
#0 0xf5c43ca4 in ?? ()
[Current thread is 1 (Thread 0xf7fe8010 (LWP 13151))]
(gdb) bt
#0 0xf5c43ca4 in ?? ()
#1 0xf7f3ffcc in scm_jit_enter_mcode (thread=0x74fe10,
mcode=0xf5c43b30 " 8\r\032(-@\360c\203%i\250B\300\362_\203\240`\245m") at jit.c:5725
#2 0x00021048 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb) disassemble 0xf5c43b30,+2280
Dump of assembler code from 0xf5c43b30 to 0xf5c44418:
0xf5c43b30: subs r0, #32
0xf5c43b32: subs r5, r1, r0
0xf5c43b34: cmp r5, #40 ; 0x28
0xf5c43b36: bne.w 0xf5c44200
0xf5c43b3a: ldr r5, [r4, #16]
0xf5c43b3c: cmp r0, r5
0xf5c43b3e: blt.w 0xf5c44200
0xf5c43b42: str r0, [r4, #8]
0xf5c43b44: ldr r5, [r4, #88] ; 0x58
0xf5c43b46: cmp r5, #0
0xf5c43b48: beq.w 0xf5c44232
0xf5c43b4c: ldrt r6, [r5]
0xf5c43b50: str r6, [r4, #88] ; 0x58
0xf5c43b52: str r5, [r0, #24]
0xf5c43b54: movw r5, #1293 ; 0x50d
0xf5c43b58: movs r6, #0
[…]
0xf5c43c52: and.w r5, r5, #127 ; 0x7f
0xf5c43c56: cmp r5, #13
0xf5c43c58: bne.w 0xf5c4411e
0xf5c43c5c: ldr r5, [r0, #32]
0xf5c43c5e: ldr r5, [r5, #20]
0xf5c43c60: str r5, [r0, #16]
0xf5c43c62: ldr r5, [r0, #16]
0xf5c43c64: ldrt r5, [r5]
0xf5c43c68: str r5, [r0, #16]
0xf5c43c6a: eors r5, r5
0xf5c43c6c: str r5, [r0, #20]
0xf5c43c6e: ldr r5, [r0, #16]
0xf5c43c70: ldr r6, [r0, #20]
0xf5c43c72: lsls r2, r6, #24
0xf5c43c74: lsrs r6, r6, #8
0xf5c43c76: lsrs r5, r5, #8
0xf5c43c78: adds r5, r5, r2
0xf5c43c7a: str r5, [r0, #16]
0xf5c43c7c: str r6, [r0, #20]
0xf5c43c7e: ldr r5, [r0, #16]
0xf5c43c80: ldr r6, [r0, #20]
0xf5c43c82: cmp r6, #0
0xf5c43c84: blt.w 0xf5c440fe
0xf5c43c88: cmp r6, #0
0xf5c43c8a: bne.w 0xf5c43c94
0xf5c43c8e: cmp r5, #0
0xf5c43c90: ble.w 0xf5c440fe
0xf5c43c94: ldr r5, [r0, #32]
0xf5c43c96: ldr r5, [r5, #20]
0xf5c43c98: str r5, [r0, #16]
0xf5c43c9a: ldr r5, [r0, #16]
0xf5c43c9c: ldr r5, [r5, #4]
0xf5c43c9e: str r5, [r0, #16]
0xf5c43ca0: mov.w r12, #0
=> 0xf5c43ca4: ldrt r5, [r12]
0xf5c43ca8: str r5, [r0, #8]
[…]
0xf5c443fc: ands r0, r6
0xf5c443fe: ; <UNDEFINED> instruction: 0xf7a24f00
0xf5c44402: mov pc, r7
0xf5c44404: ands r0, r6
0xf5c44406: ; <UNDEFINED> instruction: 0xf7a24f00
0xf5c4440a: mov pc, r7
0xf5c4440c: ands r0, r6
0xf5c4440e: ; <UNDEFINED> instruction: 0xf7a24f00
0xf5c44412: mov pc, r7
0xf5c44414: ands r0, r6
0xf5c44416: ; <UNDEFINED> instruction: 0xf7a20000
End of assembler dump.
(gdb) p $r12
$1 = 0
--8<---------------cut here---------------end--------------->8---
Apparently r12 is JIT_TMP0.
Anyway, it seems that I have an environment in which to reproduce and
debug it now.
Ludo’.
next prev parent reply other threads:[~2020-01-20 17:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-20 16:33 bug#39208: [3.0.0] Segfault while building on ARMv7 Ludovic Courtès
2020-01-20 17:09 ` Ludovic Courtès [this message]
2020-03-11 20:21 ` Ludovic Courtès
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
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pnfef420.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=39208@debbugs.gnu.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).