Re: lang/go: sigbus on 13-Stable Jail?

From: Mark Millard via freebsd-ports <freebsd-ports_at_freebsd.org>
Date: Tue, 14 Dec 2021 08:15:01 UTC
On 2021-Dec-13, at 23:16, Mark Millard <marklmi@yahoo.com> wrote:

> From: Larry Rosenman <ler_at_FreeBSD.org> wrote on
> Date: Mon, 13 Dec 2021 18:48:52 -0600 :
> 
>> https://home.lerctr.org:8888/data/p130-S-amd64-host-ports/2021-12-13_18h14m58s/logs/errors/go-1.17.5,1.log
>> 
>> 
>> # cmd/compile/internal/ssa
>> fatal error: unexpected signal during runtime execution
>> [signal SIGBUS: bus error code=0xc addr=0x8198d4000 pc=0x429121]
>> 
>> runtime stack:
>> runtime.throw(0xc2702b, 0x2a)
>> 	/usr/local/go/src/runtime/panic.go:1112 +0x72
>> runtime.sigpanic()
>> 	/usr/local/go/src/runtime/signal_unix.go:671 +0x46a
>> runtime.(*pageAlloc).alloc(0x1206c48, 0x8, 0x0, 0x0)
>> 	/usr/local/go/src/runtime/mpagealloc.go:767 +0x81
>> runtime.(*mheap).allocSpan(0x1206c40, 0x8, 0x420000, 0x121c5a8, 0x48)
>> 	/usr/local/go/src/runtime/mheap.go:1122 +0x62f
>> runtime.(*mheap).alloc.func1()
>> 	/usr/local/go/src/runtime/mheap.go:871 +0x64
>> runtime.(*mheap).alloc(0x1206c40, 0x8, 0x460100, 0x1206c40)
>> 	/usr/local/go/src/runtime/mheap.go:865 +0x81
>> runtime.largeAlloc(0xf8a0, 0x1210001, 0x882348ae0)
>> 	/usr/local/go/src/runtime/malloc.go:1152 +0x92
>> runtime.mallocgc.func1()
>> 	/usr/local/go/src/runtime/malloc.go:1047 +0x46
>> runtime.systemstack(0x0)
>> 	/usr/local/go/src/runtime/asm_amd64.s:370 +0x66
>> runtime.mstart()
>> 	/usr/local/go/src/runtime/proc.go:1041
>> 
>> 
>> Ideas?
>> 
>> Today's 13-Stable, and today's ports tree
>> (Poudriere hosted on 14-Current)
> 
> I tried building lang/go for stable/13 (from main) via
> poudreire-devel in/for a somewhat older amd64 context:
> (from the build's log file)
> 
> Ports top last git commit: 9bed79e86972
> Ports top unclean checkout: yes
> Port dir last git commit: 66b73ca2e1fa
> Port dir unclean checkout: no
> Poudriere version: poudriere-git-3.3.99.20211130
> Host OSVERSION: 1400043
> Jail OSVERSION: 1300522
> 
> For reference:
> 
> # cd /usr/ports/
> # ~/fbsd-based-on-what-commit.sh 
> branch: main
> merge-base: 9bed79e869721b4ca8a15c527db8d40969867c2c
> merge-base: CommitDate: 2021-12-06 03:45:47 +0000
> 9bed79e86972 (HEAD -> main, freebsd/main, freebsd/HEAD) www/drupal9: update to 9.2.10
> n567671 (--first-parent --count for merge-base)
> 
> # cd /usr/13S-src/
> # ~/fbsd-based-on-what-commit.sh
> branch: stable/13
> merge-base: c89c8b894cffd033d6409f7bf0bdb7543bbf78f9
> merge-base: CommitDate: 2021-12-07 18:53:33 +0000
> c89c8b894cff (HEAD -> stable/13, freebsd/stable/13) net80211(4): Fix a typo in a sysctl description
> n248443 (--first-parent --count for merge-base)
> 
> # cd /usr/main-src/
> # ~/fbsd-based-on-what-commit.sh
> branch: main
> merge-base: 22c4ab6cb015dc99eb82504e5fd957662cded3c3
> merge-base: CommitDate: 2021-12-07 19:29:26 +0000
> 22c4ab6cb015 (HEAD -> main, freebsd/main, freebsd/HEAD) sys/_bitset.h: Fix fall-out from commit 5e04571cf3c
> n251456 (--first-parent --count for merge-base)
> 
> lang/go is older as a consequence: 1.17.4,1
> 
> No CCACHE use in my context, unlike yours.
> 
> The log shows a smaller stack size limit: stack size              (kbytes, -s)  524288
> The log shows a larger open files limit : open files                      (-n)  4096
> 
> Result:
> 
> [00:04:23] [01] [00:03:01] Finished lang/go | go-1.17.4,1: Success
> 
> 
> 
> (This happened to separately be a useful test of a newly set
> up part of my environment. But my context being only about a
> week back, I figured that the status for such a short time
> back might prove useful.)

I should have also reported about the jail used:

# poudriere jail -j13S-amd64-bulk_a -i
Jail name:         13S-amd64-bulk_a
Jail version:      13.0-STABLE
Jail arch:         amd64
Jail method:       null
Jail mount:        /usr/obj/DESTDIRs/13S-amd64-poud-bulk_a
Jail fs:           
Jail updated:      2021-12-13 22:11:32
Jail pkgbase:      disabled

/usr/obj/DESTDIRs/13S-amd64-poud-bulk_a was actually initialized
from inside a chroot to a stable/13 area --and was filled-in via
using

. . . installworld distrib-dirs distribution DB_FROM_SRC=1 . . .

for later use by poudriere-devel. (This style of use allows me to
install and use the same stable/13 build that I install for my
normal (direct) stable/13 use.)

So, while main used the stable/13 jail, main did not build
the world in use by that jail.

(I use ZFS in order to use bectl :

# bectl list
BE          Active Mountpoint Space Created
13S-amd64   -      -          4.79G 2021-08-20 16:57
13_0R-amd64 -      -          4.83G 2021-08-20 16:56
main-amd64  NR     /          6.03G 2021-08-20 16:57

. It is possible to chroot into one of the 13*'s from
having booted main, based on being able to mount the
one(s) of interest first. I also have other
mount_nullfs's in use for such a chroot to be able to
use various areas that are shared across the contexts.)

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)