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

rutorrent: upgrade 3.10 => 4.1.5 #5617

Merged
merged 12 commits into from
May 24, 2023

Conversation

smaarn
Copy link
Contributor

@smaarn smaarn commented Feb 21, 2023

Description

Upgrade rutorrent 3.10 to 4.1.5 + migrated to python 3.11

Checklist

  • Build rule all-supported completed successfully
  • New installation of package completed successfully
  • Package upgrade completed successfully (Manually install the package again)
  • Package functionality was tested

Type of change

  • Package update

Testing

  • Upgrading 3.10 => 4.1.5

Binaries are available here: https://github.com/smaarn/spksrc/releases/tag/rutorrent-4.1.5-rc-1

@smaarn
Copy link
Contributor Author

smaarn commented Feb 21, 2023

Spotted issue: after upgrading from 3.10 to 4.0.2 the below message is shown in the web UI:

[21.02.2023 21:49:19] Le serveur Web ne peut pas accéder au dossier des torrents en Lecture/Écriture/Exécution. Vous ne pouvez pas ajouter de torrents via ruTorrent. (/volume1/web_packages/rutorrent/php/share/torrents)
[21.02.2023 21:49:19] rTorrent ne peut pas accéder au dossier des torrents en Lecture/Écriture. Vous ne pouvez pas ajouter de torrents via ruTorrent. (/volume1/web_packages/rutorrent/php/share/torrents)
[21.02.2023 21:49:19] throttle: Le plugin ne peut pas démarrer pour une raison inconnue.

@mreid-tt
Copy link
Contributor

Hey @smaarn, I was looking at this package for inspiration with more robust UI wizards. I found a logic bug in the install wizard logic which I pushed a commit 7820b1c for you as I'm using the same code in the Transmission 4 package I'm working on.

Regarding the recent conversation on package dependencies, I also noted a few other things:

  1. In the SPK_DEPENDS it lists "PHP7.4" however the resource file has a section for php56. I would recommend removing this section and updating the "webservice/php" section for consistency
  2. In the resource file, the webservice section can be expanded to include the specific service type. For example it currently has "backend": 8 which means "PHP7.4" but doesn't specify the front end as in apache_php or nginx_php

Let me know if you need any assistance. You can probably take a look at the work I'm doing in #5619 for some examples on the resource file if needed.

@smaarn
Copy link
Contributor Author

smaarn commented Mar 18, 2023

Hey @smaarn, I was looking at this package for inspiration with more robust UI wizards. I found a logic bug in the install wizard logic which I pushed a commit 7820b1c for you as I'm using the same code in the Transmission 4 package I'm working on.

Regarding the recent conversation on package dependencies, I also noted a few other things:

In the SPK_DEPENDS it lists "PHP7.4" however the resource file has a section for php56. I would recommend removing this section and updating the "webservice/php" section for consistency
In the resource file, the webservice section can be expanded to include the specific service type. For example it currently has "backend": 8 which means "PHP7.4" but doesn't specify the front end as in apache_php or nginx_php
Let me know if you need any assistance. You can probably take a look at the work I'm doing in #5619 for some examples on the resource file if needed.

Hey @mreid-tt

  • The php56 section was actually a left over from previous installation. Should be removed as it's no longer actually used. I'm still wondering though if there isn't something which should be done for DSM 6 installation.
  • I believe we do specify the type of the backend so I'm not sure what you meant by " doesn't specify the front end as in apache_php or nginx_php".

Issuing an MR to fix the various reported issues, feel free to elaborate on those.

@voidfel
Copy link

voidfel commented Mar 28, 2023

Just wanted to give my thanks for the dedication and hard work to make the v3 upgrade to v4 happen.

@stickz
Copy link

stickz commented Apr 18, 2023

Spotted issue: after upgrading from 3.10 to 4.0.2 the below message is shown in the web UI:

[21.02.2023 21:49:19] Le serveur Web ne peut pas accéder au dossier des torrents en Lecture/Écriture/Exécution. Vous ne pouvez pas ajouter de torrents via ruTorrent. (/volume1/web_packages/rutorrent/php/share/torrents)
[21.02.2023 21:49:19] rTorrent ne peut pas accéder au dossier des torrents en Lecture/Écriture. Vous ne pouvez pas ajouter de torrents via ruTorrent. (/volume1/web_packages/rutorrent/php/share/torrents)
[21.02.2023 21:49:19] throttle: Le plugin ne peut pas démarrer pour une raison inconnue.

Hello, I'm one of the ruTorrent maintainers. The reason for the first two errors is because the $profilePath variable in ${RUTORRENT_WEB_DIR}/conf/config.php needs to be set manually for SynoCommunity in ruTorrent version 4. The third error may correct itself, if you set this variable to ${RUTORRENT_WEB_DIR}/share. ruTorrent will accept an absolute path here.

@smaarn
Copy link
Contributor Author

smaarn commented Apr 20, 2023

Spotted issue: after upgrading from 3.10 to 4.0.2 the below message is shown in the web UI:

[21.02.2023 21:49:19] Le serveur Web ne peut pas accéder au dossier des torrents en Lecture/Écriture/Exécution. Vous ne pouvez pas ajouter de torrents via ruTorrent. (/volume1/web_packages/rutorrent/php/share/torrents)

[21.02.2023 21:49:19] rTorrent ne peut pas accéder au dossier des torrents en Lecture/Écriture. Vous ne pouvez pas ajouter de torrents via ruTorrent. (/volume1/web_packages/rutorrent/php/share/torrents)

[21.02.2023 21:49:19] throttle: Le plugin ne peut pas démarrer pour une raison inconnue.

Hello, I'm one of the ruTorrent maintainers. The reason for the first two errors is because the $profilePath variable in ${RUTORRENT_WEB_DIR}/conf/config.php needs to be set manually for SynoCommunity in ruTorrent version 4. The third error may correct itself, if you set this variable to ${RUTORRENT_WEB_DIR}/share. ruTorrent will accept an absolute path here.

Thanks a lot for the hints!

I must confess I haven't had time to work more on this MR in the past weeks but that's going to help a lot !

Will try having a look this week end / next week.

@stickz
Copy link

stickz commented Apr 20, 2023

Not a problem. Also, ruTorrent v4.0.2 will support up to PHP 8.1. Many users have reported it runs better on the newer version. This is not a requirement though. I think the priority should be getting it working first.

@smaarn smaarn force-pushed the rutorrent/dsm-7/upgrade-to-4 branch from e88bc13 to 1b85026 Compare May 6, 2023 17:15
@smaarn smaarn changed the title [WIP] rutorrent: upgrade 3.10 => 4.0.2 [WIP] rutorrent: upgrade 3.10 => 4.1.5 May 7, 2023
echo ' $throttleMaxSpeed = 327625*1024; // DO NOT EDIT THIS LINE!!! DO NOT COMMENT THIS LINE!!!' >> ${RTORRENT_RC}
echo " // Can't be greater then 327625*1024 due to limitation in libtorrent ResourceManager::set_max_upload_unchoked function." >> ${RTORRENT_RC}
echo " \$al_diagnostic = true; // Diagnose auto-loader. Set to \"false\" to make composer plugins work." >> ${RTORRENT_RC}
echo " \$localHostedMode = false; // Set to true if rTorrent is hosted on the SAME machine as ruTorrent" >> ${RTORRENT_RC}
Copy link

@stickz stickz May 7, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's recommended to change $localHostedMode to true. It will call exec('command -v '.$exe); from PHP when looking for binary paths. This improves loading times by avoiding unnecessary XML requests to rtorrent.

The reason why this optimization is not enabled by default is because some people host ruTorrent on a different machine. It's required to maintain compatibility, so it works out of the box. This doesn't apply here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the catch !

Will be also changing the default value (since this is solely focusing on upgrading 3.10 installations)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be good now, unless I missed something ?

@smaarn smaarn marked this pull request as ready for review May 7, 2023 17:59
@smaarn smaarn requested a review from stickz May 7, 2023 18:04
@smaarn smaarn changed the title [WIP] rutorrent: upgrade 3.10 => 4.1.5 rutorrent: upgrade 3.10 => 4.1.5 May 7, 2023
@voytec13
Copy link

voytec13 commented May 9, 2023

Are there any plans to support nginx as a backend or Apache will remain as hard dependency for rutorrent installation?

@smaarn
Copy link
Contributor Author

