-
Notifications
You must be signed in to change notification settings - Fork 944
Closed
Labels
kind/bugThis is bug report for projectThis is bug report for project
Description
Ⅰ. Issue Description
When I was finishing the integration test adding in pr #2612, I found a data race there in struct ContainerExecConfig instance operation.
time="2019-01-15T03:58:40.718772986Z" level=debug msg="Calling GET /v1.24/exec/9b41ab4c7f76152d6daaa562683b187641185ead1618e14ded486c8094a4fedb/json, client @"
time="2019-01-15T03:58:40.720238616Z" level=info msg="Calling POST /v1.24/exec/9b41ab4c7f76152d6daaa562683b187641185ead1618e14ded486c8094a4fedb/start, client @"
time="2019-01-15T03:58:40.720548015Z" level=info msg="start exec 9b41ab4c7f76152d6daaa562683b187641185ead1618e14ded486c8094a4fedb, upgrade: true, body: {}"
time="2019-01-15T03:58:40.72230116Z" level=debug msg="Calling GET /v1.24/exec/9b41ab4c7f76152d6daaa562683b187641185ead1618e14ded486c8094a4fedb/json, client @"
==================
WARNING: DATA RACE
Write at 0x00c421554c98 by goroutine 228:
github.com/alibaba/pouch/daemon/mgr.(*ContainerManager).StartExec()
/home/travis/gopath/src/github.com/alibaba/pouch/daemon/mgr/container_exec.go:75 +0x1648
github.com/alibaba/pouch/apis/server.(*Server).startContainerExec()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/exec_bridge.go:105 +0x763
github.com/alibaba/pouch/apis/server.(*Server).(github.com/alibaba/pouch/apis/server.startContainerExec)-fm()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/router.go:51 +0x7a
github.com/alibaba/pouch/apis/server.filter.func1()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/router.go:209 +0x54a
net/http.HandlerFunc.ServeHTTP()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:1947 +0x51
github.com/alibaba/pouch/vendor/github.com/gorilla/mux.(*Router).ServeHTTP()
/home/travis/gopath/src/github.com/alibaba/pouch/vendor/github.com/gorilla/mux/mux.go:133 +0x176
net/http.serverHandler.ServeHTTP()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:2697 +0xb9
net/http.(*conn).serve()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:1830 +0x7dc
Previous read at 0x00c421554c98 by goroutine 226:
github.com/alibaba/pouch/daemon/mgr.(*ContainerManager).InspectExec()
/home/travis/gopath/src/github.com/alibaba/pouch/daemon/mgr/container_exec.go:181 +0x1ed
github.com/alibaba/pouch/apis/server.(*Server).getExecInfo()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/exec_bridge.go:119 +0x113
github.com/alibaba/pouch/apis/server.(*Server).(github.com/alibaba/pouch/apis/server.getExecInfo)-fm()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/router.go:50 +0x7a
github.com/alibaba/pouch/apis/server.filter.func1()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/router.go:209 +0x54a
net/http.HandlerFunc.ServeHTTP()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:1947 +0x51
github.com/alibaba/pouch/vendor/github.com/gorilla/mux.(*Router).ServeHTTP()
/home/travis/gopath/src/github.com/alibaba/pouch/vendor/github.com/gorilla/mux/mux.go:133 +0x176
net/http.serverHandler.ServeHTTP()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:2697 +0xb9
net/http.(*conn).serve()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:1830 +0x7dc
Goroutine 228 (running) created at:
net/http.(*Server).Serve()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:2798 +0x364
github.com/alibaba/pouch/apis/server.(*Server).Start.func2()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/server.go:81 +0x29d
Goroutine 226 (running) created at:
net/http.(*Server).Serve()
/home/travis/.gimme/versions/go1.10.4.linux.amd64/src/net/http/server.go:2798 +0x364
github.com/alibaba/pouch/apis/server.(*Server).Start.func2()
/home/travis/gopath/src/github.com/alibaba/pouch/apis/server/server.go:81 +0x29d
==================
Ⅱ. Describe what happened
Data Race of ContainerExecConfig when calling exec start and inspect
Ⅲ. Describe what you expected to happen
no data race in the pouchd's log about containerExecConfig
Ⅳ. How to reproduce it (as minimally and precisely as possible)
none
Ⅴ. Anything else we need to know?
none
Ⅵ. Environment:
- pouch version (use
pouch version): master branch. - OS (e.g. from /etc/os-release): travisCI os ubuntu 16.04
- Kernel (e.g.
uname -a): - Install tools:
- Others:
Metadata
Metadata
Assignees
Labels
kind/bugThis is bug report for projectThis is bug report for project