Skip to content
This repository has been archived by the owner on Feb 1, 2023. It is now read-only.

Races in peermanager #415

Closed
hsanjuan opened this issue Jun 10, 2020 · 0 comments · Fixed by #417
Closed

Races in peermanager #415

hsanjuan opened this issue Jun 10, 2020 · 0 comments · Fixed by #417
Labels
need/triage Needs initial labeling and prioritization

Comments

@hsanjuan
Copy link
Contributor

They also happen with the latest v0.2.18.

Log:

==================

WARNING: DATA RACE

Read at 0x00c0002c5b00 by goroutine 95:

  runtime.mapaccess2_faststr()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map_faststr.go:107 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).signalAvailability()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:237 +0x91

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:112 +0x15a

  github.com/ipfs/go-bitswap.(*Bitswap).PeerDisconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/bitswap.go:498 +0x63

  github.com/ipfs/go-bitswap/network.(*connectEventManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/connecteventmanager.go:61 +0x23a

  github.com/ipfs/go-bitswap/network.(*netNotifiee).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/ipfs_impl.go:431 +0x90

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1.1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:76 +0x99

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:489 +0x7b

Previous write at 0x00c0002c5b00 by goroutine 658:

  runtime.mapassign_faststr()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map_faststr.go:202 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).RegisterSession()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:210 +0x308

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).onChange()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:278 +0x675

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).Run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:188 +0xdf

Goroutine 95 (running) created at:

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:487 +0x1ac

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:75 +0x104

Goroutine 658 (running) created at:

  github.com/ipfs/go-bitswap/internal/session.(*Session).run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/session.go:297 +0x78

==================

==================

WARNING: DATA RACE

Read at 0x00c000604228 by goroutine 95:

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).signalAvailability()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:237 +0xb0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:112 +0x15a

  github.com/ipfs/go-bitswap.(*Bitswap).PeerDisconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/bitswap.go:498 +0x63

  github.com/ipfs/go-bitswap/network.(*connectEventManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/connecteventmanager.go:61 +0x23a

  github.com/ipfs/go-bitswap/network.(*netNotifiee).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/ipfs_impl.go:431 +0x90

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1.1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:76 +0x99

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:489 +0x7b

Previous write at 0x00c000604228 by goroutine 658:

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).RegisterSession()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:210 +0x31d

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).onChange()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:278 +0x675

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).Run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:188 +0xdf

Goroutine 95 (running) created at:

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:487 +0x1ac

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:75 +0x104

Goroutine 658 (running) created at:

  github.com/ipfs/go-bitswap/internal/session.(*Session).run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/session.go:297 +0x78

==================

==================

WARNING: DATA RACE

Read at 0x00c0005e8c90 by goroutine 95:

  runtime.mapiterinit()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map.go:802 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).signalAvailability()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:241 +0x104

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:112 +0x15a

  github.com/ipfs/go-bitswap.(*Bitswap).PeerDisconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/bitswap.go:498 +0x63

  github.com/ipfs/go-bitswap/network.(*connectEventManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/connecteventmanager.go:61 +0x23a

  github.com/ipfs/go-bitswap/network.(*netNotifiee).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/ipfs_impl.go:431 +0x90

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1.1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:76 +0x99

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:489 +0x7b

Previous write at 0x00c0005e8c90 by goroutine 658:

  runtime.mapassign_fast64()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map_fast64.go:92 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).RegisterSession()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:212 +0x22d

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).onChange()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:278 +0x675

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).Run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:188 +0xdf

Goroutine 95 (running) created at:

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:487 +0x1ac

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:75 +0x104

Goroutine 658 (running) created at:

  github.com/ipfs/go-bitswap/internal/session.(*Session).run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/session.go:297 +0x78

==================

==================

WARNING: DATA RACE

Read at 0x00c0002c5ad0 by goroutine 95:

  runtime.mapaccess2_fast64()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map_fast64.go:52 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).signalAvailability()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:242 +0x17d

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:112 +0x15a

  github.com/ipfs/go-bitswap.(*Bitswap).PeerDisconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/bitswap.go:498 +0x63

  github.com/ipfs/go-bitswap/network.(*connectEventManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/connecteventmanager.go:61 +0x23a

  github.com/ipfs/go-bitswap/network.(*netNotifiee).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/ipfs_impl.go:431 +0x90

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1.1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:76 +0x99

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:489 +0x7b

Previous write at 0x00c0002c5ad0 by goroutine 658:

  runtime.mapassign_fast64()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map_fast64.go:92 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).RegisterSession()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:206 +0x3b2

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).onChange()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:278 +0x675

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).Run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:188 +0xdf

Goroutine 95 (running) created at:

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:487 +0x1ac

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:75 +0x104

Goroutine 658 (running) created at:

  github.com/ipfs/go-bitswap/internal/session.(*Session).run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/session.go:297 +0x78

==================

==================

WARNING: DATA RACE

Read at 0x00c000604118 by goroutine 95:

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).signalAvailability()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:242 +0x19c

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:112 +0x15a

  github.com/ipfs/go-bitswap.(*Bitswap).PeerDisconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/bitswap.go:498 +0x63

  github.com/ipfs/go-bitswap/network.(*connectEventManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/connecteventmanager.go:61 +0x23a

  github.com/ipfs/go-bitswap/network.(*netNotifiee).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/ipfs_impl.go:431 +0x90

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1.1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:76 +0x99

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:489 +0x7b

Previous write at 0x00c000604118 by goroutine 658:

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).RegisterSession()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:206 +0x3c7

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).onChange()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:278 +0x675

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).Run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:188 +0xdf

Goroutine 95 (running) created at:

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:487 +0x1ac

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:75 +0x104

Goroutine 658 (running) created at:

  github.com/ipfs/go-bitswap/internal/session.(*Session).run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/session.go:297 +0x78

==================

==================

WARNING: DATA RACE

Write at 0x00c0002c5a10 by goroutine 95:

  runtime.mapdelete_faststr()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map_faststr.go:297 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:115 +0x1a6

  github.com/ipfs/go-bitswap.(*Bitswap).PeerDisconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/bitswap.go:498 +0x63

  github.com/ipfs/go-bitswap/network.(*connectEventManager).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/connecteventmanager.go:61 +0x23a

  github.com/ipfs/go-bitswap/network.(*netNotifiee).Disconnected()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/network/ipfs_impl.go:431 +0x90

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1.1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:76 +0x99

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:489 +0x7b

Previous read at 0x00c0002c5a10 by goroutine 658:

  runtime.mapaccess2_faststr()

      /home/travis/.gimme/versions/go1.13.12.linux.amd64/src/runtime/map_faststr.go:107 +0x0

  github.com/ipfs/go-bitswap/internal/peermanager.(*PeerManager).RegisterSession()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/peermanager/peermanager.go:214 +0x284

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).onChange()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:278 +0x675

  github.com/ipfs/go-bitswap/internal/session.(*sessionWantSender).Run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/sessionwantsender.go:188 +0xdf

Goroutine 95 (running) created at:

  github.com/libp2p/go-libp2p-swarm.(*Swarm).notifyAll()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm.go:487 +0x1ac

  github.com/libp2p/go-libp2p-swarm.(*Conn).doClose.func1()

      /home/travis/gopath/pkg/mod/github.com/libp2p/[email protected]/swarm_conn.go:75 +0x104

Goroutine 658 (running) created at:

  github.com/ipfs/go-bitswap/internal/session.(*Session).run()

      /home/travis/gopath/pkg/mod/github.com/ipfs/[email protected]/internal/session/session.go:297 +0x78

==================
@hsanjuan hsanjuan added the need/triage Needs initial labeling and prioritization label Jun 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
need/triage Needs initial labeling and prioritization
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant