Skip to content

Race detected in DHT #814

Closed
Closed
@whyrusleeping

Description

WARNING: DATA RACE
Write by goroutine 129:
  sync.raceWrite()
      /usr/local/go/src/pkg/sync/race.go:41 +0x35
  sync.(*WaitGroup).Wait()
      /usr/local/go/src/pkg/sync/waitgroup.go:122 +0x176
  github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup.(*contextGroup).closeLogic()
      /workspace/race/src/github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup/ctxgroup.go:210 +0xba
  github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup.*contextGroup.(github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup.closeLogic)��fm()
      /workspace/race/src/github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup/ctxgroup.go:200 +0x33
  sync.(*Once).Do()
      /usr/local/go/src/pkg/sync/once.go:40 +0xb1

Previous read by goroutine 102:
  sync.raceRead()
      /usr/local/go/src/pkg/sync/race.go:37 +0x35
  sync.(*WaitGroup).Add()
      /usr/local/go/src/pkg/sync/waitgroup.go:60 +0xbe
  github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup.(*contextGroup).AddChildFunc()
      /workspace/race/src/github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup/ctxgroup.go:176 +0x4d
  github.com/jbenet/go-ipfs/routing/dht.(*dhtQueryRunner).Run()
      /workspace/race/src/github.com/jbenet/go-ipfs/routing/dht/query.go:110 +0x45d
  github.com/jbenet/go-ipfs/routing/dht.(*dhtQuery).Run()
      /workspace/race/src/github.com/jbenet/go-ipfs/routing/dht/query.go:59 +0xe1
  github.com/jbenet/go-ipfs/routing/dht.func��009()
      /workspace/race/src/github.com/jbenet/go-ipfs/routing/dht/lookup.go:84 +0x119

Goroutine 129 (running) created at:
  github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup.(*contextGroup).internalClose()
      /workspace/race/src/github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup/ctxgroup.go:200 +0x92
  github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup.(*contextGroup).closeOnContextDone()
      /workspace/race/src/github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-ctxgroup/ctxgroup.go:219 +0xa9

Goroutine 102 (running) created at:
  github.com/jbenet/go-ipfs/routing/dht.(*IpfsDHT).GetClosestPeers()
      /workspace/race/src/github.com/jbenet/go-ipfs/routing/dht/lookup.go:88 +0xa24
  github.com/jbenet/go-ipfs/routing/dht.(*IpfsDHT).Provide()
      /workspace/race/src/github.com/jbenet/go-ipfs/routing/dht/routing.go:132 +0x3ff
  github.com/jbenet/go-ipfs/exchange/bitswap/network.(*impl).Provide()
      /workspace/race/src/github.com/jbenet/go-ipfs/exchange/bitswap/network/ipfs_impl.go:139 +0xa8
  github.com/jbenet/go-ipfs/exchange/bitswap.(*Bitswap).provideWorker()
      /workspace/race/src/github.com/jbenet/go-ipfs/exchange/bitswap/workers.go:67 +0x309
  github.com/jbenet/go-ipfs/exchange/bitswap.func��011()
      /workspace/race/src/github.com/jbenet/go-ipfs/exchange/bitswap/workers.go:32 +0x6e
  github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess.func��005()
      /workspace/race/src/github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess/impl-mutex.go:96 +0xa8
==================

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    kind/bugA bug in existing code (including security flaws)topic/raceTopic racetopic/test failureTopic test failure

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions