Skip to content

chore: update go-libp2p, kad-dht, and boxo to latest#22

Merged
cortze merged 1 commit intoprobe-lab:mainfrom
lidel:chore/update-ipfs-libp2p-deps
Mar 18, 2026
Merged

chore: update go-libp2p, kad-dht, and boxo to latest#22
cortze merged 1 commit intoprobe-lab:mainfrom
lidel:chore/update-ipfs-libp2p-deps

Conversation

@lidel
Copy link
Copy Markdown
Contributor

@lidel lidel commented Mar 6, 2026

  • go-libp2p v0.43.0 -> v0.47.0
  • go-libp2p-kad-dht v0.34.0 -> v0.38.0
  • boxo v0.34.0 -> v0.37.0
  • go-cid v0.5.0 -> v0.6.0 (transitive)
  • quic-go, otel, and other transitive deps bumped accordingly

The sniffer is a long-lived libp2p node in DHT server mode that maintains thousands of concurrent bitswap sessions and responds with DONT_HAVE to every WANT.

Goroutine leak: stream.Close() blocks indefinitely on unresponsive peers

go-libp2p #3448, boxo #1083

stream.Close() can block forever on unresponsive peers, leaking goroutines until bitswap stops working entirely. Observed in production: hundreds of goroutines stuck for weeks.

👉 The sniffer (likely) hits this exact code path on every DONT_HAVE response it sends. Both go-libp2p v0.47 and boxo v0.36 include independent fixes.

- go-libp2p v0.43.0 -> v0.47.0
- go-libp2p-kad-dht v0.34.0 -> v0.38.0
- boxo v0.34.0 -> v0.37.0
- go-cid v0.5.0 -> v0.6.0 (transitive)
- quic-go, otel, and other transitive deps bumped accordingly
Copy link
Copy Markdown
Contributor

@cortze cortze left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a very good catch @lidel thanks for the PR

@cortze cortze merged commit 96bda03 into probe-lab:main Mar 18, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants