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

rtorrent 0.9.4-1: XMLRPC stopped working #205

Closed
Sergeanter opened this issue May 27, 2014 · 11 comments
Closed

rtorrent 0.9.4-1: XMLRPC stopped working #205

Sergeanter opened this issue May 27, 2014 · 11 comments

Comments

@Sergeanter
Copy link

Package: rtorrent 0.9.4-1 , libtorrent 0.13.4-1
Architecture: ARM5
Device: Pogoplug V4

What it isn't doing: RPC access via fscgi / XMLRPC stopped working after upgrade from 0.9.3 to 0.9.4, xmlrpc utility on client machine with properly configured lighttpd does not list any available methods

What it should be doing: report "The SCGI socket is bound to a specific network device yet may still pose a security risk, consider using 'scgi_local'." at start up of rtorrent , it does not

Steps to reproduce:
Configure rtorrent on server side and lighttpd on client side according to the guide here:
https://wiki.archlinux.org/index.php/Rutorrent_with_lighttpd#Test
Start rtorrent on server side. SCGI socket opening message does not show up.
Run the test on the client side as following:
$ xmlrpc ServerAddressHere system.listMethods
Instead of returning the list of methods , http error 500 is reported.
Roll back to rtorrent-0.9.3-2 and libtorrent-0.13.3-2.1-arm.pkg.tar.xz fixes the issue.

@rakshasa
Copy link
Owner

Does it report something else, e.g. that scgi_port command was not found?

@Sergeanter
Copy link
Author

To be honest , I would not know where to look for it. I was just checking messages appearing in console.
Port is configured properly , and after roll back to 0.9.3 it works without any changes to config files either on server or client side. I went through upgrade/downgrade three times with the same result. I posted the same issue on Archlinux for ARM github. According to maintainers there was nothing special about the make of the package on this platform. Would you like me to check for something specific?

@napopa
Copy link

napopa commented May 28, 2014

I have installed the new version, the one restoring scgi_port and scgi_local, but still I observed the same problems reported by OP. I'm using Rutorrent as a gui, and patched the rutorrent files using the .sed file provided in the script folder: no luck, xmlrpc not found and error 500.
Rolling back to 0.9.3.

@rakshasa
Copy link
Owner

# Instrumentation (rpc, data dump excluded)

log.open_file = "rpc.log", (cat,/tmp/rpc.log.,(system.pid))
log.add_output = "rpc_events", "rpc.log"

log.open_file = "rpc_dump.log", (cat,/tmp/rpc_dump.log.,(system.pid))
log.add_output = "rpc_dump", "rpc_dump.log"

Add the above to rtorrent.rc, mainly to see if rpc_dump.log contains anything interesting.

@giselher
Copy link

I have the same symptoms and added those lines to my config file but the files are empty.
EDIT: Sorry It was just firefox fucking it up.

@aut0
Copy link

aut0 commented Sep 20, 2014

RPC doesn't work for me either.

rtorrent 0.9.4-1
libtorrent 0.13.4.1
on arch linux

I tried xmlrpc localhost:5050 system.listMethods
"Failed. Call failed. libcurl failed to execute the HTTP POST transaction, explaining: Empty reply from server. (XML-RPC fault code -504)"

Netstat shows:
tcp 0 0 127.0.0.1:5050 0.0.0.0:* LISTEN 1000 3961324 11394/rtorrent

rpc.log:
1411220032 XMLRPC initialized with 974 functions.
1411220032 The SCGI socket is bound to a specific network device yet may still pose a security risk, consider using 'scgi_local'.

rpc_dump is empty.

.rtorrent.rc :

bind = to vpn  
ip = public ip from vpn
directory = /home/.../torrent/download  
#use_udp_trackers = yes  
dht = off  
#dht_port = 7884  
peer_exchange = yes  
port_range = 7885-7885  
ratio.upload.set=20M  
system.method.set = group.seeding.ratio.command, d.close=, d.erase=  
encryption = allow_incoming,try_outgoing,enable_retry  
schedule = watch_directory,5,5,load_start=/home/.../torrent/*.torrent  
log.open_file = "rtorrent.log", (cat,/tmp/rtorrent.log.,(system.pid))  
log.open_file = "tracker.log", (cat,/tmp/tracker.log.,(system.pid))  
log.add_output = "info", "rtorrent.log"  
log.add_output = "dht_debug", "tracker.log"  
log.add_output = "tracker_debug", "tracker.log"  


log.open_file = "rpc.log", (cat,/tmp/rpc.log.,(system.pid))
log.add_output = "rpc_events", "rpc.log"

log.open_file = "rpc_dump.log", (cat,/tmp/rpc_dump.log.,(system.pid))
log.add_output = "rpc_dump", "rpc_dump.log"

session = ~/torrent/.session  
scgi_port = localhost:5050

@coxley
Copy link

coxley commented Nov 27, 2014

I'm experiencing a similar situation. Running xmlrpc manually works if I don't specify the port, but fails with the same error as @aut0 when specifying.

$ netstat -tulnp | grep rtorrent
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      11296/rtorrent      
tcp        0      0 0.0.0.0:57404           0.0.0.0:*               LISTEN      11296/rtorrent      
udp        0      0 0.0.0.0:6881            0.0.0.0:*                           11296/rtorrent      

$ xmlrpc 127.0.0.1:5000 system.listMethods
Failed.  Call failed.  libcurl failed to execute the HTTP POST transaction, explaining:  Empty reply from server.  (XML-RPC fault code -504)

$ xmlrpc 127.0.0.1 system.listMethods     
Result:

Array of 961 items:
  Index  0 String: 'system.listMethods'
  Index  1 String: 'system.methodExist'
  Index  2 String: 'system.methodHelp'
....

@coxley
Copy link

coxley commented Nov 27, 2014

Scratch what I said above. It took a minute after looking at the log to click that it was using curl, so it's trying to talk HTTP.

Pointed it at localhost/RPC2(where my NGINX scgi bind is) and it gave the same working result. Still having issues with rutorrent with the mointpoint configured properly. Odd.

@Sergeanter
Copy link
Author

Still does not work for me. Log files above come empty, there is no response to xmlrpc utility and one of the 1st lines in the interactive window is "Closed XMLRPC log."
Is it possible that it got compiled without XMLRPC support on this particular platform? It is arm5 under arch linux.

@ghost
Copy link

ghost commented Dec 7, 2019

Having the same issue on ubuntu.

xmlrpc localhost:5000 system.listMethods
Failed.  Call failed.  libcurl failed to execute the HTTP POST transaction, explaining:  Empty reply from server.  (XML-RPC fault code -504)
netstat -tulnp | grep rtorrent
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 0.0.0.0:12990           0.0.0.0:*               LISTEN      25959/rtorrent
tcp        0      0 127.0.0.1:5000          0.0.0.0:*               LISTEN      25959/rtorrent

@rakshasa
Copy link
Owner

rakshasa commented Dec 8, 2019

Closing as this is an ancient issue, if you have the same issue with an up-to-date client create a new issue.

@rakshasa rakshasa closed this as completed Dec 8, 2019
VladislavGrudinin pushed a commit to VladislavGrudinin/rtorrent that referenced this issue Sep 24, 2022
kannibalox pushed a commit to kannibalox/rtorrent that referenced this issue Sep 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants