We just updated our fleet in Arch Linux to the latest rsync release and following that, saw all of our mirrors fail to synchronize due to the following error:
[2026-10-07T12:59:06+0000] [ALPM] upgraded rsync (3.5.0-1 -> 3.5.1-1)
Oct 07 17:40:34 repos.archlinux.org rsyncd[283295]: rsyncd version 3.5.1-g04355d27 starting, listening on port 873
Oct 07 17:40:34 repos.archlinux.org rsyncd[283295]: bind() failed: Address already in use (address-family 2)
Oct 07 17:40:34 repos.archlinux.org rsyncd[283295]: bind() failed: Address already in use (address-family 10)
Oct 07 17:40:34 repos.archlinux.org rsyncd[283295]: unable to bind any inbound sockets on port 873
Oct 07 17:40:34 repos.archlinux.org rsyncd[283295]: rsync error: error in socket IO (code 10) at socket.c(707) [Receiver=3.5.1-g04355d27]
https://gitlab.archlinux.org/archlinux/infrastructure/-/work_items/876
Upon investigating the issue it turns out that downgrading rsync to 3.5.0 fixes the issue (archlinux/infrastructure!1244), looking through the 3.5.0..3.5.1 changelog it seems like #1075 could be a potential culprit for the issue. (cc @steadytao & @schuelermine)
A few words about our setup (all infrastructure as code can be found in https://gitlab.archlinux.org/archlinux/infrastructure/ in the dbscripts role):
We set an override via /etc/systemd/system/rsyncd.socket.d/override.conf to make the socket listen on a local socket:
[Socket]
ListenStream=
ListenStream=/run/rsyncd.sock
And then proxy to that both SSL and non-SSL traffic so that our mirrors can use it via rsync-ssl:
server {
listen 873;
listen [::]:873;
access_log /var/log/nginx/rsync.archlinux.org/stream.log stream;
access_log /var/log/nginx/rsync.archlinux.org/stream.log.json json_stream;
error_log /var/log/nginx/rsync.archlinux.org/stream.error.log;
proxy_pass unix:/run/rsyncd.sock;
proxy_protocol on;
}
server {
listen 874 ssl;
listen [::]:874 ssl;
server_name rsync.archlinux.org;
access_log /var/log/nginx/rsync.archlinux.org/stream.log stream;
access_log /var/log/nginx/rsync.archlinux.org/stream.log.json json_stream;
error_log /var/log/nginx/rsync.archlinux.org/stream.error.log;
ssl_certificate /etc/letsencrypt/live/repos.archlinux.org/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/repos.archlinux.org/privkey.pem;
proxy_pass unix:/run/rsyncd.sock;
proxy_protocol on;
}
cc @Antiz96 @jelly
We just updated our fleet in Arch Linux to the latest rsync release and following that, saw all of our mirrors fail to synchronize due to the following error:
https://gitlab.archlinux.org/archlinux/infrastructure/-/work_items/876
Upon investigating the issue it turns out that downgrading
rsyncto 3.5.0 fixes the issue (archlinux/infrastructure!1244), looking through the3.5.0..3.5.1changelog it seems like #1075 could be a potential culprit for the issue. (cc @steadytao & @schuelermine)A few words about our setup (all infrastructure as code can be found in https://gitlab.archlinux.org/archlinux/infrastructure/ in the dbscripts role):
We set an override via
/etc/systemd/system/rsyncd.socket.d/override.confto make the socket listen on a local socket:And then proxy to that both SSL and non-SSL traffic so that our mirrors can use it via
rsync-ssl:cc @Antiz96 @jelly