barbequesauce / Watcher3

Fork of nosmokingbandit/Watcher3 as the original seems inactive. PRs welcome, support is community based.
Other
69 stars 19 forks source link

rTorrent 0.9.8 RPC break issues (was: Watcher quit downloading within the last week or two of updates) #127

Open gitdeath opened 4 years ago

gitdeath commented 4 years ago

Describe the bug At first it wasn't even searching and through the logs I found that idna wasn't found. I installed "idna"via pip3 install idna this fixed searching, but still won't download anything.

To Reproduce Steps to reproduce the behavior:

  1. Manual or automatic download

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem. image

Desktop (please complete the following information):

Additional context xmlrpc.client.Fault: <Fault -506: "Method 'load_start' not defined"> raise Fault(**self._stack[0]) File "/usr/lib/python3.7/xmlrpc/client.py", line 656, in close return u.close() File "/usr/lib/python3.7/xmlrpc/client.py", line 1342, in parse_response return self.parse_response(resp) File "/usr/lib/python3.7/xmlrpc/client.py", line 1170, in single_request return self.single_request(host, handler, request_body, verbose) File "/usr/lib/python3.7/xmlrpc/client.py", line 1154, in request verbose=self.__verbose File "/usr/lib/python3.7/xmlrpc/client.py", line 1452, in __request return self.__send(self.__name, args) File "/usr/lib/python3.7/xmlrpc/client.py", line 1112, in __call__ client.load_start(data['torrentfile']) File "/opt/Watcher/app/core/downloaders/rTorrentHTTP.py", line 76, in add_torrent Traceback (most recent call last): ERROR [2020-02-23 19:48:50,185] core.downloaders.rTorrentHTTP.add_torrent.92: Unable to send torrent to rTorrent HTTP http.client.CannotSendRequest: Request-sent raise CannotSendRequest(self.__state) File "/usr/lib/python3.7/http/client.py", line 1108, in putrequest connection.putrequest("POST", handler, skip_accept_encoding=True) File "/usr/lib/python3.7/xmlrpc/client.py", line 1272, in send_request http_conn = self.send_request(host, handler, request_body, verbose) File "/usr/lib/python3.7/xmlrpc/client.py", line 1166, in single_request return self.single_request(host, handler, request_body, verbose) File "/usr/lib/python3.7/xmlrpc/client.py", line 1154, in request verbose=self.__verbose File "/usr/lib/python3.7/xmlrpc/client.py", line 1452, in __request return self.__send(self.__name, args) File "/usr/lib/python3.7/xmlrpc/client.py", line 1112, in __call__ client.load_start(data['torrentfile']) File "/opt/Watcher/app/core/downloaders/rTorrentHTTP.py", line 76, in add_torrent Traceback (most recent call last): ERROR [2020-02-23 19:48:50,079] core.downloaders.rTorrentHTTP.add_torrent.92: Unable to send torrent to rTorrent HTTP INFO [2020-02-23 19:48:50,078] core.downloaders.rTorrentHTTP.add_torrent.61: Sending torrent Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.H264.AAC-RARBG to rTorrent HTTP RPC Plugin. INFO [2020-02-23 19:48:50,078] core.snatcher.snatch_torrent.258: Sending magnet to rTorrentHTTP INFO [2020-02-23 19:48:50,077] core.snatcher.download.164: Sending Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.H264.AAC-RARBG to download client. INFO [2020-02-23 19:48:50,065] core.downloaders.rTorrentHTTP.add_torrent.61: Sending torrent Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.x264-PSYCHD to rTorrent HTTP RPC Plugin. INFO [2020-02-23 19:48:50,064] core.snatcher.snatch_torrent.258: Sending magnet to rTorrentHTTP INFO [2020-02-23 19:48:50,062] core.snatcher.download.164: Sending Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.x264-PSYCHD to download client.

barbequesauce commented 4 years ago

That log entry is pointing to what sounds like version mismatches on installed modules. Can you run these commands and paste the output back please?

python3 -V
pip3 freeze

Also - what version of rTorrent are you using? Did that get updated recently by chance?

Here's a cleaned-up view of the log, if anyone is trying to follow along at home. It seems to be an upside down version of the log, most recent line first.

xmlrpc.client.Fault: <Fault -506: "Method 'load_start' not defined"> raise Fault(**self._stack[0]) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 656, in close return u.close() 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1342, in parse_response return self.parse_response(resp) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1170, in single_request return self.single_request(host, handler, request_body, verbose) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1154, in request verbose=self.__verbose 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1452, in __request return self.__send(self.__name, args) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1112, in __call__ client.load_start(data['torrentfile']) 
File "/opt/Watcher/app/core/downloaders/rTorrentHTTP.py", line 76, in add_torrent 
Traceback (most recent call last): 
ERROR [2020-02-23 19:48:50,185] core.downloaders.rTorrentHTTP.add_torrent.92: Unable to send torrent to rTorrent HTTP http.client.CannotSendRequest: Request-sent raise CannotSendRequest(self.__state) 
File "/usr/lib/python3.7/http/client.py", line 1108, in putrequest connection.putrequest("POST", handler, skip_accept_encoding=True) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1272, in send_request http_conn = self.send_request(host, handler, request_body, verbose) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1166, in single_request return self.single_request(host, handler, request_body, verbose) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1154, in request verbose=self.__verbose 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1452, in __request return self.__send(self.__name, args) 
File "/usr/lib/python3.7/xmlrpc/client.py", line 1112, in __call__ client.load_start(data['torrentfile']) 
File "/opt/Watcher/app/core/downloaders/rTorrentHTTP.py", line 76, in add_torrent 
Traceback (most recent call last): 
ERROR [2020-02-23 19:48:50,079] core.downloaders.rTorrentHTTP.add_torrent.92: Unable to send torrent to rTorrent HTTP 
INFO [2020-02-23 19:48:50,078] core.downloaders.rTorrentHTTP.add_torrent.61: Sending torrent Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.H264.AAC-RARBG to rTorrent HTTP RPC Plugin. 
INFO [2020-02-23 19:48:50,078] core.snatcher.snatch_torrent.258: Sending magnet to rTorrentHTTP 
INFO [2020-02-23 19:48:50,077] core.snatcher.download.164: Sending Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.H264.AAC-RARBG to download client. 
INFO [2020-02-23 19:48:50,065] core.downloaders.rTorrentHTTP.add_torrent.61: Sending torrent Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.x264-PSYCHD to rTorrent HTTP RPC Plugin. 
INFO [2020-02-23 19:48:50,064] core.snatcher.snatch_torrent.258: Sending magnet to rTorrentHTTP 
INFO [2020-02-23 19:48:50,062] core.snatcher.download.164: Sending Lilo.and.Stitch.2.Stitch.Has.a.Glitch.2005.1080p.BluRay.x264-PSYCHD to download client.
gitdeath commented 4 years ago

"pip3 freeze" froze everything.. I did pip3 install freeze and restarted watcher..

No change in rTorrent (version 98 I think.. i'll look)

appdirs==1.4.3 asn1crypto==0.24.0 beautifulsoup4==4.7.1 cffi==1.14.0 chardet==3.0.4 Cheetah3==3.2.4 cryptography==2.8 distlib==0.3.0 entrypoints==0.3 filelock==3.0.12 freeze==1.0.10 html5lib==1.0.1 idna==2.9 importlib-metadata==1.5.0 keyring==17.1.1 keyrings.alt==3.1.1 lxml==4.3.2 ndg-httpsclient==0.5.1 pyasn1==0.4.8 pycparser==2.19 pycrypto==2.6.1 PyGObject==3.30.4 pyOpenSSL==19.1.0 python-Levenshtein==0.12.0 pyxdg==0.25 regex==2020.2.20 scandir==1.10.0 SecretStorage==2.3.1 six==1.12.0 soupsieve==1.8 virtualenv==20.0.5 webencodings==0.5.1 zipp==3.0.0

Python 3.7.3

Error post install of freeze and restart

`xmlrpc.client.Fault: <Fault -506: "Method 'load_start' not defined"> raise Fault(**self._stack[0])

File "/usr/lib/python3.7/xmlrpc/client.py", line 656, in close return u.close()

File "/usr/lib/python3.7/xmlrpc/client.py", line 1342, in parse_response return self.parse_response(resp)

File "/usr/lib/python3.7/xmlrpc/client.py", line 1170, in single_request return self.single_request(host, handler, request_body, verbose)

File "/usr/lib/python3.7/xmlrpc/client.py", line 1154, in request verbose=self.__verbose

File "/usr/lib/python3.7/xmlrpc/client.py", line 1452, in request return self.send(self.__name, args)

File "/usr/lib/python3.7/xmlrpc/client.py", line 1112, in call client.load_start(data['torrentfile'])

File "/opt/Watcher/app/core/downloaders/rTorrentHTTP.py", line 76, in add_torrent Traceback (most recent call last):

ERROR [2020-02-24 13:46:20,728] core.downloaders.rTorrentHTTP.add_torrent.92: Unable to send torrent to rTorrent HTTP

INFO [2020-02-24 13:46:20,446] core.downloaders.rTorrentHTTP.add_torrent.61: Sending torrent Leroy.and.Stitch.2006.1080p.WEB-DL.DD5.1.H264-TrollHD to rTorrent HTTP RPC Plugin.

INFO [2020-02-24 13:46:20,445] core.snatcher.snatch_torrent.258: Sending magnet to rTorrentHTTP

INFO [2020-02-24 13:46:20,444] core.snatcher.download.164: Sending Leroy.and.Stitch.2006.1080p.WEB-DL.DD5.1.H264-TrollHD to download client.`

barbequesauce commented 4 years ago

If pip3 freeze froze the machine, I suspect you have additional concerns.... that's an internal command to pip to produce a list of what modules are installed.

That said, I see a lot of issues out there around rTorrent 0.9.7 and 0.9.8 with this error message - "Method 'load_start' not defined" - sounds like there was an API change somewhere along the line. I need to do a bit of research.

barbequesauce commented 4 years ago

I think that PR will fix it - please pull & test...

gitdeath commented 4 years ago

Produces a new set of errors.


INFO [2020-02-24 17:20:05,429] core.ajax.get_log_text.569: Dumping log file log.txt to text.
xmlrpc.client.Fault: <Fault -501: 'Could not find info-hash.'>
raise Fault(**self._stack[0])

File "/usr/lib/python3.7/xmlrpc/client.py", line 656, in close
return u.close()

File "/usr/lib/python3.7/xmlrpc/client.py", line 1342, in parse_response
return self.parse_response(resp)

File "/usr/lib/python3.7/xmlrpc/client.py", line 1170, in single_request
return self.single_request(host, handler, request_body, verbose)

File "/usr/lib/python3.7/xmlrpc/client.py", line 1154, in request
verbose=self.__verbose

File "/usr/lib/python3.7/xmlrpc/client.py", line 1452, in __request
return self.__send(self.__name, args)

File "/usr/lib/python3.7/xmlrpc/client.py", line 1112, in __call__
client.load.start(data['torrentfile'])

File "/opt/Watcher/app/core/downloaders/rTorrentHTTP.py", line 76, in add_torrent
Traceback (most recent call last):

ERROR [2020-02-24 17:19:59,497] core.downloaders.rTorrentHTTP.add_torrent.92: Unable to send torrent to rTorrent HTTP

INFO [2020-02-24 17:19:59,129] core.downloaders.rTorrentHTTP.test_connection.22: Testing connection to rTorrent HTTP RPC plugin.

INFO [2020-02-24 17:19:59,129] core.downloaders.rTorrentHTTP.add_torrent.61: Sending torrent Leroy.and.Stitch.2006.1080p.WEB-DL.DD5.1.H264-TrollHD to rTorrent HTTP RPC Plugin.

INFO [2020-02-24 17:19:59,129] core.snatcher.snatch_torrent.258: Sending magnet to rTorrentHTTP
INFO [2020-02-24 17:19:59,128] core.snatcher.download.164: Sending Leroy.and.Stitch.2006.1080p.WEB-DL.DD5.1.H264-TrollHD to download client.
gitdeath commented 4 years ago

the froze the machine thing.. I meant it just sat there until I ctrl-c which produced a ton of errors.. after pip3 install freeze it worked fine.

barbequesauce commented 4 years ago

OK that nails it - the rTorrent API had a pile of major changes in 0.9.7 which deprecated the calls Watcher uses. That said, the changes are not backwards-compatible, which means the rTorrent interface needs to be rebuilt from ground-up to support 0.9.8+.

Luckily, the Mylar team already has a technique that should help me get through the rewrite pretty quickly (in open-source terms)... hopefully beginning of next week.

However, if you have spare cycles and are comfortable coding, I can point to the Mylar approach and you could take a stab at it?

gitdeath commented 4 years ago

I am not super good at coding. I could likely hack together the mylar approach into something that works, but it wouldn't be very clean.

izanagi1995 commented 4 years ago

Hey @barbequesauce any update on this ? Thanks !

barbequesauce commented 4 years ago
Life....uh.... got in the way

New job and homeschooling have derailed me for the last few months...its still on my priority list, just preempted by a few things...

izanagi1995 commented 4 years ago

Oh, it's OK ! Thanks for the great work so far ! If you need any help, just tell me. No time to code for now but I can help extracting code from Mylar codebase for example

barbequesauce commented 3 years ago

Fixed with last commit

barbequesauce commented 3 years ago

Silly question - what happens when you click the "test connection" button?