libp2p / libp2p/rust-libp2p

WebRTC connection doesn't close after timeout

Open
#5,213 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Rust
Stars
5.6k
Forks
1.3k
Avg merge
8h 47m
Merged PRs (30d)
19

Description

Summary

Two nodes are connected by WebRTC and start pinging. When one node disconnects, the ping will fail, but the failing connection will never be detected and Ping continues to timeout (ping protocol negotiation timed out). Replacing WebRTC with QUIC, a ConnectionClosed is emitted.

Expected behavior

A ConnectionClosed event to be emitted

Actual behavior

I see Stream dropped without graceful close, sending Reset messages, but this occurs more often than just when a peer disappears.

Relevant log output

No response

Possible Solution

No response

Version

0.53.2

Would you like to work on fixing this bug ?

No

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or entry point is named. Start by locating the WebRTC connection lifecycle and ping protocol timeout handling, then compare it with the QUIC path's ConnectionClosed event; done means a peer disappearance reliably emits ConnectionClosed without treating ordinary stream resets as proof.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
audio-video-rtc, distributed-systems, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.