Skip to content
This repository has been archived by the owner on Jun 12, 2020. It is now read-only.

Data race setting last failure times on connections #15

Open
anacrolix opened this issue Jun 20, 2013 · 1 comment
Open

Data race setting last failure times on connections #15

anacrolix opened this issue Jun 20, 2013 · 1 comment

Comments

@anacrolix
Copy link

==================
WARNING: DATA RACE
Write by goroutine 24:
  github.com/carloscm/gossie/src/gossie.(*connectionPool).blacklist()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:339 +0x159
  github.com/carloscm/gossie/src/gossie.(*connectionPool).acquire()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:312 +0x441
  github.com/carloscm/gossie/src/gossie.(*connectionPool).runWithRetries()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:237 +0x59
  github.com/carloscm/gossie/src/gossie.(*connectionPool).run()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:227 +0x5d
  github.com/carloscm/gossie/src/gossie.(*writer).Run()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/writer.go:172 +0x112
  main.func·015()
      /home/mjoiner/gopath/src/code.brandscreen.net/cortex/uniques-proxy/main.go:331 +0x3cf
  main.func·005()
      /home/mjoiner/gopath/src/code.brandscreen.net/cortex/uniques-proxy/main.go:149 +0x79
  gosched0()
      /home/mjoiner/src/go/src/pkg/runtime/proc.c:1231 +0x9f

Previous read by goroutine 21:
  github.com/carloscm/gossie/src/gossie.(*connectionPool).randomNode()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:280 +0x104
  github.com/carloscm/gossie/src/gossie.(*connectionPool).acquire()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:305 +0x207
  github.com/carloscm/gossie/src/gossie.(*connectionPool).runWithRetries()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:237 +0x59
  github.com/carloscm/gossie/src/gossie.(*connectionPool).run()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/connection.go:227 +0x5d
  github.com/carloscm/gossie/src/gossie.(*writer).Run()
      /home/mjoiner/gopath/src/github.com/carloscm/gossie/src/gossie/writer.go:172 +0x112
  main.func·015()
      /home/mjoiner/gopath/src/code.brandscreen.net/cortex/uniques-proxy/main.go:331 +0x3cf
  main.func·005()
      /home/mjoiner/gopath/src/code.brandscreen.net/cortex/uniques-proxy/main.go:149 +0x79
  gosched0()
      /home/mjoiner/src/go/src/pkg/runtime/proc.c:1231 +0x9f
@carloscm
Copy link
Owner

This appears to be a race in modifying the node blacklist. It should be easy to fix by adding a mutex to access it. I am not working anymore in Gossie so any future maintainers of the library should fix this bug.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants