[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Go builds failing on mips64el



On 2019-09-18 20:58, YunQiang Su wrote:
> Drew Parsons <dparsons@debian.org> 于2019年9月17日周二 上午11:28写道:
> >
> > go builds (dh_auto_build invoking /usr/bin/go -> golang-1.12-go) are
> > failing consistently on mip64el.  I'm seeing the error in
> > golang-github-anacrolix-dms and rclone but I think other packages are
> > affected.
> >
> > All builds fail on mip64el.  mipsel is also intermittently affected, but
> > a giveback gets a successful build.  The mipsel pattern suggests that
> > builds fail on mipsel-manda-03, while succeeding on eberlin and
> > mipsel-aql-01.
> >
> 
> It seems another case about Loongson Vs Cavium.
> These packages seem buildable on Loongson while not on Cavium.
> 
> > The package providing /usr/lib/go-1.12/bin/go, golang-1.12-go
> > (golang-1.12), built successfully 25 days ago.
> >
> > dms logs are at
> > https://buildd.debian.org/status/logs.php?pkg=golang-github-anacrolix-dms&arch=mips64el
> > e.g.
> > https://buildd.debian.org/status/fetch.php?pkg=golang-github-anacrolix-dms&arch=mips64el&ver=1.0.0-2&stamp=1568632405&raw=0
> >
> > Log snippets:
> >     dh_auto_build -a -O--buildsystem=golang
> > signal 10 received but handler not on signal stack
> > fatal error: non-Go code set up signal handler without SA_ONSTACK flag
> >
> > runtime stack:
> > runtime: unexpected return pc for runtime.sigtramp called from
> > 0xffffee4560
> > stack: frame={sp:0xc000009c88, fp:0xc000009cd0}
> > stack=[0xc000001be8,0xc000009fe8)
> > 000000c000009b88:  000000c000000480  0000000120037ad4
> > <runtime.throw+108>
> > 000000c000009b98:  000000c000009ba0  000000012005380c
> > <runtime.sigNotOnStack+172>
> > 000000c000009ba8:  000000c000009bb0  0000000120069a50
> > <runtime.throw.func1+0>
> > 000000c000009bb8:  000000012065dd02  0000000000000039
> > 000000c000009bc8:  0000000120052a44 <runtime.sigtrampgo+700>
> > 000000012065dd02
> > 000000c000009bd8:  0000000000000039  000000012006e4cc
> > <runtime.sigtramp+84>
> > ...
> > runtime.sigtramp(0x0, 0x0, 0x800000000a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
> > 0x0, ...)
> >         /usr/lib/go-1.12/src/runtime/sys_linux_mips64x.s:254 +0x54
> >
> > goroutine 17 [syscall, locked to thread]:
> > runtime.goexit()
> >         /usr/lib/go-1.12/src/runtime/asm_mips64x.s:646 +0x4 fp=0xc000058fe0
> > sp=0xc000058fe0 pc=0x12006da1c
> >
> > goroutine 1 [running, locked to thread]:
> >         goroutine running on other thread; stack unavailable
> >
> > goroutine 20 [syscall]:
> > os/signal.signal_recv(0x0)
> >         /usr/lib/go-1.12/src/runtime/sigqueue.go:139 +0x150
> > os/signal.loop()
> >         /usr/lib/go-1.12/src/os/signal/signal_unix.go:23 +0x34
> > created by os/signal.init.0
> >         /usr/lib/go-1.12/src/os/signal/signal_unix.go:29 +0x54
> >         cd obj-mips64el-linux-gnuabi64 && go install
> > -gcflags=all=\"-trimpath=/<<PKGBUILDDIR>>/obj-mips64el-linux-gnuabi64/src\"
> > -asmflags=all=\"-trimpath=/<<PKGBUILDDIR>>/obj-mips64el-linux-gnuabi64/src\"
> > -v -p 4
> > dh_auto_build: cd obj-mips64el-linux-gnuabi64 && go install
> > -gcflags=all=\"-trimpath=/<<PKGBUILDDIR>>/obj-mips64el-linux-gnuabi64/src\"
> > -asmflags=all=\"-trimpath=/<<PKGBUILDDIR>>/obj-mips64el-linux-gnuabi64/src\"
> > -v -p 4 died with signal 10
> > make: *** [debian/rules:4: build-arch] Error 255
> > dpkg-buildpackage: error: debian/rules build-arch subprocess returned
> > exit status 2
> >
> >
> > Is the bug already known and understood, or should a bug be filed
> > against golang-1.12?
> > Or does golang-1.12 just need a rebuild against glibc 2.29 or something
> > ?
> 
> I guess it is a bug about Cavium machines...
> Let's dig it.

I noticed that golang-1.12 has actually been built on Loongson machines.
Could it be a page size issue (4K vs 16K), which prevent golang built on
one CPU to be executed on another one?

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: