[pkg-go] Bug#908083: golang-gopkg-macaroon-bakery.v2: Autobuilder hangs when building with eatmydata

Santiago Vila sanvila at debian.org
Thu Sep 6 00:05:30 BST 2018


Package: src:golang-gopkg-macaroon-bakery.v2
Version: 0.0~git20171221.21d9e9a-5
Severity: wishlist

Dear maintainer:

When I build this package using sbuild + eatmydata this is what happens:

--------------------------------------------------------------------------------
[...]
 debian/rules build-indep
dh build-indep --buildsystem=golang --with=golang
   dh_update_autotools_config -i -O--buildsystem=golang
   dh_autoreconf -i -O--buildsystem=golang
   dh_auto_configure -i -O--buildsystem=golang
   dh_auto_build -i -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go install -gcflags=\"-trimpath=/<<BUILDDIR>>/golang-gopkg-macaroon-bakery.v2-0.0\~git20171221.21d9e9a/obj-x86_64-linux-gnu/src\" -asmflags=\"-trimpath=/<<BUILDDIR>>/golang-gopkg-macaroon-bakery.v2-0.0\~git20171221.21d9e9a/obj-x86_64-linux-gnu/src\" -v -p 1 gopkg.in/macaroon-bakery.v2/bakery gopkg.in/macaroon-bakery.v2/bakery/checkers gopkg.in/macaroon-bakery.v2/bakery/identchecker gopkg.in/macaroon-bakery.v2/bakery/internal/macaroonpb gopkg.in/macaroon-bakery.v2/bakery/mgorootkeystore gopkg.in/macaroon-bakery.v2/bakerytest gopkg.in/macaroon-bakery.v2/httpbakery gopkg.in/macaroon-bakery.v2/httpbakery/agent gopkg.in/macaroon-bakery.v2/httpbakery/form gopkg.in/macaroon-bakery.v2/internal/httputil
github.com/juju/loggo
github.com/rogpeppe/fastuuid
golang.org/x/crypto/curve25519
golang.org/x/crypto/internal/subtle
golang.org/x/crypto/poly1305
golang.org/x/crypto/salsa20/salsa
golang.org/x/crypto/nacl/secretbox
golang.org/x/crypto/nacl/box
golang.org/x/net/context
gopkg.in/errgo.v1
gopkg.in/macaroon.v2
gopkg.in/macaroon-bakery.v2/bakery/checkers
github.com/golang/protobuf/proto
gopkg.in/macaroon-bakery.v2/bakery/internal/macaroonpb
gopkg.in/macaroon-bakery.v2/bakery
gopkg.in/macaroon-bakery.v2/bakery/identchecker
gopkg.in/mgo.v2/internal/json
gopkg.in/mgo.v2/bson
gopkg.in/mgo.v2/internal/scram
gopkg.in/mgo.v2
gopkg.in/macaroon-bakery.v2/bakery/mgorootkeystore
github.com/julienschmidt/httprouter
golang.org/x/net/html/atom
golang.org/x/net/html
gopkg.in/httprequest.v1
github.com/juju/webbrowser
golang.org/x/net/context/ctxhttp
golang.org/x/net/publicsuffix
gopkg.in/macaroon-bakery.v2/internal/httputil
gopkg.in/macaroon-bakery.v2/httpbakery
gopkg.in/macaroon-bakery.v2/bakerytest
gopkg.in/macaroon-bakery.v2/httpbakery/agent
github.com/juju/errors
github.com/juju/utils/clock
golang.org/x/crypto/pbkdf2
gopkg.in/yaml.v2
github.com/juju/utils
github.com/juju/schema
github.com/juju/utils/keyvalues
gopkg.in/juju/environschema.v1
golang.org/x/sys/unix
golang.org/x/crypto/ssh/terminal
gopkg.in/juju/environschema.v1/form
gopkg.in/macaroon-bakery.v2/httpbakery/form
   dh_auto_test -i -O--buildsystem=golang
	cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1 gopkg.in/macaroon-bakery.v2/bakery gopkg.in/macaroon-bakery.v2/bakery/checkers gopkg.in/macaroon-bakery.v2/bakery/identchecker gopkg.in/macaroon-bakery.v2/bakery/internal/macaroonpb gopkg.in/macaroon-bakery.v2/bakery/mgorootkeystore gopkg.in/macaroon-bakery.v2/bakerytest gopkg.in/macaroon-bakery.v2/httpbakery gopkg.in/macaroon-bakery.v2/httpbakery/agent gopkg.in/macaroon-bakery.v2/httpbakery/form gopkg.in/macaroon-bakery.v2/internal/httputil
=== RUN   TestPackage
OK: 71 passed
--- PASS: TestPackage (0.05s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/bakery	0.050s
=== RUN   TestPackage
OK: 19 passed
--- PASS: TestPackage (0.00s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/bakery/checkers	0.003s
=== RUN   TestPackage
OK: 19 passed
--- PASS: TestPackage (0.01s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/bakery/identchecker	0.012s
?   	gopkg.in/macaroon-bakery.v2/bakery/internal/macaroonpb	[no test files]
=== RUN   TestPackage
SIGQUIT: quit
PC=0x472258 m=0 sigcode=0

goroutine 5 [syscall]:
syscall.Syscall6(0xf7, 0x1, 0x3d5d, 0xc420069600, 0x1000004, 0x0, 0x0, 0x0, 0xba1480, 0x0)
	/usr/lib/go-1.10/src/syscall/asm_linux_amd64.s:44 +0x5 fp=0xc4200695a8 sp=0xc4200695a0 pc=0x472235
os.(*Process).blockUntilWaitable(0xc4200267b0, 0x0, 0x0, 0x2)
	/usr/lib/go-1.10/src/os/wait_waitid.go:31 +0x98 fp=0xc4200696a8 sp=0xc4200695a8 pc=0x493358
os.(*Process).wait(0xc4200267b0, 0xc420106a80, 0xc4200cc918, 0xc4200cc918)
	/usr/lib/go-1.10/src/os/exec_unix.go:22 +0x3c fp=0xc420069720 sp=0xc4200696a8 pc=0x48d56c
os.(*Process).Wait(0xc4200267b0, 0x9308d8, 0x9308e0, 0x9308d0)
	/usr/lib/go-1.10/src/os/exec.go:123 +0x2b fp=0xc420069750 sp=0xc420069720 pc=0x48cb1b
os/exec.(*Cmd).Wait(0xc4200cc840, 0x0, 0x0)
	/usr/lib/go-1.10/src/os/exec/exec.go:461 +0x5c fp=0xc4200697c8 sp=0xc420069750 pc=0x675a3c
os/exec.(*Cmd).Run(0xc4200cc840, 0xc42008a9b0, 0x1)
	/usr/lib/go-1.10/src/os/exec/exec.go:305 +0x5c fp=0xc4200697f0 sp=0xc4200697c8 pc=0x674f1c
os/exec.(*Cmd).Output(0xc4200cc840, 0xf, 0xc4200578b8, 0x1, 0x1, 0xc4200cc840)
	/usr/lib/go-1.10/src/os/exec/exec.go:500 +0xf5 fp=0xc420069840 sp=0xc4200697f0 pc=0x675e35
github.com/juju/testing.detectMongoVersion(0xc42015eb30, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc420057cb0, 0xe0)
	/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/github.com/juju/testing/mgo.go:396 +0xb0 fp=0xc4200699b8 sp=0xc420069840 pc=0x7fc0c0
github.com/juju/testing.(*mongodCache).Get(0xba07e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
	/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/github.com/juju/testing/mgo.go:359 +0x170 fp=0xc420069a58 sp=0xc4200699b8 pc=0x7fba60
github.com/juju/testing.(*MgoInstance).run(0xba0960, 0xc, 0xc420057e78)
	/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/github.com/juju/testing/mgo.go:260 +0x1a8 fp=0xc420069da0 sp=0xc420069a58 pc=0x7faa78
github.com/juju/testing.(*MgoInstance).Start(0xba0960, 0x0, 0x1f6cb54e, 0x1f6cb54e00a24360)
	/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/github.com/juju/testing/mgo.go:206 +0x38f fp=0xc420069f48 sp=0xc420069da0 pc=0x7fa3ef
github.com/juju/testing.MgoTestPackage(0xc4201620f0, 0x0)
	/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/github.com/juju/testing/mgo.go:455 +0x3b fp=0xc420069f88 sp=0xc420069f48 pc=0x7fca9b
gopkg.in/macaroon-bakery.v2/bakery/mgorootkeystore_test.TestPackage(0xc4201620f0)
	/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/src/gopkg.in/macaroon-bakery.v2/bakery/mgorootkeystore/package_test.go:10 +0x34 fp=0xc420069fa8 sp=0xc420069f88 pc=0x802a84
testing.tRunner(0xc4201620f0, 0x9301c0)
	/usr/lib/go-1.10/src/testing/testing.go:777 +0xd0 fp=0xc420069fd0 sp=0xc420069fa8 pc=0x4e8750
runtime.goexit()
	/usr/lib/go-1.10/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc420069fd8 sp=0xc420069fd0 pc=0x45b431
created by testing.(*T).Run
	/usr/lib/go-1.10/src/testing/testing.go:824 +0x2e0

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4201620f0, 0x9143f2, 0xb, 0x9301c0, 0x47e926)
	/usr/lib/go-1.10/src/testing/testing.go:825 +0x301
testing.runTests.func1(0xc420162000)
	/usr/lib/go-1.10/src/testing/testing.go:1063 +0x64
testing.tRunner(0xc420162000, 0xc420143df8)
	/usr/lib/go-1.10/src/testing/testing.go:777 +0xd0
testing.runTests(0xc420106a20, 0xb92ab0, 0x1, 0x1, 0x411e79)
	/usr/lib/go-1.10/src/testing/testing.go:1061 +0x2c4
testing.(*M).Run(0xc4200b0780, 0x0)
	/usr/lib/go-1.10/src/testing/testing.go:978 +0x171
main.main()
	_testmain.go:44 +0x151

goroutine 6 [IO wait]:
internal/poll.runtime_pollWait(0x7fa61c577f00, 0x72, 0xc420045ce8)
	/usr/lib/go-1.10/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42008aa68, 0x72, 0xffffffffffffff01, 0x96d3c0, 0xb646b0)
	/usr/lib/go-1.10/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42008aa68, 0xc420126401, 0x200, 0x200)
	/usr/lib/go-1.10/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42008aa50, 0xc420126400, 0x200, 0x200, 0x0, 0x0, 0x0)
	/usr/lib/go-1.10/src/internal/poll/fd_unix.go:157 +0x17d
os.(*File).read(0xc42000e0d0, 0xc420126400, 0x200, 0x200, 0xc420126400, 0x0, 0x0)
	/usr/lib/go-1.10/src/os/file_unix.go:226 +0x4e
os.(*File).Read(0xc42000e0d0, 0xc420126400, 0x200, 0x200, 0x4e86ad, 0xa24360, 0xc420045e60)
	/usr/lib/go-1.10/src/os/file.go:107 +0x6a
bytes.(*Buffer).ReadFrom(0xc420155f80, 0x96c7a0, 0xc42000e0d0, 0x7fa61c57c040, 0xc420155f80, 0x1)
	/usr/lib/go-1.10/src/bytes/buffer.go:205 +0xa0
io.copyBuffer(0x96bc20, 0xc420155f80, 0x96c7a0, 0xc42000e0d0, 0x0, 0x0, 0x0, 0x4e86ad, 0xc420001500, 0xc42006d240)
	/usr/lib/go-1.10/src/io/io.go:386 +0x31a
io.Copy(0x96bc20, 0xc420155f80, 0x96c7a0, 0xc42000e0d0, 0x1f6cb54e00a24360, 0x5b84d359, 0xc420045f98)
	/usr/lib/go-1.10/src/io/io.go:362 +0x5a
os/exec.(*Cmd).writerDescriptor.func1(0x4e8750, 0xc4201620f0)
	/usr/lib/go-1.10/src/os/exec/exec.go:275 +0x4d
os/exec.(*Cmd).Start.func1(0xc4200cc840, 0xc420106ac0)
	/usr/lib/go-1.10/src/os/exec/exec.go:396 +0x27
created by os/exec.(*Cmd).Start
	/usr/lib/go-1.10/src/os/exec/exec.go:395 +0x5df

goroutine 7 [IO wait]:
internal/poll.runtime_pollWait(0x7fa61c577d60, 0x72, 0xc420046558)
	/usr/lib/go-1.10/src/runtime/netpoll.go:173 +0x57
internal/poll.(*pollDesc).wait(0xc42008ab08, 0x72, 0xffffffffffffff01, 0x96d3c0, 0xb646b0)
	/usr/lib/go-1.10/src/internal/poll/fd_poll_runtime.go:85 +0x9b
internal/poll.(*pollDesc).waitRead(0xc42008ab08, 0xc42016a001, 0x8000, 0x8000)
	/usr/lib/go-1.10/src/internal/poll/fd_poll_runtime.go:90 +0x3d
internal/poll.(*FD).Read(0xc42008aaf0, 0xc42016a000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
	/usr/lib/go-1.10/src/internal/poll/fd_unix.go:157 +0x17d
os.(*File).read(0xc42000e0e8, 0xc42016a000, 0x8000, 0x8000, 0x0, 0x0, 0xc420046660)
	/usr/lib/go-1.10/src/os/file_unix.go:226 +0x4e
os.(*File).Read(0xc42000e0e8, 0xc42016a000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0)
	/usr/lib/go-1.10/src/os/file.go:107 +0x6a
io.copyBuffer(0x96c8a0, 0xc42008a9b0, 0x96c7a0, 0xc42000e0e8, 0xc42016a000, 0x8000, 0x8000, 0x0, 0x0, 0x0)
	/usr/lib/go-1.10/src/io/io.go:400 +0x164
io.Copy(0x96c8a0, 0xc42008a9b0, 0x96c7a0, 0xc42000e0e8, 0x0, 0x0, 0x0)
	/usr/lib/go-1.10/src/io/io.go:362 +0x5a
os/exec.(*Cmd).writerDescriptor.func1(0x0, 0x0)
	/usr/lib/go-1.10/src/os/exec/exec.go:275 +0x4d
os/exec.(*Cmd).Start.func1(0xc4200cc840, 0xc420106b00)
	/usr/lib/go-1.10/src/os/exec/exec.go:396 +0x27
created by os/exec.(*Cmd).Start
	/usr/lib/go-1.10/src/os/exec/exec.go:395 +0x5df

rax    0xf7
rbx    0x0
rcx    0x47225a
rdx    0xc420069600
rdi    0x1
rsi    0x3d5d
rbp    0xc420069698
rsp    0xc4200695a0
r8     0x0
r9     0x0
r10    0x1000004
r11    0x202
r12    0x0
r13    0xf1
r14    0x11
r15    0x0
rip    0x472258
rflags 0x202
cs     0x33
fs     0x0
gs     0x0
*** Test killed with quit: ran too long (10m0s).
FAIL	gopkg.in/macaroon-bakery.v2/bakery/mgorootkeystore	600.005s
=== RUN   TestPackage
OK: 7 passed
--- PASS: TestPackage (0.02s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/bakerytest	0.022s
=== RUN   TestPackage
OK: 46 passed
--- PASS: TestPackage (1.49s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/httpbakery	1.491s
=== RUN   TestPackage
OK: 5 passed
--- PASS: TestPackage (0.01s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/httpbakery/agent	0.017s
=== RUN   TestPackage
OK: 2 passed
--- PASS: TestPackage (0.01s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/httpbakery/form	0.014s
=== RUN   TestPackage
OK: 1 passed
--- PASS: TestPackage (0.00s)
PASS
ok  	gopkg.in/macaroon-bakery.v2/internal/httputil	0.001s
dh_auto_test: cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1 gopkg.in/macaroon-bakery.v2/bakery gopkg.in/macaroon-bakery.v2/bakery/checkers gopkg.in/macaroon-bakery.v2/bakery/identchecker gopkg.in/macaroon-bakery.v2/bakery/internal/macaroonpb gopkg.in/macaroon-bakery.v2/bakery/mgorootkeystore gopkg.in/macaroon-bakery.v2/bakerytest gopkg.in/macaroon-bakery.v2/httpbakery gopkg.in/macaroon-bakery.v2/httpbakery/agent gopkg.in/macaroon-bakery.v2/httpbakery/form gopkg.in/macaroon-bakery.v2/internal/httputil returned exit code 1
make: *** [debian/rules:7: build-indep] Error 1
dpkg-buildpackage: error: debian/rules build-indep subprocess returned exit status 2
--------------------------------------------------------------------------------

I've put a bunch of build logs here, but they are similar:

https://people.debian.org/~sanvila/build-logs/golang-gopkg-macaroon-bakery.v2/

I know there is not a policy anywhere saying that packages should build with eatmydata,
but it's something that makes the build a lot faster and when a package does not build
that way I have to special case it.

My building environment is described here:

https://people.debian.org/~sanvila/my-building-environment.txt

by I guess a simple "eatmydata dpkg-buildpackage" would also work.

Thanks.



More information about the Pkg-go-maintainers mailing list