Description
Steps to reproduce the issue:
BUILDFLAGS=-race make binary
- Execute
docker info repeatedly
- Simultaneously, execute
docker build -t tmp1 . && docker rmi tmp1 repeatedly. The content of Dockerfile is arbitrary, but just FROM busybox is enough.
Describe the results you received:
Sep 17 12:40:06 ws01 dockerd[30160]: WARNING: DATA RACE
Sep 17 12:40:06 ws01 dockerd[30160]: Write at 0x00c4203dc77c by goroutine 177:
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/container.(*State).ResetRemovalInProgress()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/container/state.go:325 +0x4c
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/daemon.(*Daemon).ContainerRm()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/daemon/delete.go:42 +0x260
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/builder/dockerfile.(*Builder).removeContainer()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/builder/dockerfile/internals.go:571 +0x103
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/builder/dockerfile.(*Builder).clearTmp()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/builder/dockerfile/internals.go:580 +0x10b
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/builder/dockerfile.(*Builder).build()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/builder/dockerfile/builder.go:256 +0x5a1
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/builder/dockerfile.(*BuildManager).BuildFromContext()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/builder/dockerfile/builder.go:108 +0x2e8
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/router/build.(*buildRouter).postBuild()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/router/build/build_routes.go:181 +0xc50
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/router/build.(*buildRouter).(github.com/docker/docker/api/server/router/build.postBuild)-fm()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/router/build/build.go:27 +0x8a
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/router.cancellableHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/router/local.go:84 +0x124
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/middleware.VersionMiddleware.WrapHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/middleware/version.go:56 +0x952
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/middleware.UserAgentMiddleware.WrapHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/middleware/user_agent.go:45 +0x307
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/pkg/authorization.(*Middleware).WrapHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/pkg/authorization/middleware.go:34 +0xe5
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/middleware.DebugRequestMiddleware.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/middleware/debug.go:25 +0x346
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server.(*Server).makeHTTPHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/server.go:139 +0x11e
Sep 17 12:40:06 ws01 dockerd[30160]: net/http.HandlerFunc.ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /usr/local/go/src/net/http/server.go:1726 +0x51
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/gorilla/mux.(*Router).ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/vendor/src/github.com/gorilla/mux/mux.go:103 +0x358
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server.(*routerSwapper).ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/router_swapper.go:29 +0x93
Sep 17 12:40:06 ws01 dockerd[30160]: net/http.serverHandler.ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /usr/local/go/src/net/http/server.go:2202 +0xbb
Sep 17 12:40:06 ws01 dockerd[30160]: net/http.(*conn).serve()
Sep 17 12:40:06 ws01 dockerd[30160]: /usr/local/go/src/net/http/server.go:1579 +0x5f6
Sep 17 12:40:06 ws01 dockerd[30160]: Previous read at 0x00c4203dc77c by goroutine 41:
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/daemon.(*Daemon).SystemInfo.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/daemon/info.go:61 +0x1e5
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/container.(*memoryStore).ApplyAll.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/container/memory_store.go:74 +0x3d
Sep 17 12:40:06 ws01 dockerd[30160]: Goroutine 177 (running) created at:
Sep 17 12:40:06 ws01 dockerd[30160]: net/http.(*Server).Serve()
Sep 17 12:40:06 ws01 dockerd[30160]: /usr/local/go/src/net/http/server.go:2293 +0x540
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server.(*HTTPServer).Serve()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/server.go:114 +0x74
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server.(*Server).serveAPI.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/server.go:87 +0x106
Sep 17 12:40:06 ws01 dockerd[30160]: Goroutine 41 (finished) created at:
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/container.(*memoryStore).ApplyAll()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/container/memory_store.go:76 +0xe0
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/daemon.(*Daemon).SystemInfo()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/daemon/info.go:69 +0x3b3
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/router/system.(*systemRouter).getInfo()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/router/system/system_routes.go:33 +0x6f
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/router/system.(*systemRouter).(github.com/docker/docker/api/server/router/system.getInfo)-fm()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/router/system/system.go:27 +0x8a
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/middleware.VersionMiddleware.WrapHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/middleware/version.go:56 +0x952
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/middleware.UserAgentMiddleware.WrapHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/middleware/user_agent.go:45 +0x307
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/pkg/authorization.(*Middleware).WrapHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/pkg/authorization/middleware.go:34 +0xe5
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server/middleware.DebugRequestMiddleware.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/middleware/debug.go:22 +0x248
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server.(*Server).makeHTTPHandler.func1()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/server.go:139 +0x11e
Sep 17 12:40:06 ws01 dockerd[30160]: net/http.HandlerFunc.ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /usr/local/go/src/net/http/server.go:1726 +0x51
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/gorilla/mux.(*Router).ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/vendor/src/github.com/gorilla/mux/mux.go:103 +0x358
Sep 17 12:40:06 ws01 dockerd[30160]: github.com/docker/docker/api/server.(*routerSwapper).ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /go/src/github.com/docker/docker/api/server/router_swapper.go:29 +0x93
Sep 17 12:40:06 ws01 dockerd[30160]: net/http.serverHandler.ServeHTTP()
Sep 17 12:40:06 ws01 dockerd[30160]: /usr/local/go/src/net/http/server.go:2202 +0xbb
Sep 17 12:40:06 ws01 dockerd[30160]: net/http.(*conn).serve()
Sep 17 12:40:06 ws01 dockerd[30160]: /usr/local/go/src/net/http/server.go:1579 +0x5f6
Sep 17 12:40:06 ws01 dockerd[30160]: ==================
Describe the results you expected:
There should not be any race
Output of docker version:
Client:
Version: 1.13.0-dev
API version: 1.25
Go version: go1.7.1
Git commit: 6d8598f
Built: Sat Sep 17 12:33:03 2016
OS/Arch: linux/amd64
Experimental: true
Server:
Version: 1.13.0-dev
API version: 1.25
Go version: go1.7.1
Git commit: 6d8598f
Built: Sat Sep 17 12:33:03 2016
OS/Arch: linux/amd64
Experimental: true
Output of docker info:
Containers: 2
Running: 1
Paused: 0
Stopped: 1
Images: 55
Server Version: 1.13.0-dev
Storage Driver: overlay2
Backing Filesystem: extfs
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host null overlay overlay
Swarm: active
NodeID: 9e55spg4o1eqssug96hdgkeit
Is Manager: true
ClusterID: 9wygveeipj0bzxky2anm339rx
Managers: 1
Nodes: 1
Orchestration:
Task History Retention Limit: 5
Raft:
Snapshot Interval: 10000
Heartbeat Tick: 1
Election Tick: 3
Dispatcher:
Heartbeat Period: 5 seconds
CA Configuration:
Expiry Duration: 3 months
Node Address: 10.140.0.2
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.4.0-36-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 14.69 GiB
Name: ws01
ID: SN3T:CNK6:JKQD:54CY:XKF2:BRX3:CIRU:DQBT:6DVZ:VWQ2:Q5ET:F23L
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
File Descriptors: 43
Goroutines: 140
System Time: 2016-09-17T12:52:12.956930614Z
EventsListeners: 1
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: true
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Description
Steps to reproduce the issue:
BUILDFLAGS=-race make binarydocker inforepeatedlydocker build -t tmp1 . && docker rmi tmp1repeatedly. The content ofDockerfileis arbitrary, but justFROM busyboxis enough.Describe the results you received:
Describe the results you expected:
There should not be any race
Output of
docker version:Output of
docker info: