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

Empty blocklist in Transmission 4.0.2 #5685

Closed
1 task done
d4niel-P opened this issue Apr 5, 2023 · 25 comments · Fixed by #5865
Closed
1 task done

Empty blocklist in Transmission 4.0.2 #5685

d4niel-P opened this issue Apr 5, 2023 · 25 comments · Fixed by #5865
Labels

Comments

@d4niel-P
Copy link

d4niel-P commented Apr 5, 2023

Is this a new Bug?

  • I checkd that the bug hasn't been reported before

Package Name

Transmission

Package Version

4.0.2-21

Device Model

DS214se

Device Architecture

ARMv7 (armada370)

Firmware Version

DSM 7.1.1-42962 Update 4

What happened?

After update to Transmission 4.0.2 blocklist is empty. Update ends with:
obraz
WebGUI also shows zero entries:
obraz

although the same list worked on 3.00-20 and currently has 88 412 entries:
obraz
(example from other devices still running Transmission 3)

I suspect it might be permissions issue but I cannot see anything in logs.
Blocklist link: https://mirror.codebucket.de/transmission/blocklist.p2p.gz

Reproduction steps

1. Update blocklist in WebGUI
2. Nothing happens
3. WebGUI shows that blocklist has zero entries
...

Install Log

2023/03/30 21:34:51     upgrade transmission 3.00-20 Begin start-stop-status stop
2023/03/30 21:34:57     upgrade transmission 3.00-20 End start-stop-status stop ret=[0]
2023/03/30 21:34:59     upgrade transmission 3.00-20 Begin preupgrade
2023/03/30 21:34:59     Begin load_variables_from_file
2023/03/30 21:35:00     End load_variables_from_file
2023/03/30 21:35:00     Begin initialize_variables
2023/03/30 21:35:00     End initialize_variables
2023/03/30 21:35:00     ===> Step preupgrade. STATUS=UPGRADE USER=sc-transmission GROUP= SHARE_PATH=
2023/03/30 21:35:00     upgrade transmission 3.00-20 End preupgrade ret=[0]
2023/03/30 21:35:01     upgrade transmission 3.00-20 Begin preuninst
2023/03/30 21:35:01     Begin reload_inst_variables
2023/03/30 21:35:01     End reload_inst_variables
2023/03/30 21:35:02     Begin initialize_variables
2023/03/30 21:35:02     End initialize_variables
2023/03/30 21:35:02     ===> Step preuninst. USER=sc-transmission GROUP= SHARE_PATH=
2023/03/30 21:35:02     upgrade transmission 3.00-20 End preuninst ret=[0]
2023/03/30 21:35:02     upgrade transmission 3.00-20 Begin /bin/rm -rf /volume1/@appstore/transmission
2023/03/30 21:35:03     upgrade transmission 3.00-20 End /bin/rm -rf /volume1/@appstore/transmission ret=[0]
2023/03/30 21:35:03     upgrade transmission 3.00-20 Begin /bin/rm -rf /volume1/@apptemp/transmission
2023/03/30 21:35:03     upgrade transmission 3.00-20 End /bin/rm -rf /volume1/@apptemp/transmission ret=[0]
2023/03/30 21:35:03     upgrade transmission 3.00-20 Begin postuninst
2023/03/30 21:35:03     Begin reload_inst_variables
2023/03/30 21:35:03     End reload_inst_variables
2023/03/30 21:35:03     Begin initialize_variables
2023/03/30 21:35:04     End initialize_variables
2023/03/30 21:35:04     ===> Step postuninst. USER=sc-transmission GROUP= SHARE_PATH=
2023/03/30 21:35:04     upgrade transmission 3.00-20 End postuninst ret=[0]
2023/03/30 21:35:04     upgrade transmission 4.0.2-21 Begin preinst
2023/03/30 21:35:05     Begin load_variables_from_file
2023/03/30 21:35:05     End load_variables_from_file
2023/03/30 21:35:05     Begin initialize_variables
2023/03/30 21:35:05     End initialize_variables
2023/03/30 21:35:05     ===> Step preinst. STATUS=UPGRADE USER=sc-transmission GROUP= SHARE_PATH=
2023/03/30 21:35:05     upgrade transmission 4.0.2-21 End preinst ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/mkdir -p /volume1/@appstore/transmission -m 755
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/mkdir -p /volume1/@appstore/transmission -m 755 ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/rm -rf /volume1/@appstore/transmission
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/rm -rf /volume1/@appstore/transmission ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/package /volume1/@appstore/transmission
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/package /volume1/@appstore/transmission ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/rm -rf /var/packages/transmission
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/rm -rf /var/packages/transmission ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/mkdir -p /var/packages/transmission -m 755
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/mkdir -p /var/packages/transmission -m 755 ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/touch /var/packages/transmission/installing
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/touch /var/packages/transmission/installing ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/INFO /var/packages/transmission/INFO
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/INFO /var/packages/transmission/INFO ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/rm -rf /var/packages/transmission/scripts
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/rm -rf /var/packages/transmission/scripts ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/scripts /var/packages/transmission/scripts
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/scripts /var/packages/transmission/scripts ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/rm -rf /var/packages/transmission/WIZARD_UIFILES
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 End /bin/rm -rf /var/packages/transmission/WIZARD_UIFILES ret=[0]
2023/03/30 21:35:08     upgrade transmission 4.0.2-21 Begin /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/WIZARD_UIFILES /var/packages/transmission/WIZARD_UIFILES
2023/03/30 21:35:09     upgrade transmission 4.0.2-21 End /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/WIZARD_UIFILES /var/packages/transmission/WIZARD_UIFILES ret=[0]
2023/03/30 21:35:09     upgrade transmission 4.0.2-21 Begin /bin/rm -rf /var/packages/transmission/conf
2023/03/30 21:35:09     upgrade transmission 4.0.2-21 End /bin/rm -rf /var/packages/transmission/conf ret=[0]
2023/03/30 21:35:09     upgrade transmission 4.0.2-21 Begin /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/conf /var/packages/transmission/conf
2023/03/30 21:35:09     upgrade transmission 4.0.2-21 End /bin/mv -f /volume1/@tmp/synopkg/install.ujXkGi/conf /var/packages/transmission/conf ret=[0]
2023/03/30 21:35:29     upgrade transmission 4.0.2-21 Begin postinst
2023/03/30 21:35:29     Begin load_variables_from_file
2023/03/30 21:35:29     End load_variables_from_file
2023/03/30 21:35:29     Begin initialize_variables
2023/03/30 21:35:29     End initialize_variables
2023/03/30 21:35:29     ===> Step postinst. STATUS=UPGRADE USER=sc-transmission GROUP= SHARE_PATH=
2023/03/30 21:35:30     Begin save_wizard_variables
2023/03/30 21:35:30     End save_wizard_variables
2023/03/30 21:35:30     Begin syno_sync_var_folder
2023/03/30 21:35:30     Install files from var folder
2023/03/30 21:35:30     /bin/rsync -avh --ignore-existing --remove-source-files /volume1/@appstore/transmission/var/ /volume1/@appdata/transmission
2023/03/30 21:35:30     sending incremental file list
2023/03/30 21:35:30     ./
2023/03/30 21:35:30     sent 98 bytes  received 19 bytes  234.00 bytes/sec
2023/03/30 21:35:30     total size is 379  speedup is 3.24
2023/03/30 21:35:30     /bin/rsync -avh --remove-source-files /volume1/@appstore/transmission/var/ /volume1/@appdata/transmission
2023/03/30 21:35:31     sending incremental file list
2023/03/30 21:35:31     ./
2023/03/30 21:35:31     settings.json.new
2023/03/30 21:35:31     sent 533 bytes  received 46 bytes  1.16K bytes/sec
2023/03/30 21:35:31     total size is 379  speedup is 0.65
2023/03/30 21:35:31     End syno_sync_var_folder
2023/03/30 21:35:31     Begin service_postinst
2023/03/30 21:35:31     End service_postinst
2023/03/30 21:35:31     upgrade transmission 4.0.2-21 End postinst ret=[0]
2023/03/30 21:35:31     upgrade transmission 4.0.2-21 Begin postupgrade
2023/03/30 21:35:31     Begin load_variables_from_file
2023/03/30 21:35:31     End load_variables_from_file
2023/03/30 21:35:31     Begin initialize_variables
2023/03/30 21:35:31     End initialize_variables
2023/03/30 21:35:31     ===> Step postupgrade. STATUS=UPGRADE USER=sc-transmission GROUP= SHARE_PATH=
2023/03/30 21:35:31     Begin syno_sync_var_folder
2023/03/30 21:35:31     End syno_sync_var_folder
2023/03/30 21:35:32     upgrade transmission 4.0.2-21 End postupgrade ret=[0]
2023/03/30 21:35:36     upgrade transmission 4.0.2-21 Begin start-stop-status start
2023/03/30 21:35:38     upgrade transmission 4.0.2-21 End start-stop-status start ret=[0]

Service Log

Starting transmission command /volume1/@appstore/transmission/bin/transmission-daemon -g /volume1/@appdata/transmission -x /volume1/@appdata/transmission/transmission.pid -e /volume1/@appdata/transmission/transmission.log

Other Logs

2023-04-05T10:07:05+02:00 Backup synopkg[8404]: pkgtool.cpp:1741 chmod failed for /var/packages (Operation not permitted)
2023-04-05T10:07:05+02:00 Backup synopkg[8404]: pkgtool.cpp:1750 chmod failed for /usr/local/etc/rc.d (Operation not permitted)
2023-04-05T10:07:05+02:00 Backup synopkg[8404]: pkgfile.cpp:115 Failed to create directory, path=[/var/cache/synopkg/installed] err=[Permission denied]
2023-04-05T10:07:05+02:00 Backup synopkg[8404]: pkginstalled_repository.cpp:66 Failed to mkdir for file, path=[/var/cache/synopkg/installed/dependency_graph] reason=[Permission denied]
2023-04-05T10:07:05+02:00 Backup synopkg[8404]: pkginstalled_repository.cpp:120 Failed to put graph cache into file, path=[/var/cache/synopkg/installed/dependency_graph] reason=[Permission denied]
2023-04-05T10:07:05+02:00 Backup synopkg[8404]: pkgfile.cpp:115 Failed to create directory, path=[/run/synopkg/lock] err=[Permission denied]
2023-04-05T10:07:05+02:00 Backup synopkg[8404]: pkglock_package_lock.cpp:44 Failed to create dir for lock, path=[/run/synopkg/lock/transmission.lock]
@d4niel-P d4niel-P added the bug label Apr 5, 2023
@mreid-tt
Copy link
Contributor

mreid-tt commented Apr 5, 2023

That's very weird. I have the exact same blocklist URL but mine is working:
Screenshot 2023-04-05 at 8 28 12 AM

Your installation log looks clean. The other log was from which file?
Also, your service log suggests that additional log entries may be included in /volume1/@appdata/transmission/transmission.log. Anything interesting in there?

@d4niel-P
Copy link
Author

d4niel-P commented Apr 5, 2023

Other logs are from /var/log/messages. I've included them because of that:

pkglock_package_lock.cpp:44 Failed to create dir for lock, path=[/run/synopkg/lock/transmission.lock]

I'm not familiar enough with DSM environment to fully understand them but they seemed relevant.

/volume1/@appdata/transmission/transmission.log is perfect copy of /var/packages/transmission/var/transmission.log:

Starting transmission command
/volume1/@appstore/transmission/bin/transmission-daemon -g
/volume1/@appdata/transmission -x
/volume1/@appdata/transmission/transmission.pid -e
/volume1/@appdata/transmission/transmission.log

@mreid-tt
Copy link
Contributor

mreid-tt commented Apr 5, 2023

Thanks for the feedback. You are correct, that error does seem weird. What happens if you look at that directory? My output looks like this:

$ ls -all /run/synopkg/lock/
total 0
drwxr-xr-x 2 root root 300 Apr  4 04:21 .
drwxr-xr-x 5 root root 120 Apr  5 09:00 ..
-rw-r--r-- 1 root root   0 Mar 22 11:56 ActiveInsight.lock
-rw-r--r-- 1 root root   0 Mar 31 07:01 chromaprint.lock
-rw-r--r-- 1 root root   0 Mar 31 07:00 ffmpeg.lock
-rw-r--r-- 1 root root   0 Mar 22 12:00 Node.js_v18.lock
-rw-r--r-- 1 root root   0 Mar  8 21:42 python311.lock
-rw-r--r-- 1 root root   0 Feb 14 05:13 radarr.lock
-rw-r--r-- 1 root root   0 Mar  8 21:42 sabnzbd.lock
-rw-r--r-- 1 root root   0 Apr  4 04:19 sonarr.lock
-rw-r--r-- 1 root root   0 Mar 22 11:57 SurveillanceStation.lock
-rw-r--r-- 1 root root   0 Mar 22 12:01 SynologyApplicationService.lock
-rw-r--r-- 1 root root   0 Mar 22 12:01 SynologyDrive.lock
-rw-r--r-- 1 root root   0 Mar 15 13:43 transmission.lock
-rw-r--r-- 1 root root   0 Mar 30 14:32 VideoStation.lock

It may be useful to just reboot your Synology unit to see if that helps since these files are created by the DSM O/S itself.

As for the service logs, you are correct, the two files are the same since the /var/packages/transmission/var/ path has a symbolic link to /volume1/@appdata/transmission/.

@d4niel-P
Copy link
Author

d4niel-P commented Apr 5, 2023

Here you have dir /run/synopkg/lock/:

drwxr-xr-x 2 root root 60 Apr 5 10:07 .
drwxr-xr-x 4 root root 80 Apr 5 10:08 ..
-rw------- 1 root root 0 Apr 5 10:07 transmission.lock

I have Node.js or Synology Application Servicem installed in the system but only lock for transmission is here.

I've rebooted NAS and restarted transmission daemon couple times. It didn't fix the issue.

Of course I can reinstall transmission package but I'd like to try less invasive remedies first. ;)

@mreid-tt
Copy link
Contributor

mreid-tt commented Apr 5, 2023

I note the permissions for your transmission.lock is slightly different. Perhaps if the app isn't running you can just delete it with: sudo rm /run/synopkg/lock/transmission.lock and start the app up again?

@d4niel-P
Copy link
Author

d4niel-P commented Apr 5, 2023

After rm it looks that file has correct permissions now:

-rw-r--r-- 1 root root 0 Apr 5 15:46 transmission.lock

It didn't fix the issue with blocklist of course.

Dunno if it's relevant but I have default admin account disabled and created user with admin privileges and whenever I ssh to NAS it greats me with this message:

Could not chdir to home directory /var/services/homes/d4niel_p: No such file or directory

@mreid-tt
Copy link
Contributor

mreid-tt commented Apr 5, 2023

This is strange. Lots of weird messages with your DSM. I also run my admin as a created account with the default admin disabled as this is a security recommendation.

As for your directory error, the Synology KB has the following: https://kb.synology.com/en-me/DSM/tutorial/ssh_could_not_chdir_to_home_directory

Perhaps one of the senior devs can chime in on this because there's not much to explain why your blocklist isn't working. I suspect some deeper issue either with the package installation or the DSM O/S itself.

@d4niel-P
Copy link
Author

d4niel-P commented Apr 5, 2023

Yeah, I might have messed up the system a little forcing update to one of the first betas of DSM 7 back in the day. I'll try to dig a bit more and if I don't find solution I'll clean install the package again. Thank you for the help, I really appreciate it.

@mreid-tt
Copy link
Contributor

Hi @d4niel-P, just following up to see if there are any recent updates to the actions outlined to resolve this issue. Since out last interaction a new version of Transmission (v4.0.3-22) has also been released. Can you please let us know if the issue still persists? If we don't hear back from you in a few days, we'll assume the issue has been resolved and close this ticket. Thank you!

@d4niel-P
Copy link
Author

Hi, it was the first thing I checked after I got notification about the update. Unfortunately list is still empty.

@mreid-tt
Copy link
Contributor

Hi, it was the first thing I checked after I got notification about the update. Unfortunately list is still empty.

You also indicated that you would be trying a clean install, was that already done? Why I ask is that it could also be a corruption in the settings.json file which a clean install would replace.

@d4niel-P
Copy link
Author

Sorry, I didn't yet have time for clean install. Config file looks all right, I can edit other settings (even link to blocklist) and they stick between restarts. I'll report after clean install if the issue with empty list still persists.

@mreid-tt
Copy link
Contributor

@d4niel-P, following up on this. Any progress to resolve and close this issue?

@mreid-tt
Copy link
Contributor

Closing the issue unless any new feedback is provided, as it has been determined that the issue cannot be replicated.

@dwardor
Copy link

dwardor commented Sep 1, 2023

I think I am falling on something similar since updating to DSM 7.2 / transmission 4.0.3-22

My synology NAS has been (for many years now) hosting my nighlty generated blocklist file on : http://localhost/FilteredIPs.p2p.gz [I can still "wget" the file without issue]

transmission has this configured as its blocklist-url

grep blocklist settings.json 
    "blocklist-enabled": true,
    "blocklist-url": "http://localhost/FilteredIPs.p2p.gz",

However since the recent upgrade to DSM 7.2 / transmission 4.0.3-22 from DSM 6, blocklist-update replies it couldn't fetch blocklist

$ ./transmission-remote -n <user:pass> --blocklist-update
Error: Couldn't fetch blocklist: No Response (0)

I get nothing more in the transmission.log ("even with --log-level=debug")

--> Is this a permission issue ? where does transmission try to download the blocklist ?

@d4niel-P how did you resolve this ?

P.S. I also tried by setting blocklist-url to https://mirror.codebucket.de/transmission/blocklist.p2p.gz and get the exact same "Error: Couldn't fetch blocklist: No Response (0)"

@d4niel-P
Copy link
Author

d4niel-P commented Sep 1, 2023

@d4niel-P how did you resolve this ?

I didn't. Clean install of Transmission didn't help at all.
I still suspect it's a permission issue and, since my NAS has some other (minor) ownership / storage quirks, I want to do a completely fresh install of DSM 7.1.x but this operation requires a lot of preparation so I'm postponing it until unspecified future. ;)

@hgy59
Copy link
Contributor

hgy59 commented Sep 1, 2023

@dwardor I did a first (initial) installation of transmission 4.0.3-22 on a Virtual DSM (on DS-218+)

$ cat /etc/VERSION
majorversion="7"
minorversion="2"
major="7"
minor="2"
micro="0"
buildphase="GM"
buildnumber="64570"
smallfixnumber="3"
nano="3"
base="64570"
productversion="7.2"
os_name="DSM"
builddate="2023/08/01"
buildtime="15:18:33"

/var/packages/transmission/target/bin$ ./transmission-remote --blocklist-update
Unexpected response: <h1>401: Unauthorized</h1>
/var/packages/transmission/target/bin$ ./transmission-remote -n admin:admin --blocklist-update
Error: Couldn't fetch blocklist: Not Found (404)

so far blocklist was disabled in transmission and the responses above are expected.

Then I enabled blocklist in the Transmission Web UI, entered https://mirror.codebucket.de/transmission/blocklist.p2p.gz as blocklist and pressed udpate.
This shows Blocklist has 80’466 rules in the web ui.

And the cli command works now

/var/packages/transmission/target/bin$ ./transmission-remote -n admin:admin --blocklist-update
localhost:9091/transmission/rpc/ responded: success

So, I cannot reproduce the error.

BTW: DS412se is an ARMv7 model (armada370 cpu) and not x86_64.

@hgy59
Copy link
Contributor

hgy59 commented Sep 1, 2023

Some steps further

on a DS115j (armada370 too) I get an empty blocklist with the repeated steps of the post above

transmission.log
working (VirtualDSM DSM 7.2)

[2023-09-01 13:10:21.863] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)
[2023-09-01 13:10:21.863] inf blocklist.cc:68 Blocklist 'blocklist.bin' has 80466 entries (blocklist.cc:68)
[2023-09-01 13:10:37.862] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)
[2023-09-01 13:10:37.862] inf blocklist.cc:68 Blocklist 'blocklist.bin' has 80466 entries (blocklist.cc:68)

failing (DS115j, DSM 7.1.1)

[2023-09-01 13:25:41.381] WRN session-id.cc:74 Couldn't create '/tmp/tr_session_id_913zI79k5VVcTpxBYnV3fFO87UHOKptpTUFTNq2XoBkt3fvz': Invalid argument (22) (session-id.cc:74)
[2023-09-01 13:26:09.379] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)
[2023-09-01 13:26:09.380] WRN blocklist.cc:505 Couldn't save '/volume1/@appdata/transmission/blocklists/blocklist': Unable to read/write: Invalid argument (22) (blocklist.cc:505)
[2023-09-01 13:26:12.373] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)
[2023-09-01 13:26:12.373] WRN blocklist.cc:505 Couldn't save '/volume1/@appdata/transmission/blocklists/blocklist': Unable to read/write: Invalid argument (22) (blocklist.cc:505)
[2023-09-01 13:28:07.376] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)

@hgy59 hgy59 reopened this Sep 1, 2023
@d4niel-P
Copy link
Author

d4niel-P commented Sep 1, 2023

failing (DS115j, DSM 7.1.1)

That's interesting, thank you for the tests!

7.1.x is the final update for DS214se so I guess it's time to upgrade.

@dwardor
Copy link

dwardor commented Sep 1, 2023

Interesting, I'm on a DS414 running DSM 7.1.1-42962 Update 6 [not DSM 7.2 as I erroneously said in previous post :-(]

# cat /etc/VERSION
majorversion="7"
minorversion="1"
major="7"
minor="1"
micro="1"
productversion="7.1.1"
buildphase="GM"
buildnumber="42962"
smallfixnumber="6"
nano="6"
base="42962"
builddate="2023/05/29"
buildtime="14:27:51"

I did the fresh install (uninstall [with Erase all the package data files] + install) test just like you

Fresh install (no modifications) leeds to same expected result as with you:

$ ./transmission-remote --blocklist-update
Unexpected response: <h1>401: Unauthorized</h1>
$ ./transmission-remote -n admin:admin --blocklist-update
Error: Couldn't fetch blocklist: Not Found (404)

After [only] activating blocklist and setting url to https://mirror.codebucket.de/transmission/blocklist.p2p.gz via webui

  • hitting update does nothing... (no fail message, but still 0 rules)
    image
  • cli command seems to work...
$ ./transmission-remote -n admin:admin --blocklist-update
localhost:9091/transmission/rpc/ responded: success

... but going back to webui still shows there are 0 rules...

Side note webgui only available via ipv4 adress (not available via fdqn, locahost or ipv6 adress)

I'm getting the following errors :

[2023-09-01 16:45:28.151] inf port-forwarding.cc:218 State changed from 'Starting' to 'Not forwarded' (port-forwarding.cc:218)
 [2023-09-01 16:52:51.151] inf port-forwarding.cc:218 State changed from 'Not forwarded' to '???' (port-forwarding.cc:218)
 [2023-09-01 16:52:57.151] WRN session-id.cc:74 Couldn't create '/tmp/tr_session_id_WgDmmrATgNzUikryLdu65sVfkgdCmpztIL6YtytmW2lSEMAx': Invalid argument (22) (session-id.cc:74)
 [2023-09-01 16:54:38.151] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)
 [2023-09-01 16:54:38.151] WRN blocklist.cc:505 Couldn't save '/volume1/@appdata/transmission/blocklists/blocklist': Unable to read/write: Invalid argument (22) (blocklist.cc:505)
 [2023-09-01 16:57:34.161] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)

But permissions to /volume1/@appdata/transmission/blocklists/blocklist seem OK

$ ls -lrt /volume1/@appdata/transmission/blocklists/
total 0
-rw-rw-r-- 1 sc-transmission transmission 0 Sep  1 17:04 blocklist
$ ls -lrtd /volume1/@appdata/transmission/blocklists
drwxr-xr-x 2 sc-transmission transmission 4096 Sep  1 17:04 /volume1/@appdata/transmission/blocklists

@hgy59
Copy link
Contributor

hgy59 commented Sep 1, 2023

  • cli command seems to work...
$ ./transmission-remote -n admin:admin --blocklist-update
localhost:9091/transmission/rpc/ responded: success

... but going back to webui still shows there are 0 rules...

It does not work, even it responded: success

The var/blocklists/blocklist file is empty


this seems the result of : Unable to read/write: Invalid argument (22) (blocklist.cc:505)

I already built a package for arch-armada370-7.1 (instead of arch-armv7-7.1)), but this did not change anything.

the configure output for armada370 is different to armv7 in the following part:
armada370:

-- Performing Test NO_LFS_MACROS_REQUIRED - Failed
-- Performing Test FILE_OFFSET_BITS_LFS_MACRO_REQUIRED
-- Performing Test FILE_OFFSET_BITS_LFS_MACRO_REQUIRED - Success

armv7 (and others like x64)

-- Performing Test NO_LFS_MACROS_REQUIRED - Success

the error is generated in the file libtransmission/file-posix.cc on line 512:

    if (file_size != 0)
    {
        tr_error_prefix(error, "Unable to read/write: ");
        return false;
    }

It seams that either the downloaded file is empty or the processing does not work,
but I have not a clue what the real reason is...

on my working virtual DSM, there are two files after the blocklist update
blocklist (a text file)
blocklist.bin (a binary file)

@dwardor
Copy link

dwardor commented Sep 1, 2023

For info DS414 is armadaxp

@mreid-tt
Copy link
Contributor

mreid-tt commented Sep 1, 2023

For reference, I tried with my VirtualDSM setup as follows:

DSM 7.1.1-42962 Update 4
DS916+ (INTEL Pentium N3710)
Transmission v4.0.3-22

I did a clean install and then enabled blocklist, adding the URL as above: https://mirror.codebucket.de/transmission/blocklist.p2p.gz. The operation was successful with the following entries in the service log:

[2023-09-01 14:03:06.777] WRN blocklist.cc:242 Couldn't parse line: '83423' (blocklist.cc:242)
[2023-09-01 14:03:06.777] inf blocklist.cc:68 Blocklist 'blocklist.bin' has 80466 entries (blocklist.cc:68)

Sorry but I'm unable to replicate the issue with my setup.

@hgy59
Copy link
Contributor

hgy59 commented Sep 1, 2023

@mreid-tt this issue is only with ARMv7 archs (at least with armadaxp and armada370)

@hgy59
Copy link
Contributor

hgy59 commented Sep 2, 2023

@d4niel-P, @dwardor just found a solution and will create a PR with the fix.

It is hidden deep inside the source code of transmission...

hgy59 added a commit to hgy59/spksrc that referenced this issue Sep 2, 2023
- fix empty blocklist by patch
- update icon
- use TMP_DIR to avoid permission error logs for session files
- remove DSM 6 portions in service-setup.sh
hgy59 added a commit that referenced this issue Sep 9, 2023
* fix transmission (#5685)
- fix empty blocklist by patch
- update icon
- use TMP_DIR to avoid permission error logs for session files
- remove DSM 6 portions in service-setup.sh
* Remove pre-DSM7 config
* adjust patch to fix empty blocklists
- avoid log of error 22 (EINV) in fallback to user-space copy
* transmission: remove python path
* transmisison: fix file locking on ARMv7_ARCHS
- force use of flock (since fnctl with F_OFD_SETLK does not work)

---------

Co-authored-by: Michael Reid <michael_reid@email.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants