qbittorrent / qBittorrent

qBittorrent BitTorrent client
https://www.qbittorrent.org
Other
28.32k stars 3.98k forks source link

[v3.3.8/v3.3.9] UDP trackers/DHT/PeX no longer working #6061

Closed merinoam closed 6 years ago

merinoam commented 7 years ago

Yesterday I updated from v3.3.7 to v3.3.8 and then v3.3.9. No torrents from public trackers would download. UDP trackers were not working and it couldn't find any peers through DHT/PeX/LSD. I figured out that torrents from private trackers worked fine, and I think it's because they used http trackers.

Today I reverted to v3.3.7. and now the UDP trackers are connecting again to a ton of peers, and I'm getting lots of connections through DHT and PeX.

I then tried going back up to v3.3.8, and the problem resumed, so went back to v3.3.7 again.

Current working setup: qBittorrent: v3.3.7 Qt: 5.7.0 libtorrent: 1.0.10.0 boost: 1.61.0 OS version: Windows 7 Home Premium, SP1

I didn't think to check the libraries when I had v3.3.8 or v3.3.9 installed, but it's whatever comes packaged with the official windows installer.

sledgehammer999 commented 7 years ago

Can you install v3.3.9 and post the log?

Faq commented 7 years ago

Check with 3.3.10

merinoam commented 7 years ago

Same problem on v3.3.10. (Qt: 5.7.1 libtorrent: 1.0.10.0 boost: 1.62.0)

Log below:

12/19/2016 9:35 AM - External IP: 190.57.140.69 12/19/2016 9:35 AM - qBittorrent failed listening on interface 0.0.0.0 port: UDP/65000. Reason: Only one usage of each socket address (protocol/network address/port) is normally permitted. 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface :: port: TCP/65000 12/19/2016 9:35 AM - qBittorrent failed listening on interface 0.0.0.0 port: TCP/65000. Reason: Only one usage of each socket address (protocol/network address/port) is normally permitted. 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: UDP/60133 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface :: port: TCP/60133 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: TCP/60133 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: UDP/60133 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface :: port: TCP_SSL/4433 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface :: port: TCP/60133 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: TCP_SSL/4433 12/19/2016 9:35 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: TCP/60133 12/19/2016 9:35 AM - Options were saved successfully. 12/19/2016 9:35 AM - GeoIP database loaded. Type: GeoLite2-Country. Build time: Wed Dec 7 15:32:05 2016. 12/19/2016 9:35 AM - Unable to resume torrent '8b75dca5e90b75c361616be428a32d7aa6aa3226'. 12/19/2016 9:35 AM - Embedded Tracker [OFF] 12/19/2016 9:35 AM - Encryption support [ON] 12/19/2016 9:35 AM - Anonymous mode [OFF] 12/19/2016 9:35 AM - PeX support [ON] 12/19/2016 9:35 AM - Local Peer Discovery support [ON] 12/19/2016 9:35 AM - DHT support [ON] 12/19/2016 9:35 AM - HTTP User-Agent is 'qBittorrent v3.3.10' 12/19/2016 9:35 AM - Peer ID: -qB33A0- 12/19/2016 9:35 AM - qBittorrent failed to listen on any interface port: 65000. Reason: Only one usage of each socket address (protocol/network address/port) is normally permitted. 12/19/2016 9:35 AM - qBittorrent is trying to listen on any interface port: 65000 12/19/2016 9:35 AM - qBittorrent v3.3.10 started

txtsd commented 7 years ago

@merinoam Please censor/edit out those torrent names.

dagaz commented 7 years ago

I have the same problems here with Linux (Arch x64).

With 3.3.10-1 the following Trackers do not work (TPB-standard):

udp://tracker.leechers-paradise.org:6969 udp://tracker.coppersurfer.tk:6969 udp://public.popcorn-tracker.org:6969 udp://zer0day.ch:1337

It helps to add a list of different trackers. These trackers are working:

http://tracker.dler.org:6969/announce http://tracker1.wasabii.com.tw:6969/announce http://tracker2.wasabii.com.tw:6969/announce http://explodie.org:6969/announce http://87.248.186.252:8080/announce http://p4p.arenabg.com:1337/announce http://torrentsmd.com:8080/announce http://tracker.vanitycore.co:6969/announce http://tracker.opentrackr.org:1337/announce http://ipv4.tracker.harry.lu:80/announce http://tracker.filetracker.pl:8089/announce http://tracker.grepler.com:6969/announce http://tracker.tordb.ml:6881/announce http://0123456789nonexistent.com/announce http://mgtracker.org:2710/announce http://tracker.mg64.net:6881/announce

But sometime it differs which trackers are working from torrent to torrent.

When I downgrade to 3.3.7 everything works fine again (especially the Trackers from TPB).

The Logfile is:

04.01.17 18:18 - Externe IP: 94.242.255.62 04.01.17 18:18 - '[TORREN NAME].mp4' fortgesetzt. (Schnelles Fortsetzen) 04.01.17 18:18 - qBittorrent lauscht erfolgreich auf Interface 192.168.179.21 Port TCP/58299 04.01.17 18:18 - qBittorrent lauscht erfolgreich auf Interface 0.0.0.0 Port UDP/10021 04.01.17 18:18 - qBittorrent lauscht erfolgreich auf Interface 0.0.0.0 Port TCP/10021 04.01.17 18:18 - qBittorrent lauscht erfolgreich auf Interface :: Port TCP/10021 04.01.17 18:18 - Einstellungen wurden erfolgreich gespeichert. 04.01.17 18:18 - Das Webinterface lauscht auf Port 62012 04.01.17 18:18 - GeoIP-Datenbank geladen. Typ: GeoLite2-Country. Erstellungsdatum: Mi. Dez. 7 21:32:05 2016. 04.01.17 18:18 - Eingebetteter Tracker [AUS] 04.01.17 18:18 - Verschlüsselungsunterstützung [ERZWUNGEN] 04.01.17 18:18 - Anonymer Modus [AUS] 04.01.17 18:18 - PeX support [EIN] 04.01.17 18:18 - Lokale Peers (LPD) finden [AUS] 04.01.17 18:18 - DHT-Unterstützung [EIN] 04.01.17 18:18 - HTTP User-Agent is 'qBittorrent v3.3.10' 04.01.17 18:18 - Peer ID: -qB33A0- 04.01.17 18:18 - qBittorrent versucht auf allen beliebigen Ports zu lauschen: 10021 04.01.17 18:18 - qBittorrent v3.3.10 gestartet

Seeker2 commented 7 years ago

TO: merinoam, Do you have UPnP enabled in qBitTorrent? If so, it sounds like you might have this problem: Router ports not removed after QBT upgrade https://github.com/qbittorrent/qBittorrent/issues/5695

TO: merinoam and dagaz, There's also a possibility you're seeing the wrong port mapping issue I've found: https://qbforums.shiki.hu/index.php/topic,3982.msg23615.html#msg23615 (for qBT 3.3.7) https://qbforums.shiki.hu/index.php/topic,3982.msg24170.html#msg24170 (for qBT 3.3.10) Where on qBT startup, incorrectly listens on the WRONG port!

merinoam commented 7 years ago

I don't have UPnP enabled and I'm sure this is not being caused by an issue with the listening port.

The reason is that my ISP has me behind a double-NAT, so I can't get "connectable" no matter what I do. However, I've always been able to connect to trackers and make outbound connections anyway until v3.3.8. Therefore, this can't have anything to do with the listening port.

dagaz commented 7 years ago

I don't habe UPnP enabled, too. My connection ist via VPN (tun-device). Port forwarding is enabled. Also: the difference between "it works" and "it don't works" is the program version. I did not change any configuration.

okeatime commented 7 years ago

@dagaz Library versions?

If your libtorrent is 1.1.x try https://github.com/qbittorrent/qBittorrent/issues/5548#issuecomment-269137273

PaulFridrick commented 7 years ago

Hello, I also have problems with UDP trackers, but only when using a SOCKS 5 proxy : if I disable the proxy and restart qbittorrent I can use UDP trackers. My SOCKS 5 proxy seems to work correctly (I can use HTTP trackers for example).

Current setup: qbittorrent 3.3.10 libtorrent-rasterbar 1.1.1

@okeatime I will try to downgrade libtorrent-rasterbar to the last 1.0.x version to see if it resolves the issue.

dagaz commented 7 years ago

@okeatime Thanks, that works. Yes it was libtorrent-rasterbar 1.1.1-5. And the soloution with 1.0.x git-version works.

But that left still a bug in libtorrent-rasterbar 1.1.x open. (Also i would prefer the official packages, because of the much faster updates ;))

okeatime commented 7 years ago

@PaulFridrick That may be already fixed by https://github.com/arvidn/libtorrent/commit/ad7e796d05fd9d682c812e43127d7cb2071df057.

You can try building latest RC_1_1 branch from the source. https://github.com/qbittorrent/qBittorrent/wiki/Compiling-qBittorrent-on-Debian-and-Ubuntu

I tried Arch Linux and Ubuntu, building qbt is surprisingly easy.

@dagaz

Also i would prefer the official packages, because of the much faster updates

In that case you can build from the source.

okeatime commented 7 years ago

@merinoam I am wondering why your qbt tried to use two ports (65000, 60133) and failed to open 65000. Any idea?

merinoam commented 7 years ago

@okeatime I have no idea. Listening port is set to 65000 in options. I don't know where 60133 comes from.

Here's another log from today (running v3.3.7, which works fine). It's also opening other ports.

1/7/2017 10:01 AM - qBittorrent v3.3.7 started 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: UDP/51456 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface :: port: TCP/51456 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: TCP/51456 1/7/2017 10:01 AM - qBittorrent failed listening on interface 0.0.0.0 port: UDP/65000. Reason: Only one usage of each socket address (protocol/network address/port) is normally permitted. 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface :: port: TCP_SSL/4433 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface :: port: TCP/65000 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: TCP_SSL/4433 1/7/2017 10:01 AM - qBittorrent failed listening on interface 0.0.0.0 port: TCP/65000. Reason: Only one usage of each socket address (protocol/network address/port) is normally permitted. 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: UDP/51453 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface :: port: TCP_SSL/4433 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface :: port: TCP/51453 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: TCP_SSL/4433 1/7/2017 10:01 AM - qBittorrent is successfully listening on interface 0.0.0.0 port: TCP/51453 1/7/2017 10:01 AM - Options were saved successfully. 1/7/2017 10:01 AM - GeoIP database loaded. Type: GeoLite2-Country. Build time: Tue Jan 3 20:59:05 2017. 1/7/2017 10:01 AM - Embedded Tracker [OFF] 1/7/2017 10:01 AM - Encryption support [ON] 1/7/2017 10:01 AM - Local Peer Discovery support [ON] 1/7/2017 10:01 AM - PeX support [ON] 1/7/2017 10:01 AM - DHT support [ON] 1/7/2017 10:01 AM - Anonymous mode [OFF] 1/7/2017 10:01 AM - HTTP User-Agent is 'qBittorrent v3.3.7' 1/7/2017 10:01 AM - qBittorrent failed to listen on any interface port: 65000. Reason: Only one usage of each socket address (protocol/network address/port) is normally permitted. 1/7/2017 10:01 AM - qBittorrent is trying to listen on any interface port: 65000 1/7/2017 10:01 AM - Peer ID: -qB3370- 1/7/2017 10:01 AM - qBittorrent is trying to listen on any interface port: 65000

okeatime commented 7 years ago

@merinoam Please check what program already uses port 65000.

Possibly a Trojan horse? http://www.speedguide.net/port.php?port=65000

merinoam commented 7 years ago

@okeatime I found something that was using that port, so I changed it to 65001 in qBT and no longer get that error. But it's irrelevant for 2 reasons:

  1. I'm behind a double NAT so I can't accept incoming connections anyway, yet I can make outbound connections to trackers and peers in v3.3.7 but not v3.3.8-v3.3.10.

  2. I was still able to connect to torrents with the port set to 65000 in v3.3.7 but not v3.3.8-v3.3.10. It's the program, not the port.

okeatime commented 7 years ago

@sledgehammer999 hmm This means libtorrent: 1.0.10+gita166c3f70921 has a UDP hole punching problem, doesn't it?

@merinoam Which you do use, 32bit or 64bit? Can you check this happens in both versions?

WalrusInAnus commented 7 years ago

Hmm I have the same problem. I'm sure UDP trackers worked in past, but I can't pinpoint it to anything. I have QB set to port 60000 for incoming connections and 60001 for outgoing in advanced options. uPnP is disabled. And yet, the log says 5.2.2017 15:51 - qBittorrent is successfully listening on interface 192.168.1.10 port: TCP/60000 5.2.2017 15:51 - qBittorrent is successfully listening on interface 192.168.1.10 port: TCP_SSL/4433 5.2.2017 15:51 - qBittorrent is successfully listening on interface 192.168.1.10 port: UDP/60000 5.2.2017 15:51 - qBittorrent is successfully listening on interface 192.168.1.10 port: TCP/60000 5.2.2017 15:51 - qBittorrent failed listening on interface 192.168.1.10 port: UDP/60000. Reason: Only one usage of each socket address (protocol/network address/port) is normally permitted.

sledgehammer999 commented 7 years ago

Can you guys test the following 2 builds contained in the archive? Both are based on v3.3.10. But one is build against the libtorrent version used in v3.3.7 and the other one on the latest 1.0.11 version. Can you report if any of those work for you?

Link: http://builds.shiki.hu/temp/qbittorrent_3.3.10_for_issue_6061.7z

WalrusInAnus commented 7 years ago

I don't know what's up. I restarted Qb (it typically runs for a few days straight) and now everything works. The log is clean.

6.2.2017 8:29 - qBittorrent is successfully listening on interface 192.168.1.10 port: TCP/60000 6.2.2017 8:29 - qBittorrent is successfully listening on interface 192.168.1.10 port: UDP/60000 6.2.2017 8:29 - qBittorrent is successfully listening on interface 192.168.1.10 port: TCP/60000 6.2.2017 8:29 - qBittorrent is successfully listening on interface 192.168.1.10 port: UDP/60000 6.2.2017 8:29 - qBittorrent is successfully listening on interface 192.168.1.10 port: TCP_SSL/4433

That's still the original version btw.

I don't normally come across upd trackers very often so I have no idea what the whole thing was. I do know for a fact that it was not a port usage conflict though.

merinoam commented 7 years ago

@okeatime @sledgehammer999 Hey guys, sorry for the delay. I just tested all 4 versions you guys asked for:

  1. v3.3.10, 32-bit
  2. v3.3.10, 64-bit
  3. sledgehammer build 1 (qbittorrent_3.3.10_libtorrent_1.0.11.exe)
  4. sledgehammer build 2 (qbittorrent_3.3.10_libtorrent_1.0.10_with_45cff5837f7b4af_reverted.exe)

All of them have the exact same problem, except for no. 4 which gave me an error and failed to run. ("Windows cannot access the specified device, path, or file. You may not have the appropriate permissions to access them.")

I tried re-downloading it, same thing.

All variants of v3.3.10 that I've tried (plus v3.3.8 and v3.3.9) have the same problem, so I've reverted back to v3.3.7 again.

ngosang commented 6 years ago

We are closing all issues related to old qBittorrent versions (qBittorrent < 4.1.0). Please, update to last release and, if the bug/error/crash is still present, open another issue. Thank you.