crazy-max / docker-rtorrent-rutorrent

rTorrent and ruTorrent Docker image
MIT License
457 stars 103 forks source link

rtorrent: Reading torrent file failed rtorrent: Reading torrent file failed #356

Open thompatry opened 3 weeks ago

thompatry commented 3 weeks ago

Support guidelines

I've found a bug and checked that ...

Description

When switching from the 4.3.1-0.9.8_3-0.13.8_2-r0 to the 4.3.2-3.0-r0 release, I get the error of "rtorrent: Reading torrent file failed rtorrent: Reading torrent file failed" repeatedly. I have also tried the edge release and it makes no difference.

Expected behaviour

To start up normally.

Actual behaviour

Error "rtorrent: Reading torrent file failed rtorrent: Reading torrent file failed"

Steps to reproduce

Switch to the 4.3.2-3.0-r0 release

Docker info

Unraid 6.12.8

Client:
 Version:    24.0.9
 Context:    default
 Debug Mode: false

Server:
 Containers: 19
  Running: 17
  Paused: 0
  Stopped: 2
 Images: 22
 Server Version: 24.0.9
 Storage Driver: overlay2
  Backing Filesystem: xfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 nvidia runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7c3aca7a610df76212171d200ca3811ff6096eb8
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.1.74-Unraid
 Operating System: Slackware 15.0 x86_64 (post 15.0 -current)
 OSType: linux
 Architecture: x86_64
 CPUs: 32
 Total Memory: 125.8GiB
 Name: files
 ID: b9cda407-b3a2-49c4-b7d2-d359cb893fe4
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Product License: Community Engine

WARNING: API is accessible on http://0.0.0.0:2375 without encryption.
         Access to the remote API is equivalent to root access on the host. Refer
         to the 'Docker daemon attack surface' section in the documentation for
         more information: https://docs.docker.com/go/attack-surface/
WARNING: No swap limit support

Docker Compose config

No response

Logs

Same as above.

Additional info

No response

stickz commented 3 weeks ago

Please provide more details about the problem. "No Response", "Same as above" and "No Response" does not help us pinpoint the issue. This problem is more complex than just switching to the latest release.

thompatry commented 3 weeks ago

If I turned on the debug log level, it does not change the output of the rtorrent log.

I manually ran the command in the docker container "rtorrent -o import=/etc/rtorrent/.rtlocal.rc" and I get the same error as "rtorrent: Reading torrent file failed". If only run "rtorrent" it fires up.

Quickly looking, I wonder if it has to to deal with .rtlocal.rc and permissions.

thompatry commented 3 weeks ago

Sorry for the double post, here is the unRAID docker compose xml file.

<?xml version="1.0"?>
<Container version="2">
    <Name>rTorrent-ruTorrent</Name>
    <Repository>crazymax/rtorrent-rutorrent:edge</Repository>
    <Registry>https://hub.docker.com/r/crazymax/rtorrent-rutorrent</Registry>
    <Network>bridge_dns</Network>
    <MyIP/>
    <Shell>sh</Shell>
    <Privileged>false</Privileged>
    <Support>https://github.com/crazy-max/docker-rtorrent-rutorrent</Support>
    <Project>https://github.com/crazy-max/docker-rtorrent-rutorrent</Project>
    <Overview></Overview>
    <Category>Downloaders: Tools: Network:Other</Category>
    <WebUI>http://[IP]:[PORT:9191]</WebUI>
    <TemplateURL/>
    <Icon>https://raw.githubusercontent.com/Novik/ruTorrent/master/images/logo.png</Icon>
    <ExtraParams>--ulimit nproc=65535 --ulimit nofile=32000:40000 --dns=1.1.1.1 --dns=8.8.8.8</ExtraParams>
    <PostArgs/>
    <CPUset/>
    <DateInstalled>1717192146</DateInstalled>
    <DonateText/>
    <DonateLink/>
    <Requires/>
    <Config Name="DHT_PORT" Target="6881" Default="6881" Mode="udp" Description="" Type="Port" Display="always" Required="true" Mask="false">6881</Config>
    <Config Name="XMLRPC_PORT-TCP" Target="8000" Default="8000" Mode="tcp" Description="" Type="Port" Display="always" Required="true" Mask="false">8000</Config>
    <Config Name="RUTORRENT_PORT" Target="8080" Default="8080" Mode="tcp" Description="" Type="Port" Display="always" Required="true" Mask="false">9191</Config>
    <Config Name="WEBDAV_PORT" Target="9000" Default="9000" Mode="tcp" Description="" Type="Port" Display="always" Required="true" Mask="false">9000</Config>
    <Config Name="RT_INC_PORT-TCP" Target="50000" Default="50000" Mode="tcp" Description="" Type="Port" Display="always" Required="true" Mask="false">50000</Config>
    <Config Name="RTORRENT_DATA" Target="/data" Default="/mnt/user/appdata/rtorrent/" Mode="rw" Description="" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/rtorrent/</Config>
    <Config Name="RUTORRENT_PASSWORD" Target="/passwd" Default="/mnt/user/appdata/rtorrent/" Mode="rw" Description="" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/appdata/rtorrent/</Config>
    <Config Name="DOWNLOAD_FILES" Target="/media/storage/downloads" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="true" Mask="false">/mnt/user/downloads</Config>
    <Config Name="MEMORY_LIMIT" Target="MEMORY_LIMIT" Default="256M" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">512M</Config>
    <Config Name="UPLOAD_MAX_SIZE" Target="UPLOAD_MAX_SIZE" Default="16M" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">16M</Config>
    <Config Name="OPCACHE_MEM_SIZE" Target="OPCACHE_MEM_SIZE" Default="128" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">128</Config>
    <Config Name="MAX_FILE_UPLOADS" Target="MAX_FILE_UPLOADS" Default="50" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">50</Config>
    <Config Name="REAL_IP_FROM" Target="REAL_IP_FROM" Default="0.0.0.0/32" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">0.0.0.0/32</Config>
    <Config Name="REAL_IP_HEADER" Target="REAL_IP_HEADER" Default="X-Forwarded-For" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">X-Forwarded-For</Config>
    <Config Name="LOG_IP_VAR" Target="LOG_IP_VAR" Default="remote_addr" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">remote_addr</Config>
    <Config Name="XMLRPC_AUTHBASIC_STRING" Target="XMLRPC_AUTHBASIC_STRING" Default="rTorrent XMLRPC restricted access" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">rTorrent XMLRPC restricted access</Config>
    <Config Name="RUTORRENT_AUTHBASIC_STRING" Target="RUTORRENT_AUTHBASIC_STRING" Default="ruTorrent restricted access" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">ruTorrent restricted access</Config>
    <Config Name="WEBDAV_AUTHBASIC_STRING" Target="WEBDAV_AUTHBASIC_STRING" Default="WebDAV restricted access" Mode="" Description="" Type="Variable" Display="always" Required="false" Mask="false">WebDAV restricted access</Config>
    <Config Name="RT_LOG_LEVEL" Target="RT_LOG_LEVEL" Default="info" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">debug</Config>
    <Config Name="RT_LOG_EXECUTE" Target="RT_LOG_EXECUTE" Default="false" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">false</Config>
    <Config Name="RT_LOG_XMLRPC" Target="RT_LOG_XMLRPC" Default="false" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">false</Config>
    <Config Name="RU_REMOVE_CORE_PLUGINS" Target="RU_REMOVE_CORE_PLUGINS" Default="erasedata,httprpc" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">false</Config>
    <Config Name="RU_HTTP_USER_AGENT" Target="RU_HTTP_USER_AGENT" Default="Mozilla/5.0 (Windows NT 6.0; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">Mozilla/5.0 (Windows NT 6.0; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0</Config>
    <Config Name="RU_HTTP_TIME_OUT" Target="RU_HTTP_TIME_OUT" Default="30" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">30</Config>
    <Config Name="RU_HTTP_USE_GZIP" Target="RU_HTTP_USE_GZIP" Default="true" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">true</Config>
    <Config Name="RU_RPC_TIME_OUT" Target="RU_RPC_TIME_OUT" Default="5" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">5</Config>
    <Config Name="RU_LOG_RPC_CALLS" Target="RU_LOG_RPC_CALLS" Default="false" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">false</Config>
    <Config Name="RU_LOG_RPC_FAULTS" Target="RU_LOG_RPC_FAULTS" Default="true" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">true</Config>
    <Config Name="RU_PHP_USE_GZIP" Target="RU_PHP_USE_GZIP" Default="false" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">false</Config>
    <Config Name="RU_PHP_GZIP_LEVEL" Target="RU_PHP_GZIP_LEVEL" Default="2" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">2</Config>
    <Config Name="RU_SCHEDULE_RAND" Target="RU_SCHEDULE_RAND" Default="10" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">10</Config>
    <Config Name="RU_LOG_FILE" Target="RU_LOG_FILE" Default="/data/rutorrent/rutorrent.log" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">/data/rutorrent/rutorrent.log</Config>
    <Config Name="RU_DO_DIAGNOSTIC" Target="RU_DO_DIAGNOSTIC" Default="true" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">true</Config>
    <Config Name="RU_SAVE_UPLOADED_TORRENTS" Target="RU_SAVE_UPLOADED_TORRENTS" Default="true" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">true</Config>
    <Config Name="RU_OVERWRITE_UPLOADED_TORRENTS" Target="RU_OVERWRITE_UPLOADED_TORRENTS" Default="false" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">false</Config>
    <Config Name="RU_FORBID_USER_SETTINGS" Target="RU_FORBID_USER_SETTINGS" Default="false" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">false</Config>
    <Config Name="RU_LOCALE" Target="RU_LOCALE" Default="UTF8" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">UTF8</Config>
    <Config Name="TIMEZONE" Target="TZ" Default="America/Chicago" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">America/Chicago</Config>
    <Config Name="PUID" Target="PUID" Default="1000" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">99</Config>
    <Config Name="PGID" Target="PGID" Default="1000" Mode="" Description="" Type="Variable" Display="always" Required="true" Mask="false">100</Config>
    <Config Name="Host Label 1" Target="traefik.http.routers.rtorrent.rule" Default="" Mode="" Description="" Type="Label" Display="always" Required="true" Mask="false">Host(`torrents.mhk.thomaspatry.com`)</Config>
    <Config Name="Host Label 2" Target="traefik.http.services.rtorrent.loadbalancer.server.port" Default="" Mode="" Description="" Type="Label" Display="always" Required="false" Mask="false">8080</Config>
    <Config Name="ISO_FILES" Target="/media/storage/ISOs" Default="" Mode="rw" Description="" Type="Path" Display="always" Required="false" Mask="false">/mnt/user/ISOs/</Config>
    <Config Name="RT_INC_PORT-UDP" Target="60000" Default="60000" Mode="udp" Description="" Type="Port" Display="always" Required="true" Mask="false">60000</Config>
</Container>
thompatry commented 3 weeks ago

Doing some more digging, I no longer get the error if I comment out: https://github.com/crazy-max/docker-rtorrent-rutorrent/blob/0d3ade3b1aa94f31aeb06ada32490ecc7c625b2c/rootfs/tpls/etc/rtorrent/.rtlocal.rc#L21

Not sure where to dig from here.

stickz commented 3 weeks ago

@thompatry This is likely a permissions issue with where your session files are saved. Commenting out that line changes it back to the default location. Session files on rTorrent save and load all your torrent information between restarts.

thompatry commented 3 weeks ago

@stickz Is there a way to turn up logging itself on rtorrent? I can build a one off build to test with and see where is it getting "stuck" at with permissions.

I know this is dangerous but I only did it temporarily, I chmod 777 -R .session folder and chown rtorrent:rtorrent -R .session and it made no difference.