rakshasa / rtorrent

rTorrent BitTorrent client
https://github.com/rakshasa/rtorrent/wiki
GNU General Public License v2.0
4.19k stars 415 forks source link

rtorrent has no bt traffic. #1027

Closed QTXLG closed 4 years ago

QTXLG commented 4 years ago

CPU: armv5el OS: Debian official rtorrent: 0.9.7 debian official packages

Before I installed official Debian onto this device, it had been running rtorrent well with factory OS for several years. So the hardware which only has 512 ram couldn't be the cause.
I put my settings.rc to another device, raspberrypi (official raspian & raspian package)and it worked well even with the gateway blocking its port. I also installed transmission on this device, it is able to work. My gateway can't be the cause.

All the torrents are private torrent and all of them show green in rutorrent webfront. I checked my status showed by tracker websites and conclude that "announce" to tracker works. But rtorrent can't upload or download. If protocol.encryption is turned on, there is no peer showed (nearly a hundred seeds).If off, as few as two peers are showed but no traffic and all of them disappear later.

Below is part of debug log (protocol.encryption.set = allow_incoming,try_outgoing,enable_retry)

tracker_list: sending 'updated (group:9 url......) tracker_list: received 87 peers(url...) handshake_manager->xxx.xxx.xxx.xxx Adding outcoming connection: encryption:c message:3. handshake_manager->xxx.xxx.xxx.xxx: Received error: message:7 network error.

If protocol.encryption.set = require,require_RC4, I noticed there is "invalid encryption method" in the log. Do all the peers turn off RC4?

What I have tried

All above couldn't help

rtorrent started by systemd with "limitnofile" 65536 in [service] my rtorrent.rc

encoding.add = utf8 system.daemon.set = true session.path.set = /home/qtxlg/.rtorrent/.session session.use_lock.set = 1 session.on_completion.set = 1 schedule2 = session_save, 1200, 3600, ((session.save)) directory.default.set = /home/qtxlg/downloads network.port_range.set = 20000-20000 network.port_random.set = no network.scgi.open_port = 127.0.0.1:5000 protocol.encryption.set = require,require_RC4 system.umask.set = 0027 dht.mode.set = disable protocol.pex.set = no dht_port = 6881 throttle.global_down.max_rate.set_kb = 0 throttle.global_up.max_rate.set_kb = 0 throttle.max_downloads.global.set = 50 throttle.max_uploads.global.set = 100 throttle.min_peers.normal.set = 50 throttle.max_peers.normal.set = 200 throttle.min_peers.seed.set = 0 throttle.max_peers.seed.set = 100 throttle.max_downloads.set = 25 throttle.max_uploads.set = 50 trackers.numwant.set = 100 pieces.memory.max.set = 384M network.max_open_sockets.set = 128 network.http.max_open.set = 32 network.max_open_files.set = 512 network.receive_buffer.size.set = 2M network.send_buffer.size.set = 4M pieces.preload.type.set = 2 network.http.ssl_verify_host.set = 1 network.http.ssl_verify_peer.set = 0 trackers.use_udp.set = yes network.http.dns_cache_timeout.set = 25 network.xmlrpc.size_limit.set = 2M system.file.allocate.set = 0 check_hash = no pieces.sync.always_safe.set = 1 system.file.max_size.set = -1 ipv4_filter.add_address = xxx.xxx.xxx.xxx/24, unwanted

kannibalox commented 4 years ago

Are you able to reproduce it with a minimal config? i.e. no rutorrent and something without throttle.global_down.max_rate.set_kb = 0?

pyroscope commented 4 years ago

For starters, remove that blindfold you put on named "daemon mode", so you can actually see what is going on.

QTXLG commented 4 years ago

For starters, remove that blindfold you put on named "daemon mode", so you can actually see what is going on.

Are you able to reproduce it with a minimal config? i.e. no rutorrent and something without throttle.global_down.max_rate.set_kb = 0?

I have compiled the version 0.9.8 by myself and this issue disappears. It is likely needed to be reported to package maintainer.