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

Weird torrent delay when add and remove fast. #1231

Closed
BenmasterTM opened this issue Nov 24, 2017 · 2 comments
Closed

Weird torrent delay when add and remove fast. #1231

BenmasterTM opened this issue Nov 24, 2017 · 2 comments

Comments

@BenmasterTM
Copy link

@BenmasterTM BenmasterTM commented Nov 24, 2017

Im running webtorrent over Electron using a webview for the process like the Webtorrent Desktop client.

  • Webtorrent 0.98.19
  • Windows 10, Electron, Node 6.10.2

Problem: If you add a torrent torrent using magnet (whatever) and then remove and try to add again, the torrent keep checking, and no data is loaded (no metadata, nothing), if you wait 1-2 minutes, and add again, the torrent works correctly. Appear to have some "timeout" to get the metadata ??

I add the torrent with webtorrent.add() and remove with webtorrent.remove(torrent) or torrent.destroy(), the problem happens in the 2 ways.

NOT WORKING LOG:

C:\client\node_modules\webtorrent\node_modules\debug\src\browser.js:123 webtorrent [2d57443] add +10s
C:\client\node_modules\webtorrent\node_modules\debug\src\browser.js:123 webtorrent:torrent [2d57443] [d173280] new torrent +1ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:client new client d17328085091e0c5fc0b2811f446c91007d01e61 +10s
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker new websocket tracker wss://tracker.btorrent.xyz +3ms
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [7a31e8e] new websocket: Objecturl: "wss://tracker.btorrent.xyz"__proto__: Object +9s
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker new websocket tracker wss://tracker.fastcast.nz +9ms
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [74c8889] new websocket: Object +9ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker new websocket tracker wss://tracker.openwebtorrent.com +2ms
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [5a71e19] new websocket: Objecturl: "wss://tracker.openwebtorrent.com"__proto__: Object +1ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:client setInterval 900000 +2ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:client send `start` +0ms
C:\client\node_modules\torrent-discovery\node_modules\debug\src\browser.…:123 torrent-discovery dht announce +10s
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [2efe9d3] announce d17328085091e0c5fc0b2811f446c91007d01e61 55493 +12s
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [5a71e19] connect +100ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker generating 10 offers +99ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +0ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [a414636] new peer Object +10s
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +3ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [25b9ac3] new peer Object +2ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +2ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [ed51fcf] new peer Object +2ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +2ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [4fb0eff] new peer Object +2ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +1ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [d04cd2e] new peer Object +2ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +2ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [71b5831] new peer Object +2ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +2ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [213a3eb] new peer Object +1ms

Wait 2 minutes, and add again.

WORKING LOG:

webtorrent Object +3s
C:\client\node_modules\webtorrent\node_modules\debug\src\browser.js:123 webtorrent [2d57443] add +44s
C:\client\node_modules\webtorrent\node_modules\debug\src\browser.js:123 webtorrent:torrent [2d57443] [d173280] new torrent +1ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:client new client d17328085091e0c5fc0b2811f446c91007d01e61 +0ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker new websocket tracker wss://tracker.btorrent.xyz +1ms
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [b7b941f] new websocket: Object +0ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker new websocket tracker wss://tracker.fastcast.nz +7ms
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [ad20e09] new websocket: Object +6ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker new websocket tracker wss://tracker.openwebtorrent.com +2ms
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [d753f11] new websocket: Object +3ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:client setInterval 900000 +2ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:client send `start` +1ms
C:\client\node_modules\torrent-discovery\node_modules\debug\src\browser.…:123 torrent-discovery dht announce +0ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] lookup d17328085091e0c5fc0b2811f446c91007d01e61 +37s
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node 3770162aa4ee34f0dce3b9353ecb2ab636540ef9 (target: d17328085091e0c5fc0b2811f446c91007d01e61) +31ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node 42997f771acae35246535de1dc062b0315c2fd1c (target: d17328085091e0c5fc0b2811f446c91007d01e61) +19ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node a1e56126e77687109a819e060c9740e4c6a710aa (target: d17328085091e0c5fc0b2811f446c91007d01e61) +1ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node 3753a09e28faa108ae5aed22a6e04d65f3f75729 (target: d17328085091e0c5fc0b2811f446c91007d01e61) +18ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node d0701c311141337c28173acc7ab1f7a223203077 (target: d17328085091e0c5fc0b2811f446c91007d01e61) +6ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node 375335c2a606f060f5154216cec4de045c9ed0eb (target: d17328085091e0c5fc0b2811f446c91007d01e61) +29ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node 3753a8f8f0adb9398336938e1ddf7b70e480f62c (target: d17328085091e0c5fc0b2811f446c91007d01e61) +4ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node d01bda4a9425c352b9c4a8bc7aefb95ed8b23d32 (target: d17328085091e0c5fc0b2811f446c91007d01e61) +2ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node 9c1afe30cb8f049ba9bbffcbe54f337111b4f3f0 (target: d17328085091e0c5fc0b2811f446c91007d01e61) +2ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node 84d6279d0b8932b72336d6a275129aba500595a3 (target: d17328085091e0c5fc0b2811f446c91007d01e61) +16ms
C:\client\node_modules\bittorrent-dht\node_modules\debug\src\browser.js:123 bittorrent-dht [3753a02] found node d19fb3c80874d378cf7c67056e9720e51c129cdb (target: d17328085091e0c5fc0b2811f446c91007d01e61) +7ms
C:\client\node_modules\simple-websocket\node_modules\debug\src\browser.js:123 simple-websocket [d753f11] connect +141ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker generating 10 offers +141ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +1ms
C:\client\node_modules\simple-peer\node_modules\debug\src\browser.js:123 simple-peer [5d44c90] new peer Object +0ms
C:\client\node_modules\bittorrent-tracker\node_modules\debug\src\browser…:123 bittorrent-tracker:websocket-tracker creating peer (from _generateOffers) +9ms

The diference I see is the lines after the "torrent-discovery dht announce", in the working log this happens:

bittorrent-dht [3753a02] lookup
bittorrent-dht [3753a02] found node 3770162aa4ee34
bittorrent-dht [3753a02] found node 42997f771ac
bittorrent-dht [3753a02] found node a1e56126e

in the non-working log this lines dont appear.

@Fabiencdp

This comment has been minimized.

Copy link

@Fabiencdp Fabiencdp commented Jan 14, 2018

It append for me only when using infoHash, but it work well using magnetUri.
When calling client.add(infoHash); then client.remove(infoHash); it work as excepted, if i log client.torrents.length i get a length of 0.
But if i add the same torrent using client.add(infoHash); it never fire on metadata event. only on infoHash event is fired.

@feross

This comment has been minimized.

Copy link
Member

@feross feross commented Feb 17, 2018

You should probably wait for the 'close' callback that indicates that the torrent is completely destroyed before you try to re-add it. There is cleanup that is asynchronous, so the torrent might not be done being cleaned up if you add again immediately.

@feross feross closed this Feb 17, 2018
@lock lock bot locked as resolved and limited conversation to collaborators May 25, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants
You can’t perform that action at this time.