[HTTP Server] Race condition
gmbno opened this issue · 0 comments
gmbno commented
Just detected a race condition in the HTTP Server library
==================
WARNING: DATA RACE
Read at 0x00c0001dee70 by main goroutine:
github.com/nabbar/golib/httpserver.(*server).GetName()
<autogenerated>:1 +0x66
github.com/nabbar/golib/httpserver.pool.List.func1()
path/vendor/github.com/nabbar/golib/httpserver/pool.go:206 +0xfb1
github.com/nabbar/golib/httpserver.pool.MapRun()
path/vendor/github.com/nabbar/golib/httpserver/pool.go:90 +0x91
github.com/nabbar/golib/httpserver.pool.List()
path/vendor/github.com/nabbar/golib/httpserver/pool.go:199 +0x1dd
github.com/nabbar/golib/httpserver.(*pool).List()
<autogenerated>:1 +0xcc
path/bin/api/pkg/server.(*server).GetServerList()
path/bin/api/pkg/server/model.go:25 +0x81
path/bin/api/cmd.startRun()
path/bin/api/cmd/start.go:34 +0x103
github.com/spf13/cobra.(*Command).execute()
path/vendor/github.com/spf13/cobra/command.go:856 +0x8cb
github.com/spf13/cobra.(*Command).ExecuteC()
path/vendor/github.com/spf13/cobra/command.go:960 +0x4b2
github.com/spf13/cobra.(*Command).Execute()
path/vendor/github.com/spf13/cobra/command.go:897 +0x4e
path/bin/api/cmd.Execute()
path/bin/api/cmd/root.go:30 +0x2f
main.main()
path/bin/api/main.go:29 +0x2f
Previous write at 0x00c0001dee70 by goroutine 24:
sync/atomic.StoreInt64()
/usr/local/go/src/runtime/race_amd64.s:248 +0xb
sync/atomic.StorePointer()
/usr/local/go/src/runtime/atomic_pointer.go:51 +0x33
github.com/nabbar/golib/httpserver.(*server).setRunning()
path/vendor/github.com/nabbar/golib/httpserver/server.go:124 +0xab2
github.com/nabbar/golib/httpserver.(*server).Listen.func1()
path/vendor/github.com/nabbar/golib/httpserver/server.go:239 +0xa89
Goroutine 24 (running) created at:
github.com/nabbar/golib/httpserver.(*server).Listen()
path/vendor/github.com/nabbar/golib/httpserver/server.go:216 +0x91d
github.com/nabbar/golib/httpserver.pool.Listen.func1()
path/vendor/github.com/nabbar/golib/httpserver/pool.go:339 +0x67
github.com/nabbar/golib/httpserver.pool.MapRun()
path/vendor/github.com/nabbar/golib/httpserver/pool.go:90 +0x91
github.com/nabbar/golib/httpserver.pool.Listen()
path/vendor/github.com/nabbar/golib/httpserver/pool.go:338 +0x144
github.com/nabbar/golib/httpserver.(*pool).Listen()
<autogenerated>:1 +0x8e
path/bin/api/pkg/server.(*server).ServerListen()
path/bin/api/pkg/server/model.go:65 +0xa1
path/bin/api/cmd.startRun()
path/bin/api/cmd/start.go:33 +0xa9
github.com/spf13/cobra.(*Command).execute()
path/vendor/github.com/spf13/cobra/command.go:856 +0x8cb
github.com/spf13/cobra.(*Command).ExecuteC()
path/vendor/github.com/spf13/cobra/command.go:960 +0x4b2
github.com/spf13/cobra.(*Command).Execute()
path/vendor/github.com/spf13/cobra/command.go:897 +0x4e
path/bin/api/cmd.Execute()
path/bin/api/cmd/root.go:30 +0x2f
main.main()
path/bin/api/main.go:29 +0x2f
==================