lbryio / lbryio/lbry-sdk

fail when testing upnp port mappings for multiple devices

Open
#3,580 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

consider soon
Dominant language
Python
Stars
7.2k
Forks
493
PR merge metrics
No merged PRs in 30d

Description

lbrynet version 106

2022-03-12 16:59:37,949 INFO     lbry.extras.daemon.components:558: found upnp gateway: NETGEAR C3000-100NAS
2022-03-12 16:59:38,129 INFO     lbry.extras.daemon.components:588: add UPnP port mappings
...
2022-03-12 16:59:38,822 ERROR    lbry.extras.daemon.components:647: failed to setup upnp

I was told that the sdk would map 4445 if 4444 was already taken, and forward it internally, and display the actual mapped port in status.
I started lbry on another device which took ownership of 4444 using upnp. Then I started the daemon on linux and got the above error.

Freeing up the port, linux properly maps 4444 on the router.
Also, I tested to see if ufw allow 4445 made a difference - it did not. It still failed.

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

Start at the UPnP setup path in lbry.extras.daemon.components, around the logged lines 558, 588, and 647, and reproduce the case with port 4444 already claimed by another device. Done means the daemon handles the conflict by mapping 4445 internally and reports the actual mapped port in status.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.