gokrazy / rsync

gokrazy rsync
BSD 3-Clause "New" or "Revised" License
494 stars 28 forks source link

client stuck on receiving filelist #2

Closed LiohMoeller closed 2 years ago

LiohMoeller commented 2 years ago

I am trying out your implementation as described in the README.

The Server is running successfully, but the client is stuck on:

receiving file list ... done

Here is the output from the server side.

2021/08/23 08:13:47 rsync module "pwd" with path /tmp/test configured
2021/08/23 08:13:47 rsync daemon listening on rsync://127.0.0.1:8730
2021/08/23 08:14:08 client requested rsync module "pwd"
2021/08/23 08:14:08 client sent: "--server"
2021/08/23 08:14:08 client sent: "--sender"
2021/08/23 08:14:08 client sent: "-vlogDtpr"
2021/08/23 08:14:08 client sent: "."
2021/08/23 08:14:08 client sent: "pwd/"
2021/08/23 08:14:08 client sent: ""
2021/08/23 08:14:08 flags: [--server --sender -vlogDtpr . pwd/]
2021/08/23 08:14:08 remaining: ["." "pwd/"]
2021/08/23 08:14:08 file list sent
2021/08/23 08:14:08 exclusion list read
stapelberg commented 2 years ago

Can you share how you started the client please? I’d like the full command line and output of rsync --version please :)

LiohMoeller commented 2 years ago

rsync -v --archive --port 8730 rsync://localhost/pwd/ dummy

rsync version 3.2.3 protocol version 31

stapelberg commented 2 years ago

Huh, the command works for me (not stuck) when serving my git working copy of https://github.com/gokrazy/rsync, and I have the same rsync version o_O

% rsync  version v3.2.3  protocol version 31
Copyright (C) 1996-2020 by Andrew Tridgell, Wayne Davison, and others.
Web site: https://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, hardlink-specials, symlinks, IPv6, atimes,
    batchfiles, inplace, append, ACLs, xattrs, optional protect-args, iconv,
    symtimes, prealloc, stop-at, no crtimes
Optimizations:
    SIMD, asm, openssl-crypto
Checksum list:
    xxh128 xxh3 xxh64 (xxhash) md5 md4 none
Compress list:
    zstd lz4 zlibx zlib none

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

Which Linux distribution are you using?

I wonder if this is something about the contents of /tmp/test? Could you provide a tar archive of that directory please?

stapelberg commented 2 years ago

Pretty sure I fixed this with https://github.com/gokrazy/rsync/commit/569c4e76a19cdddb338f4608edc986f25df6a22c — it only happened if at least one file was owned by uid 0 / gid 0 (root), and I was only testing with my own user account thus far :)