Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed webRTC upgrade leads to dropped relay p2p-circuit connection #3015

Open
julienmalard opened this issue Feb 27, 2025 · 0 comments
Open
Labels
need/triage Needs initial labeling and prioritization

Comments

@julienmalard
Copy link

Version:

  • "@libp2p/circuit-relay-v2": "^3.2.4",
  • "@libp2p/webrtc": "^5.2.5",
  • "libp2p": "^2.7.4",

Platform:

  • macOS 12.5.1
  • Firefox browser (135.0.1 (64 bits))
  • Chrome browser (Version 133.0.6943.127 (Build officiel) (x86_64))
  • Subsystem:
    webRTC and Circuit Relay

Severity:

High - The main functionality of the application does not work, API breakage, repo format breakage, etc.

Description:

When webRTC connections fail (e.g., because of a corporate firewall), the connection between the two peers is dropped instead of falling back to the relay server. This leads to an infinite loop, where both peers connect to the relay, connect to each other over their respective p2p-circuit addresses, attempt to upgrade to webRTC, and then drop the connection and start all over again.

I would expect that, if the upgrade fails, the peers would remain on the relayed connected (and potentially try to upgrade again eventually, but without dropping the relayed connection if webRTC fails).

I wonder if this is perhaps related to the fix for #2646.

Steps to reproduce the error:

Start two browser nodes (same machine, in my test) with webRTC and circuit relay enabled and a known circuit relay node in the bootstrap list over a network with a firewall that will prevent ICE from working.

@julienmalard julienmalard added the need/triage Needs initial labeling and prioritization label Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need/triage Needs initial labeling and prioritization
Projects
None yet
Development

No branches or pull requests

1 participant