Skip to content

docker build prints fatal error (MSpanList_Insert) on macOS 10.13.1 #676

Description

@epong

Description

When I run docker build, I see an error trace, widely cited as a bug in go for binaries running on macOS Sierra/High Sierra built with older versions of go.

I've installed the latest stable and edge versions of docker-ce, and the error still shows up.

The docker build actually continues to run and builds an image, but this error trace is printed every time and breaks some of our custom build tools.

Here is the trace:

failed MSpanList_Insert 0x4384000 0x13f987be9a8d 0x0 0x0
fatal error: MSpanList_Insert

runtime stack:
runtime.throw(0x4164a40, 0x10)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/panic.go:530 +0x90 fp=0x7ffeefbfeee0 sp=0x7ffeefbfeec8
runtime.(*mSpanList).insert(0x420eea8, 0x4384000)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mheap.go:933 +0x293 fp=0x7ffeefbfef10 sp=0x7ffeefbfeee0
runtime.(*mheap).freeSpanLocked(0x420e6a0, 0x4384000, 0x100, 0x0)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mheap.go:809 +0x4be fp=0x7ffeefbfef78 sp=0x7ffeefbfef10
runtime.(*mheap).grow(0x420e6a0, 0x8, 0x0)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mheap.go:675 +0x2a0 fp=0x7ffeefbfefd0 sp=0x7ffeefbfef78
runtime.(*mheap).allocSpanLocked(0x420e6a0, 0x1, 0x0)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mheap.go:553 +0x4e3 fp=0x7ffeefbff028 sp=0x7ffeefbfefd0
runtime.(*mheap).alloc_m(0x420e6a0, 0x1, 0x15, 0x0)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mheap.go:437 +0x119 fp=0x7ffeefbff058 sp=0x7ffeefbff028
runtime.(*mheap).alloc.func1()
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mheap.go:502 +0x41 fp=0x7ffeefbff088 sp=0x7ffeefbff058
runtime.systemstack(0x7ffeefbff0a8)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/asm_amd64.s:307 +0xab fp=0x7ffeefbff090 sp=0x7ffeefbff088
runtime.(*mheap).alloc(0x420e6a0, 0x1, 0x10000000015, 0x400ebdf)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mheap.go:503 +0x63 fp=0x7ffeefbff0d8 sp=0x7ffeefbff090
runtime.(*mcentral).grow(0x42102a0, 0x0)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mcentral.go:209 +0x93 fp=0x7ffeefbff140 sp=0x7ffeefbff0d8
runtime.(*mcentral).cacheSpan(0x42102a0, 0x420b2c8)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mcentral.go:89 +0x47d fp=0x7ffeefbff180 sp=0x7ffeefbff140
runtime.(*mcache).refill(0x4380000, 0x15, 0x7ffeefbff1e8)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/mcache.go:119 +0xcc fp=0x7ffeefbff1b8 sp=0x7ffeefbff180
runtime.mallocgc.func2()
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/malloc.go:642 +0x2b fp=0x7ffeefbff1d8 sp=0x7ffeefbff1b8
runtime.systemstack(0x7ffeefbff278)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/asm_amd64.s:307 +0xab fp=0x7ffeefbff1e0 sp=0x7ffeefbff1d8
runtime.mallocgc(0x180, 0x4147ac0, 0x0, 0x800000000)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/malloc.go:643 +0x869 fp=0x7ffeefbff2b8 sp=0x7ffeefbff1e0
runtime.newobject(0x4147ac0, 0x420b570)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/malloc.go:781 +0x42 fp=0x7ffeefbff2e0 sp=0x7ffeefbff2b8
runtime.malg(0x8000, 0x420b7e0)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/proc.go:2634 +0x27 fp=0x7ffeefbff318 sp=0x7ffeefbff2e0
runtime.mpreinit(0x420bb20)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/os1_darwin.go:140 +0x1f fp=0x7ffeefbff330 sp=0x7ffeefbff318
runtime.mcommoninit(0x420bb20)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/proc.go:494 +0x105 fp=0x7ffeefbff378 sp=0x7ffeefbff330
runtime.schedinit()
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/proc.go:434 +0x79 fp=0x7ffeefbff3c0 sp=0x7ffeefbff378
runtime.rt0_go(0x7ffeefbff400, 0x2, 0x7ffeefbff400, 0x0, 0x7fff6b629145, 0x0, 0x2, 0x7ffeefbff620, 0x7ffeefbff63e, 0x0, ...)
	/Users/travis/.gimme/versions/go1.6.darwin.amd64/src/runtime/asm_amd64.s:138 +0x132 fp=0x7ffeefbff3c8 sp=0x7ffeefbff3c0`

I suspect docker-cli builds are using travis, and the travis configuration is using go 1.6?

Steps to reproduce the issue:

  1. On macOS 10.13.1, install latest docker-ce
  2. Run docker build on any Dockerfile

Describe the results you received:
Image is built with error cited above.

Describe the results you expected:
Built image with no errors.

Additional information you deem important (e.g. issue happens only occasionally):
Don't think this is relevant, but local go version: go version go1.9.2 darwin/amd64
macOS version: 10.13.1

Output of docker version:

Client:
 Version:      17.11.0-ce-rc2
 API version:  1.34
 Go version:   go1.8.4
 Git commit:   d7062e5
 Built:        Wed Nov  1 22:08:25 2017
 OS/Arch:      darwin/amd64

Server:
 Version:      17.11.0-ce-rc2
 API version:  1.34 (minimum version 1.12)
 Go version:   go1.8.5
 Git commit:   d7062e5
 Built:        Wed Nov  1 22:14:52 2017
 OS/Arch:      linux/amd64
 Experimental: true

Output of docker info:

Containers: 0
 Running: 0
 Paused: 0
 Stopped: 0
Images: 0
Server Version: 17.11.0-ce-rc2
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host ipvlan macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: v1.0.0-beta.2-53-g992280e8 (expected: 992280e8e265f491f7a624ab82f3e238be086e49)
runc version: 0351df1c5a66838d0c392b4ac4cf9450de844e2d
init version: 949e6fa
Security Options:
 seccomp
  Profile: default
Kernel Version: 4.9.44-linuxkit-aufs
Operating System: Docker for Mac
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.952GiB
Name: linuxkit-025000000001
ID: RHBG:F5GU:YWGH:FVEG:2HXI:PELW:SS7Y:LZ5Y:MGGY:U5CC:5TLG:QZV4
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 21
 Goroutines: 40
 System Time: 2017-11-08T02:26:18.595260676Z
 EventsListeners: 2
No Proxy: *.local, 169.254/16
Registry: https://index.docker.io/v1/
Experimental: true
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions