This repository was archived by the owner on Apr 18, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 28
This repository was archived by the owner on Apr 18, 2021. It is now read-only.
Possible Race condition #39
Copy link
Copy link
Open
Description
Hi, I run into following race condition. On windows the issue happens randomly but on travis ci its reproducible see logs https://travis-ci.org/hemerajs/momos/builds/266557761
==================
WARNING: DATA RACE
Write at 0x00c420160058 by goroutine 16:
net/http.(*response).Header()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/server.go:1032 +0x63
github.com/lox/httpcache.(*responseStreamer).Header()
<autogenerated>:97 +0x69
net/http/httputil.(*ReverseProxy).ServeHTTP()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/httputil/reverseproxy.go:257 +0xc9a
github.com/lox/httpcache.(*Handler).passUpstream.func1()
/home/travis/gopath/src/github.com/lox/httpcache/handler.go:254 +0x8b
Previous write at 0x00c420160058 by goroutine 12:
net/http.(*response).Header()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/server.go:1032 +0x63
github.com/lox/httpcache.(*Handler).passUpstream()
/home/travis/gopath/src/github.com/lox/httpcache/handler.go:261 +0x4e6
github.com/lox/httpcache.(*Handler).ServeHTTP()
/home/travis/gopath/src/github.com/lox/httpcache/handler.go:97 +0xbf9
net/http.serverHandler.ServeHTTP()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/server.go:2568 +0xbc
net/http.(*conn).serve()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/server.go:1825 +0x71a
Goroutine 16 (running) created at:
github.com/lox/httpcache.(*Handler).passUpstream()
/home/travis/gopath/src/github.com/lox/httpcache/handler.go:256 +0x36a
github.com/lox/httpcache.(*Handler).ServeHTTP()
/home/travis/gopath/src/github.com/lox/httpcache/handler.go:97 +0xbf9
net/http.serverHandler.ServeHTTP()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/server.go:2568 +0xbc
net/http.(*conn).serve()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/server.go:1825 +0x71a
Goroutine 12 (running) created at:
net/http.(*Server).Serve()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/server.go:2668 +0x35f
net/http/httptest.(*Server).goServe.func1()
/home/travis/.gimme/versions/go1.8.3.linux.amd64/src/net/http/httptest/server.go:235 +0xa2
==================
Windows
==================
WARNING: DATA RACE
Write at 0x00c04213c138 by goroutine 8:
net/http.(*response).Header()
C:/Go/src/net/http/server.go:1032 +0x6a
github.com/lox/httpcache.(*Handler).passUpstream()
E:/go/work/src/github.com/lox/httpcache/handler.go:261 +0x4ed
github.com/lox/httpcache.(*Handler).ServeHTTP()
E:/go/work/src/github.com/lox/httpcache/handler.go:97 +0xc00
net/http.serverHandler.ServeHTTP()
C:/Go/src/net/http/server.go:2568 +0xc3
net/http.(*conn).serve()
C:/Go/src/net/http/server.go:1825 +0x721
Previous write at 0x00c04213c138 by goroutine 20:
net/http.(*response).Header()
C:/Go/src/net/http/server.go:1032 +0x6a
github.com/lox/httpcache.(*responseStreamer).Header()
<autogenerated>:97 +0x70
net/http/httputil.(*ReverseProxy).ServeHTTP()
C:/Go/src/net/http/httputil/reverseproxy.go:257 +0xca1
github.com/lox/httpcache.(*Handler).passUpstream.func1()
E:/go/work/src/github.com/lox/httpcache/handler.go:254 +0x92
Goroutine 8 (running) created at:
net/http.(*Server).Serve()
C:/Go/src/net/http/server.go:2668 +0x366
net/http.(*Server).ListenAndServe()
C:/Go/src/net/http/server.go:2585 +0xe7
main.main()
E:/go/work/src/github.com/hemerajs/momos/examples/server.go:61 +0x23d
Goroutine 20 (finished) created at:
github.com/lox/httpcache.(*Handler).passUpstream()
E:/go/work/src/github.com/lox/httpcache/handler.go:256 +0x371
github.com/lox/httpcache.(*Handler).ServeHTTP()
E:/go/work/src/github.com/lox/httpcache/handler.go:97 +0xc00
net/http.serverHandler.ServeHTTP()
C:/Go/src/net/http/server.go:2568 +0xc3
net/http.(*conn).serve()
C:/Go/src/net/http/server.go:1825 +0x721
Metadata
Metadata
Assignees
Labels
No labels