Tribler / tribler

Privacy enhanced BitTorrent client with P2P content discovery
https://www.tribler.org
GNU General Public License v3.0
4.74k stars 445 forks source link

TunnelCommunity is very broken #4197

Closed synctext closed 5 years ago

synctext commented 5 years ago

After 60h uptime, no new credits have come in. Nothing earned in a whole week. Statistical implausible. Possible related to overloaded overlay. Also would explain the plummeting explorer.tribler.org stats. screenshot from 2019-02-04 09-16-22

qstokkink commented 5 years ago

We should probably set the default hop count to 2.

devos50 commented 5 years ago

Changing of the TrustChain keys explains the lower block rate in explorer.tribler.org - this will be fixed automatically when the crawler uses the new keys, and it will fetch the missing blocks. I asked @xoriole to update the crawlers (and testnet crawler).

Regarding not getting credits, I will inspect this when I’m back.

synctext commented 5 years ago

Latest thought: this might be a demand issue. We have forked the network. We do not yet have much anon proxy demand on the new 7.2.1 network. 80% ish of our users are on old network. Or could be a bug.

devos50 commented 5 years ago

We did not update the tunnel community IDs (so no fork there) and payouts go through the tunnels. I suspect a bug but I do not have an idea right now what could be causing this.

qstokkink commented 5 years ago

Possibly the TunnelCommunity is very broken (7.2.2).

I only have two circuits (for two downloads) which are closing after only transferring a few bytes:

afbeelding

My best circuit in an hour transferred 65kB before closing. For a torrent with thousands of seeders (Ubuntu 18.04).

devos50 commented 5 years ago

Small chance that the exit nodes are overloaded (it’s weekend). Will check this when I’m home.

synctext commented 5 years ago

Confirmed on Ubuntu: "TunnelCommunity is very broken". This is a reason our token economy has collapsed. Exit nodes work great, tested with 1-hop. 60 seconds animation of Tribler 7.2.2 struggle with creating tunnel circuits: tribler_7 2 2-failures_to_make_2-hop_circuites_feb2019 Almost nothing get's through on 2-hops. Downloaded 1000+ seeder Ubuntu torrent and the .torrent for Debian screenshot from 2019-02-10 08-47-45 Above screenshot got some peers on DHT and even got through to the tracker! It downloaded 144.8 MByte succesfully. However, this download then get's stuck at 0 Kbps (sounds familiar from our users..). After the circuits get killed after 10minutes or MByte quota reached or some other unknown events; download stops and fails to recover: screenshot from 2019-02-10 12-26-06 We need integration testing and tooling to detect this. Would be great if we could detect bugs like this automatically and get confidence in our releases.

devos50 commented 5 years ago

I suspect that this issue is somewhat related to the changes in the walking behaviour and Tribler might have trouble finding sufficient relay nodes (also see https://github.com/Tribler/tribler/issues/4171#issuecomment-462126131). However, I'm not fully confident about the exact root cause of this yet.

@synctext The application tester is already testing whether anonymous downloading works on the testnet. We could also run the application tester on the mainnet (although this would slightly pollute our data). Another option is to devise a very lightweight Jenkins job that runs every hour and attempts to establish some circuits with exit nodes on the mainnet, with varying number of hops. This job fails (and notifies us) when it cannot create circuits within a reasonable time.

qstokkink commented 5 years ago

I suspect that this issue is somewhat related to the changes in the walking behaviour

This also happens with 1 hop circuits.

synctext commented 5 years ago

Solid stress testing with mainnet before release sounds good.

qstokkink commented 5 years ago

When scrolling through the issues, we may have actually already detected this before: #4089

synctext commented 5 years ago

OK, moving to that 2018 issue; #4089.