diff --git a/qbittorrent/CHANGELOG.md b/qbittorrent/CHANGELOG.md index 68bb71478c..822d93a32f 100644 --- a/qbittorrent/CHANGELOG.md +++ b/qbittorrent/CHANGELOG.md @@ -1,4 +1,7 @@ +## 5.2.0-2 (2026-05-10) +- Fix startup loop on aarch64: drop s6-notifyoncheck wrapper so s6 supervises qbittorrent-nox directly (LSIO arm64 image has no notification-fd, causing EBADF restart loop) + ## 5.2.0-1 (2026-05-10) - Fix qbittorrent-nox path (/usr/bin → /app) after LSIO image update diff --git a/qbittorrent/config.yaml b/qbittorrent/config.yaml index 559a7ad4f0..9b987cc09b 100644 --- a/qbittorrent/config.yaml +++ b/qbittorrent/config.yaml @@ -143,4 +143,4 @@ schema: slug: qbittorrent udev: true url: https://github.com/alexbelgium/hassio-addons -version: "5.2.0-1" +version: "5.2.0-2" diff --git a/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run b/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run index 3f9c6b71f5..5c9be4b5c8 100644 --- a/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run +++ b/qbittorrent/rootfs/etc/s6-overlay/s6-rc.d/svc-qbittorrent/run @@ -36,14 +36,14 @@ fi # --- Launch qBittorrent --- -# Determine log output based on silent mode -QB_OUTPUT="/dev/stdout" -if bashio::config.true 'silent'; then - QB_OUTPUT="/dev/null" -fi - bashio::log.info "Starting qBittorrent..." -exec \ - s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${WEBUI_PORT}" \ - s6-setuidgid abc /app/qbittorrent-nox --webui-port="${WEBUI_PORT}" > "${QB_OUTPUT}" +# On aarch64 LSIO images svc-qbittorrent has no notification-fd, so fd 3 is never +# opened by s6-rc. s6-notifyoncheck then exits with EBADF after its check passes, +# s6 sees the supervised process die and restarts it — causing the startup loop. +# Run qbittorrent-nox directly so s6 supervises the actual process. +if bashio::config.true 'silent'; then + exec > /dev/null 2>&1 +fi + +exec s6-setuidgid abc /app/qbittorrent-nox --webui-port="${WEBUI_PORT}"