smaarn commented May 10, 2023

@mreid-tt thanks for the testing for apache 2.4 nginx but there is one thing which should be taken into account I believe here which is the support for (hypothetical ?) existing user base, whether through documentation or code in case they used apache 2.4 configuration files. I'm not sure I'll have the bandwidth to do this in the coming weeks (but this doesn't mean it can't be done obviously).

With regards to the dependency it's declared here, right ?

https://github.com/SynoCommunity/spksrc/pull/5617/files#diff-048e24d1723dd0a533a9731e59a7352a35010e862588a2c917758c07ca0dcc0eL7

@mreid-tt
Copy link
Contributor

mreid-tt commented May 10, 2023

Ahh, you are correct (I didn't re-run tests for nginx only but was recalling my experience with ownCloud - updated above). Sorry that I missed those SPK_DEPENDS config lines, Apache 2.4 is already listed as a dependency. In that case removing the dependency will require separate testing which I have not done. If the original software author requires Apache (e.g. for specific page rendering) then there's not much to be done.

P.S. Regarding the default web server being nginx, from my testing with ownCloud, regardless of whether Apache is installed or not the actual front-end server seems to be nginx. With Apache installed, nginx receives the request and then passes it onto Apache (again, from my testing with ownCloud) so that Apache specific page processing can occur.

@stickz
Copy link

stickz commented May 11, 2023

I submitted #5727. Waiting for this PR to know which SPK_REV to tag. If anyone wants to test they're more than welcome to. I don't use synology nas products. This is just a small change which other platforms have saw great success with running.

@mreid-tt
Copy link
Contributor

@smaarn, is there anything else required before this is merged?

@smaarn smaarn requested a review from mreid-tt May 17, 2023 19:40
@smaarn
Copy link
Contributor Author

smaarn commented May 17, 2023

@smaarn, is there anything else required before this is merged?

@mreid-tt I was actually expecting waiting for some additional feedbacks from a peer SynoCommunity developer in case I was missing something.

@th0ma7
Copy link
Contributor

th0ma7 commented May 17, 2023

Wonder, while a it do you want to bump to py311? I've started with deluge and other will have to follow eventually...

@smaarn
Copy link
Contributor Author

smaarn commented May 18, 2023

Wonder, while a it do you want to bump to py311? I've started with deluge and other will have to follow eventually...

@th0ma7 will be having a look at it. It seems that python adherence is minimal and I don't see why it wouldn't work. The only concern I could have is that the only used library (cloudscraper) isn't flagged as officially compatible with Python 3.11. To be fair it's not even flagged as compatible with Python 3.10 so it may be a nobrainer :D

@th0ma7
Copy link
Contributor

th0ma7 commented May 18, 2023

Let me know if you need assistance. Ideally it requires minimal changes to your makefile and service-setup script.

@smaarn
Copy link
Contributor Author

smaarn commented May 18, 2023

Let me know if you need assistance. Ideally it requires minimal changes to your makefile and service-setup script.

It was indeed a no-brainer. Done.

@mreid-tt
Copy link
Contributor

It was indeed a no-brainer. Done.

I'll do some testing in DSM 6 and 7 later this evening for my review.

@mreid-tt
Copy link
Contributor

mreid-tt commented May 19, 2023

Not finished with my testing yet but I am unable to load the web interface when I upgrade from the current v3.10-14 on DSM 6.2. I did notice the following oddities during the upgrade:

/var/log/packages/rutorrent.log

2023/05/18 20:16:52	WARNING: The directory '/volume1/@appstore/rutorrent/var/pip-cache' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you should use sudo's -H flag.

/var/packages/rutorrent/var/rtorrent.log

1684455984 W Ignoring rtorrent.rc.

This results in the web interface just stuck on Loading....
Checking into the folder in question I see this:

$ ls -all /var/services/web/rutorrent/conf/
total 36
drwxrwxr-x 1 sc-rutorrent rutorrent  208 May 18 20:16 .
drwxrwxr-x 1 sc-rutorrent rutorrent  226 May 18 12:09 ..
-rw-rw-r-- 1 sc-rutorrent rutorrent  452 May  1 18:51 access.ini
-rw-rw-r-- 1 sc-rutorrent rutorrent  441 May  1 18:51 access_no
-rwxrwxr-x 1 sc-rutorrent rutorrent  522 May  1 18:51 access-swap.sh
-rw-rw-r-- 1 sc-rutorrent rutorrent  453 May  1 18:51 access_yes
-rw-rw-r-- 1 sc-rutorrent rutorrent 3944 May 18 20:15 config.php
-rw-rw-r-- 1 sc-rutorrent rutorrent 3498 May  1 18:51 config.php.orig
-rw-rw-r-- 1 sc-rutorrent rutorrent   19 May  1 18:51 .htaccess
-rw-rw-r-- 1 sc-rutorrent rutorrent  809 Jun 26  2020 plugins.ini
-rw-r--r-- 1 sc-rutorrent rutorrent  514 May 18 20:11 rtorrent.rc
drwxrwxr-x 1 sc-rutorrent rutorrent   20 May  1 18:51 users

So I'm not quite sure why the file is being ignored but I suspect that without it the web interface does not load?

EDIT: I think it was something screwy in my web browser. Did a clean install and the same warnings came up with the web page still not loading. I then opened the browser in a private window and the web interface loaded just fine. Proceeding with other testing.

EDIT: I was able to confirm that both of the above warnings also occur on a clean install of v3.10-14 so nothing unique to this version. After clearing my browser cache and re-doing the same upgrade it was able to load the web interface just fine (despite the warnings). There was one warning in the server log:

[18.05.2023 20:55:20] WebUI started.
[18.05.2023 20:55:21] Bad response from server: (200 [parsererror,getplugins]) ReferenceError: rGraph is not defined

This appeared to be something in the config so I tried opening the settings and this screen failed to show with additional errors in the log:

[18.05.2023 20:56:20] XMLRPC Error: Method 'dht_statistics' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_check_hash' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_bind' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_dht_port' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_directory' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_download_rate' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_hash_interval' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_hash_max_tries' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_hash_read_ahead' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_http_cacert' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_http_capath' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_http_proxy' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_ip' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_downloads_div' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_downloads_global' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_file_size' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_memory_usage' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_open_files' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_open_http' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_peers' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_peers_seed' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_uploads' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_uploads_global' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_min_peers_seed' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_min_peers' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_peer_exchange' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_port_open' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_upload_rate' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_port_random' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_port_range' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_preload_min_size' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_preload_required_rate' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_preload_type' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_proxy_address' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_receive_buffer_size' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_safe_sync' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_scgi_dont_route' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_send_buffer_size' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_session' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_session_lock' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_session_on_completion' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_split_file_size' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_split_suffix' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_timeout_safe_sync' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_timeout_sync' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_tracker_numwant' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_use_udp_trackers' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_uploads_div' not defined [getsettings]
[18.05.2023 20:56:20] XMLRPC Error: Method 'get_max_open_sockets' not defined [getsettings]

Could the new commands in the service_save() be damaging the configuration file?

@mreid-tt
Copy link
Contributor

Further to the above, I re-did a clean install on DSM 6.2 and after the web interface loads, I attempted to open the settings page and the same errors came up in the log:

[18.05.2023 21:05:04] WebUI started.
[18.05.2023 21:05:05] Bad response from server: (200 [parsererror,getplugins]) ReferenceError: rGraph is not defined
[18.05.2023 21:05:22] XMLRPC Error: Method 'dht_statistics' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_check_hash' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_bind' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_dht_port' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_directory' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_download_rate' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_hash_interval' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_hash_max_tries' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_hash_read_ahead' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_http_cacert' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_http_capath' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_http_proxy' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_ip' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_downloads_div' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_downloads_global' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_file_size' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_memory_usage' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_open_files' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_open_http' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_peers' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_peers_seed' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_uploads' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_uploads_global' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_min_peers_seed' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_min_peers' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_peer_exchange' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_port_open' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_upload_rate' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_port_random' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_port_range' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_preload_min_size' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_preload_required_rate' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_preload_type' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_proxy_address' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_receive_buffer_size' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_safe_sync' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_scgi_dont_route' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_send_buffer_size' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_session' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_session_lock' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_session_on_completion' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_split_file_size' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_split_suffix' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_timeout_safe_sync' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_timeout_sync' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_tracker_numwant' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_use_udp_trackers' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_uploads_div' not defined [getsettings]
[18.05.2023 21:05:22] XMLRPC Error: Method 'get_max_open_sockets' not defined [getsettings]

Something about the configuration file is preventing the Settings... button from working and needs to be investigated.

@th0ma7
Copy link
Contributor

th0ma7 commented May 19, 2023

Wonder if this isn't the right time to stop providing dsm6 support when its becoming to much of a hassle to maintain. For instance deluge i dropped dsm6 support as older libtorrent doesn't build anymore with newer boost.

The current rutorrent online version for dsm6 works, then lets keep it that way and only update dsm7 for now on.

Just my two cents...

@mreid-tt
Copy link
Contributor

mreid-tt commented May 19, 2023

Unfortunately the issue is not DSM specific but rather rutorrent version specific. On DSM 7.2 our deployment behaves pretty much the same:

/var/log/packages/rutorrent.log
(no warnings)

/var/packages/rutorrent/var/rtorrent.log

1684462338 W Ignoring rtorrent.rc.

In the Web UI on opening we see the following errors when attempting to open the settings screen:

[18.05.2023 22:12:40] WebUI started.
[18.05.2023 22:12:42] Bad response from server: (200 [parsererror,getplugins]) ReferenceError: rGraph is not defined
[18.05.2023 22:12:49] XMLRPC Error: Method 'dht_statistics' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_check_hash' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_bind' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_dht_port' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_directory' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_download_rate' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_hash_interval' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_hash_max_tries' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_hash_read_ahead' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_http_cacert' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_http_capath' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_http_proxy' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_ip' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_downloads_div' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_downloads_global' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_file_size' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_memory_usage' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_open_files' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_open_http' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_peers' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_peers_seed' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_uploads' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_uploads_global' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_min_peers_seed' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_min_peers' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_peer_exchange' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_port_open' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_upload_rate' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_port_random' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_port_range' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_preload_min_size' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_preload_required_rate' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_preload_type' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_proxy_address' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_receive_buffer_size' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_safe_sync' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_scgi_dont_route' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_send_buffer_size' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_session' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_session_lock' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_session_on_completion' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_split_file_size' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_split_suffix' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_timeout_safe_sync' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_timeout_sync' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_tracker_numwant' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_use_udp_trackers' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_uploads_div' not defined [getsettings]
[18.05.2023 22:12:49] XMLRPC Error: Method 'get_max_open_sockets' not defined [getsettings]

None of the above errors in the Web UI were present in the previous version of rutorrent.

@mreid-tt
Copy link
Contributor

/var/packages/rutorrent/var/rtorrent.log

1684462338 W Ignoring rtorrent.rc.

Regarding the above issue, this is not in fact an error but a message advising that the default config file is not being used. See linuxserver/docker-rutorrent#88 (comment) for information on this.

@mreid-tt
Copy link
Contributor

mreid-tt commented May 19, 2023

@smaarn... Okay, so I found the issue. Both with DSM 6 and DSM 7 the upgrades and install worked well. The main challenge was my local web browser cache. On upgrade I realise that it is trying to use some previously cached data that is causing the Web UI to throw several errors (as noted above).

The main indicator was that the title of the browser window was still saying ruTorrent v3.10. When I clear my browser cache and reload the window the title changes to ruTorrent v4.1.5 and all the errors go away. If we have any reports of the above types of errors, we need to advise users to clear their cache (especially if they are using Firefox like me).

Copy link
Contributor

@mreid-tt mreid-tt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Testing in DSM 6.2 and DSM 7.2 successful.

@stickz
Copy link

stickz commented May 19, 2023

The main challenge was my local web browser cache.

It will not be required to clear your cache moving forward. ruTorrent v4.1 has cache busting for each version release. The problem is you're upgrading from an unsupported version 3.10, which did not implement this measure at the time.

@smaarn smaarn merged commit 0590cb5 into SynoCommunity:master May 24, 2023
@mreid-tt mreid-tt added status/published Published and activated (may take up to 48h until visible in DSM package manager) and removed status/to-publish labels May 25, 2023
@smaarn smaarn deleted the rutorrent/dsm-7/upgrade-to-4 branch August 30, 2023 21:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status/published Published and activated (may take up to 48h until visible in DSM package manager)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants