linuxserver / docker-transmission

GNU General Public License v3.0
562 stars 176 forks source link

[BUG] s6-notifyoncheck SIGKILL #279

Open bacontrees opened 1 month ago

bacontrees commented 1 month ago

Is there an existing issue for this?

Current Behavior

Every few minutes, Transmission reloads with the following logged:

./run: line 8:  8259 Killed                  s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${PORT:-9091}" s6-setuidgid abc /usr/bin/transmission-daemon -g /config -f
s6-supervise svc-transmission: warning: finish script lifetime reached maximum value - sending it a SIGKILL
Connection to localhost (127.0.0.1) 9091 port [tcp/*] succeeded!

When this happens, download data is frequently corrupted (needs local verify or even says no data found). This system has been running its current configuration for approximately a month without issue and only became problematic recently.

Expected Behavior

Transmission stays alive, does not SIGKILL.

Steps To Reproduce

In Mint 21.3 environment with Docker's official apt repository installed, run Transmission connected to in-service VPN. After a few minutes, s6 kills/restarts Transmission, causing download data corruption (needs local verify or even says no data found).

Environment

- OS: Mint 21.3 (Ubuntu 22.04 jammy)
- How docker service was installed: Docker's apt repository
- How Transmission reaches internet: In-service VPN container to prevent IP leakage

CPU architecture

x86-64

Docker creation

services:

  vpn:
        image: thrnz/docker-wireguard-pia
        volumes:
            - /mnt/SATA_SSD/docker-appdata/transmission/pia-dat:/pia
            - /mnt/SATA_SSD/docker-appdata/transmission/pia-port:/pia-shared
        ports:
            - "9091:9091/tcp"
        cap_add:
            - NET_ADMIN
        environment:
            - LOCAL_NETWORK=LOCAL_SUBNET/24
            - LOC=REDACTED
            - USER=REDACTED
            - PASS=REDACTED
            - PORT_FORWARDING=1
            - PORT_PERSIST=1
        sysctls:
            - net.ipv4.conf.all.src_valid_mark=1
        restart: unless-stopped

  transmission:
    image: linuxserver/transmission:latest
    network_mode: "service:vpn"
    depends_on:
      - vpn
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=REDACTED
    env_file:
      - /mnt/SATA_SSD/docker-appdata/transmission/transmission.env
    volumes:
      - /mnt/SATA_SSD/docker-appdata/transmission/transmission-config:/config
      - /mnt/SATA_SSD/docker-appdata/transmission/downloads:/downloads
      - /mnt/SATA_SSD/docker-appdata/transmission/watch:/watch
      - /mnt/SMB_Synology:/mnt/SMB_Synology
      - /mnt/SMB_Synology:/data
    restart: unless-stopped

Container logs

[migrations] started
[migrations] no migrations found
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    1000
User GID:    1000
───────────────────────────────────────

[custom-init] No custom files found, skipping...
Connection to localhost (127.0.0.1) 9091 port [tcp/*] succeeded!
[ls.io-init] done.
./run: line 8:   173 Killed                  s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${PORT:-9091}" s6-setuidgid abc /usr/bin/transmission-daemon -g /config -f
s6-supervise svc-transmission: warning: finish script lifetime reached maximum value - sending it a SIGKILL
Connection to localhost (127.0.0.1) 9091 port [tcp/*] succeeded!
github-actions[bot] commented 1 month ago

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

bacontrees commented 1 month ago

Issue persists on fresh Debian 12 installation as well.

6cUbi57z commented 2 weeks ago

I'm experiencing this without the VPN. It seems that transmission is becoming a zombie process.

In my k8s cluster, this is preventing the pod from closing. The only way I've found to resolve the issue is to restart the host.

6cUbi57z commented 2 weeks ago

I noticed some log messages in the terminal of the host possibly indicating this: https://github.com/transmission/transmission/issues/1007

I've changed the preallocation to 0 and have restarted.