Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#50673 - [docker] Daemon for v1.12.1 fails to start, due to a go-related issue

Attached to Project: Community Packages
Opened by Brenton Horne (fusion809) - Monday, 05 September 2016, 23:15 GMT
Last edited by Doug Newgard (Scimmia) - Wednesday, 21 September 2016, 04:12 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Docker (version 1.12.1) fails to start on 64-bit Arch Linux. This seems to be related to the go package, based on the output of systemctl status docker. Building Docker from source using the Arch Build System (ABS) also fails with the error message:

==> Making package: docker 1:1.12.1-1 (Tue Sep 6 09:13:38 AEST 2016)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Updating docker git repo...
Fetching origin
-> Updating runc git repo...
Fetching origin
-> Updating containerd git repo...
Fetching origin
-> Found docker.sysusers
==> Validating source files with md5sums...
docker ... Skipped
runc ... Skipped
containerd ... Skipped
docker.sysusers ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
-> Creating working copy of docker git repo...
Cloning into 'docker'...
done.
Switched to a new branch 'makepkg'
-> Creating working copy of runc git repo...
Cloning into 'runc'...
done.
Switched to a new branch 'makepkg'
-> Creating working copy of containerd git repo...
Cloning into 'containerd'...
done.
Switched to a new branch 'makepkg'
==> Starting prepare()...
==> Removing existing $pkgdir/ directory...
==> Starting build()...
-> Building runc
ln -sfn /home/fusion809/abs/docker/src/runc /home/fusion809/abs/docker/src/runc/Godeps/_workspace/src/github.com/opencontainers/runc
go build -i -ldflags "-X main.gitCommit=cc29e3dded8e27ba8f65738f40d251c885030a28 -X main.version=1.0.0-rc1" -tags "seccomp" -o runc .
panic: runtime error: index out of range
fatal error: panic holding locks

goroutine 23 [running]:
runtime.throw(0x8507bd, 0x13)
/usr/lib/go/src/runtime/panic.go:566 +0x95 fp=0xc420041d90 sp=0xc420041d70
panic(0x7e18e0, 0xc4200121a0)
/usr/lib/go/src/runtime/panic.go:420 +0x495 fp=0xc420041e20 sp=0xc420041d90
runtime.panicindex()
/usr/lib/go/src/runtime/panic.go:27 +0x6d fp=0xc420041e50 sp=0xc420041e20
runtime.greyobject(0xc4200f2640, 0xc4200ee800, 0x3c8, 0xc41fff86cd, 0xc400000000, 0x7f324e6b8b20, 0x7f324e6b8b20, 0x32)
/usr/lib/go/src/runtime/mgcmark.go:1247 +0x15c fp=0xc420041e80 sp=0xc420041e50
runtime.scanobject(0xc4200ee800, 0xc420023228)
/usr/lib/go/src/runtime/mgcmark.go:1170 +0x1fa fp=0xc420041f00 sp=0xc420041e80
runtime.gcDrain(0xc420023228, 0x6)
/usr/lib/go/src/runtime/mgcmark.go:993 +0x15c fp=0xc420041f38 sp=0xc420041f00
runtime.gcBgMarkWorker(0xc420022000)
/usr/lib/go/src/runtime/mgc.go:1450 +0x4ad fp=0xc420041fa8 sp=0xc420041f38
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:2086 +0x1 fp=0xc420041fb0 sp=0xc420041fa8
created by runtime.gcBgMarkStartWorkers
/usr/lib/go/src/runtime/mgc.go:1341 +0x98

goroutine 1 [syscall]:
syscall.Syscall(0x0, 0x3, 0xc420228000, 0x1000, 0x6, 0xc42026ad08, 0x486f7a)
/usr/lib/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x3, 0xc420228000, 0x1000, 0x1000, 0xc420222120, 0x0, 0xc420492000)
/usr/lib/go/src/syscall/zsyscall_linux_amd64.go:783 +0x55
syscall.Read(0x3, 0xc420228000, 0x1000, 0x1000, 0xc42026ad10, 0xc420492000, 0x4c6b30)
/usr/lib/go/src/syscall/syscall_unix.go:161 +0x49
os.(*File).read(0xc42014a088, 0xc420228000, 0x1000, 0x1000, 0x7f324e6b32c0, 0x300000002, 0xc42026ad01)
/usr/lib/go/src/os/file_unix.go:228 +0x4f
os.(*File).Read(0xc42014a088, 0xc420228000, 0x1000, 0x1000, 0x488924, 0x7f324e692150, 0x7f324e572901)
/usr/lib/go/src/os/file.go:101 +0x59
bufio.(*Reader).fill(0xc420226000)
/usr/lib/go/src/bufio/bufio.go:97 +0x10c
bufio.(*Reader).ReadByte(0xc420226000, 0xc420492000, 0x4c6b30, 0xc420492000)
/usr/lib/go/src/bufio/bufio.go:231 +0x51
go/build.(*importReader).readByte(0xc42026af38, 0x32026aec0)
/usr/lib/go/src/go/build/read.go:42 +0x32
go/build.(*importReader).peekByte(0xc42026af38, 0x1, 0xc42014a001)
/usr/lib/go/src/go/build/read.go:75 +0x1ff
go/build.(*importReader).readKeyword(0xc42026af38, 0x84a9d9, 0x7)
/usr/lib/go/src/go/build/read.go:123 +0x34
go/build.readImports(0xa06c40, 0xc42014a088, 0xc42014a000, 0x0, 0xc42014a088, 0x0, 0x0, 0x10, 0xc4202bff80)
/usr/lib/go/src/go/build/read.go:216 +0xbf
go/build.(*Context).matchFile(0xa2ea80, 0xc4201523e0, 0x1b, 0xc4202bf8dc, 0xc, 0xc42021c001, 0xc42026b8e8, 0xc4200b67e0, 0x0, 0x0, ...)
/usr/lib/go/src/go/build/build.go:1051 +0x3ab
go/build.(*Context).Import(0xa2ea80, 0xc42025f501, 0xb, 0xc4202fd3c0, 0x1a, 0x4, 0xc4200b4000, 0xc42026bc48, 0x47fdb4)
/usr/lib/go/src/go/build/build.go:690 +0x9ec
main.loadImport(0xc42025f501, 0xb, 0xc4202fd3c0, 0x1a, 0xc42040db00, 0xc42026d9e0, 0xc4201fd170, 0x1, 0x1, 0x1, ...)
/usr/lib/go/src/cmd/go/pkg.go:365 +0x3b9
main.(*Package).load(0xc42040db00, 0xc42026d9e0, 0xc420370380, 0x0, 0x0, 0x4)
/usr/lib/go/src/cmd/go/pkg.go:940 +0x12b6
main.loadImport(0xc42025eeb1, 0xa, 0xc420184fc0, 0x61, 0xc42040d680, 0xc42026d9e0, 0xc42034a7e0, 0x1, 0x1, 0x1, ...)
/usr/lib/go/src/cmd/go/pkg.go:374 +0x470
main.(*Package).load(0xc42040d680, 0xc42026d9e0, 0xc420370000, 0x0, 0x0, 0x4)
/usr/lib/go/src/cmd/go/pkg.go:940 +0x12b6
main.loadImport(0xc4201c5ce1, 0x27, 0xc4201518b0, 0x41, 0xc4201b2000, 0xc42026d9e0, 0xc4201c5ec0, 0x1, 0x1, 0x1, ...)
/usr/lib/go/src/cmd/go/pkg.go:374 +0x470
main.(*Package).load(0xc4201b2000, 0xc42026d9e0, 0xc420187500, 0x0, 0x0, 0xc)
/usr/lib/go/src/cmd/go/pkg.go:940 +0x12b6
main.loadImport(0x8488e5, 0x1, 0xc420018144, 0x41, 0x0, 0xc42026d9e0, 0x0, 0x0, 0x0, 0x0, ...)
/usr/lib/go/src/cmd/go/pkg.go:374 +0x470
main.loadPackage(0x8488e5, 0x1, 0xc42026d9e0, 0x0)
/usr/lib/go/src/cmd/go/pkg.go:1658 +0x28f
main.packagesAndErrors(0xc4201a4500, 0x1, 0x1, 0x487588, 0x20, 0x7f3a60)
/usr/lib/go/src/cmd/go/pkg.go:1703 +0x337
main.packagesForBuild(0xc42000c130, 0x1, 0x1, 0x893c68, 0xc4200104c0, 0x0)
/usr/lib/go/src/cmd/go/pkg.go:1719 +0x75
main.runBuild(0xa27440, 0xc42000c130, 0x1, 0x1)
/usr/lib/go/src/cmd/go/build.go:440 +0xd4
main.main()
/usr/lib/go/src/cmd/go/main.go:181 +0x624

goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/lib/go/src/runtime/asm_amd64.s:2086 +0x1

goroutine 5 [syscall]:
os/signal.signal_recv(0x0)
/usr/lib/go/src/runtime/sigqueue.go:116 +0x157
os/signal.loop()
/usr/lib/go/src/os/signal/signal_unix.go:22 +0x22
created by os/signal.init.1
/usr/lib/go/src/os/signal/signal_unix.go:28 +0x41
make: *** [Makefile:26: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...


Additional info:
* Go-related environment variables:
PATH: /usr/local/bin:/usr/lib/hardening-wrapper/bin:/usr/local/sbin:/usr/bin:/home/fusion809/go/bin:/usr/lib/go/bin:/root/.gem/ruby/2.3.0/bin:/home/fusion809/.gem/ruby/2.3.0/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/usr/lib/jvm/java-8-openjdk/bin
GOPATH: /home/fusion809/go
GOROOT: /usr/lib/go
* package version(s): 1.12.1-1. Go version: 1.7-1.
* Here is my log file (obtained via running systemctl status docker):

● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2016-09-06 09:05:21 AEST; 4min 2s ago
Docs: https://docs.docker.com
Process: 22298 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=2)
Main PID: 22298 (code=exited, status=2)

Sep 06 09:05:21 fusion809-pc dockerd[22298]: github.com/gorilla/mux.(*Router).ServeHTTP(0xc420057270, 0x20a2580, 0xc4203e5930, 0xc42043fd10)
Sep 06 09:05:21 fusion809-pc dockerd[22298]: /build/docker/src/docker/vendor/src/github.com/gorilla/mux/mux.go:84 +0x1f0
Sep 06 09:05:21 fusion809-pc dockerd[22298]: github.com/docker/docker/api/server.(*routerSwapper).ServeHTTP(0xc420b2f940, 0x20a2580, 0xc4203e5930, 0xc42043fd10)
Sep 06 09:05:21 fusion809-pc dockerd[22298]: /build/docker/src/docker/.gopath/src/github.com/docker/docker/api/server/router_swapper.go:29 +0x70
Sep 06 09:05:21 fusion809-pc dockerd[22298]: net/http.serverHandler.ServeHTTP(0xc4203f2200, 0x20a2580, 0xc4203e5930, 0xc42043fd10)
Sep 06 09:05:21 fusion809-pc dockerd[22298]: /usr/lib/go/src/net/http/server.go:2202 +0x7d
Sep 06 09:05:21 fusion809-pc dockerd[22298]: net/http.(*conn).serve(0xc420b25000, 0x20a4080, 0xc420b36800)
Sep 06 09:05:21 fusion809-pc dockerd[22298]: /usr/lib/go/src/net/http/server.go:1579 +0x4b7
Sep 06 09:05:21 fusion809-pc dockerd[22298]: created by net/http.(*Server).Serve
Sep 06 09:05:21 fusion809-pc dockerd[22298]: /usr/lib/go/src/net/http/server.go:2293 +0x44d

Steps to reproduce:
Enable the docker daemon with: systemctl enable docker.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Wednesday, 21 September 2016, 04:12 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Likely a problem from go in the home dir
Comment by Doug Newgard (Scimmia) - Sunday, 18 September 2016, 02:19 GMT
Builds fine in a clean chroot, and with no other votes or comments, this is almost certainly a local problem.

Loading...