-
Notifications
You must be signed in to change notification settings - Fork 173
Closed
Labels
bugSomething isn't workingSomething isn't working
Description
In https://buildkite.com/scionproto/scionproto/builds/3124#8397b7c6-9763-447b-9b01-57413429c92e the border router continued to write to a closed socket after receiving a sighup that changes the topology.
When running the border router with race detector enabled, the following is output:
==================
WARNING: DATA RACE
Read at 0x00c0000f9798 by goroutine 89:
runtime.convT2E()
/usr/local/go/src/runtime/iface.go:277 +0x0
main.(*Router).handleSock()
/home/roosd/go/src/github.com/scionproto/scion/go/border/router.go:99 +0xe5
main.(*Router).handleSock-fm()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup-posix.go:97 +0x5f
github.com/scionproto/scion/go/border/rctx.(*Sock).Start.func2()
/home/roosd/go/src/github.com/scionproto/scion/go/border/rctx/io.go:98 +0xbe
Previous write at 0x00c0000f9798 by main goroutine:
github.com/scionproto/scion/go/border/rctx.(*Sock).Start()
/home/roosd/go/src/github.com/scionproto/scion/go/border/rctx/io.go:101 +0xad
main.startSocks()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:337 +0x6b
main.(*Router).setupNewContext()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:209 +0x1f8
main.(*Router).setupCtxFromConfig()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:145 +0x2f7
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:88 +0x607
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:79 +0x307
main.NewRouter()
/home/roosd/go/src/github.com/scionproto/scion/go/border/router.go:60 +0xfd
main.realMain()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:81 +0x4b2
main.main()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:51 +0x2f
Goroutine 89 (running) created at:
github.com/scionproto/scion/go/border/rctx.(*Sock).Start()
/home/roosd/go/src/github.com/scionproto/scion/go/border/rctx/io.go:96 +0x182
main.startSocks()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:337 +0x6b
main.(*Router).setupNewContext()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:209 +0x1f8
main.(*Router).setupCtxFromConfig()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:145 +0x2f7
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:88 +0x607
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:79 +0x307
main.NewRouter()
/home/roosd/go/src/github.com/scionproto/scion/go/border/router.go:60 +0xfd
main.realMain()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:81 +0x4b2
main.main()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:51 +0x2f
==================
==================
WARNING: DATA RACE
Read at 0x00c0001b2148 by goroutine 92:
runtime.convT2E()
/usr/local/go/src/runtime/iface.go:277 +0x0
main.(*Router).handleSock()
/home/roosd/go/src/github.com/scionproto/scion/go/border/router.go:99 +0xe5
main.(*Router).handleSock-fm()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup-posix.go:97 +0x5f
github.com/scionproto/scion/go/border/rctx.(*Sock).Start.func2()
/home/roosd/go/src/github.com/scionproto/scion/go/border/rctx/io.go:98 +0xbe
Previous write at 0x00c0001b2148 by main goroutine:
github.com/scionproto/scion/go/border/rctx.(*Sock).Start()
/home/roosd/go/src/github.com/scionproto/scion/go/border/rctx/io.go:101 +0xad
main.startSocks()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:342 +0x142
main.(*Router).setupNewContext()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:209 +0x1f8
main.(*Router).setupCtxFromConfig()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:145 +0x2f7
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:88 +0x607
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:79 +0x307
main.NewRouter()
/home/roosd/go/src/github.com/scionproto/scion/go/border/router.go:60 +0xfd
main.realMain()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:81 +0x4b2
main.main()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:51 +0x2f
Goroutine 92 (running) created at:
github.com/scionproto/scion/go/border/rctx.(*Sock).Start()
/home/roosd/go/src/github.com/scionproto/scion/go/border/rctx/io.go:96 +0x182
main.startSocks()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:342 +0x142
main.(*Router).setupNewContext()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:209 +0x1f8
main.(*Router).setupCtxFromConfig()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:145 +0x2f7
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:88 +0x607
main.(*Router).setup()
/home/roosd/go/src/github.com/scionproto/scion/go/border/setup.go:79 +0x307
main.NewRouter()
/home/roosd/go/src/github.com/scionproto/scion/go/border/router.go:60 +0xfd
main.realMain()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:81 +0x4b2
main.main()
/home/roosd/go/src/github.com/scionproto/scion/go/border/main.go:51 +0x2f
==================
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working