Open wezm opened 3 days ago
@ahgamut Can we remove rsync from Cosmos? This isn't something I'm willing to support on Windows.
I'm a bit surprised; I'd hoped cosmos rsync would be a good answer when @wezm was looking for a windows rsync in another chat that I'm in.
@jart Is it just not supportable on windows due to some kind of blocker?
If expected behavior is obtainable, my guess is that we can patch some code in rsync
to do so.
But we'd need a bit of testing: I haven't found a nice way to test/debug builds of rsync
like I can for gcc
or python
.
Here's are some ways you can help us with that:
--strace
for the same command look like on Linux? rsync
relying on some filesystem locations to decide what to do? The above log shows /etc/passwd
and /etc/group
don't exist on Windows, perhaps the rsync code needs to be patched to not rely on such locations. (For reference, you can see that rsync
picks the OpenSSL config from the correct location /zip/openssl.cnf
-- that's because I configured it to do so.)Cosmos is a proof of concept we built for fun. If rsync isn't working due to an issue with cosmo, then I'd be happy to accept a patch that fixes it. However I don't want there to be any expectation that it's a tool we have the resources to support. rsync can't be easily troubleshooted, because its invocation is controlled by other tools, and every Windows administrator uses different tools.
Looks like it's going to be removed but in the name of completeness I'll answer this query:
- what does the
--strace
for the same command look like on Linux?
Run on x86_64 Linux:
./rsync --strace -avzhP ../one.txt ../two.txt
SYS 0 0 36'045 bell system five system call support 2'969'174'559 magnums loaded on gnu/systemd
SYS 690097 690097 67'950 getcwd([u"/tmp/bin"], 1'023) → 9
SYS 690097 690097 71'805 getenv("COSMOPOLITAN_DISABLE_ZIPOS") → NULL
SYS 690097 690097 76'860 getenv("COSMOPOLITAN_INIT_ZIPOS") → NULL
SYS 690097 690097 79'230 issetugid() → 0
SYS 690097 690097 81'690 GetProgramExecutableName() → "/tmp/bin/rsync"
SYS 690097 690097 87'525 openat(AT_FDCWD, "/tmp/bin/rsync", O_RDONLY) → 3
SYS 690097 690097 95'970 fstat(3, [{.st_size=6'812'880, .st_blocks=6'815'744/512, .st_mode=0100755, .st_uid=1000, .st_gid=1000, .st_dev=0x2f, .st_ino=0x123b}]) → 0
SYS 690097 690097 104'910 mmap(0, 6'812'880, PROT_READ, MAP_SHARED, 3, 0) → 0x100080400000 (6'881'280 bytes total)
SYS 690097 690097 160'905 munmap(0x100080400000, 6'029'312) → 0 (851'968 bytes total)
SYS 690097 690097 179'325 madvise(0x1000809ce000, 696'320, 4) → 0
SYS 690097 690097 184'185 mmap(0, 2'232, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080040000 (917'504 bytes total)
SYS 690097 690097 286'050 close(3) → 0
SYS 690097 690097 288'255 __zipos_get("/tmp/bin/rsync") → 0
SYS 690097 690097 293'400 mmap(0, 393'216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080080000 (1'310'720 bytes total)
SYS 690097 690097 3'041'280 inflate([u"SYMT☺ «) ♠ ♠ @ "...], 393'216, u"\\╫w╝Åσλ8≡╦↓÷8╞↓¶íä4$Ѽ¿(→ö4∞4l♫“ñ∟[μQi→╟"..., 133'545) → 0
SYS 690097 690097 3'046'005 GetSymbolTableFromZip() → 0x100080080000
SYS 690097 690097 3'053'955 getenv("HOME") → "/home/wmoore"
SYS 690097 690097 3'056'460 getenv("TMPDIR") → NULL
SYS 690097 690097 3'057'990 getenv("TERM") → "alacritty"
SYS 690097 690097 3'060'465 sys_getrandom(0,0,0) → 0
SYS 690097 690097 3'078'435 sigaction(SIGUSR1, {.sa_handler=&sigusr1_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS 690097 690097 3'082'140 sigaction(SIGUSR2, {.sa_handler=&sigusr2_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS 690097 690097 3'084'075 sigaction(SIGCHLD, {.sa_handler=&remember_children, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS 690097 690097 3'086'790 sigaction(SIGINFO, {.sa_handler=&siginfo_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS 690097 690097 3'088'665 sigaction(SIGVTALRM, {.sa_handler=&siginfo_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS 690097 690097 3'110'310 geteuid() → 1000
SYS 690097 690097 3'112'800 getegid() → 1000
SYS 690097 690097 3'116'160 getenv("OPENSSL_CONF") → NULL
SYS 690097 690097 3'125'835 mmap(0, 65'536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080050000 (1'376'256 bytes total)
SYS 690097 690097 3'132'480 setenv("OPENSSL_CONF", "/zip/openssl.conf", true) → 0
SYS 690097 690097 3'135'660 umask(022) → 01
SYS 690097 690097 3'136'935 umask(0) → 01
SYS 690097 690097 3'155'460 getenv("POSIXLY_CORRECT") → NULL
SYS 690097 690097 3'157'920 getenv("POSIX_ME_HARDER") → NULL
SYS 690097 690097 3'163'395 openat(AT_FDCWD, "/etc/popt", O_RDONLY) → -1 ENOENT
SYS 690097 690097 3'165'705 getenv("HOME") → "/home/wmoore"
SYS 690097 690097 3'172'440 openat(AT_FDCWD, "/home/wmoore/.popt", O_RDONLY) → -1 ENOENT
SYS 690097 690097 3'184'935 getenv("RSYNC_MAX_ALLOC") → NULL
SYS 690097 690097 3'187'200 getenv("RSYNC_OLD_ARGS") → NULL
SYS 690097 690097 3'188'805 getenv("RSYNC_PROTECT_ARGS") → NULL
SYS 690097 690097 3'193'890 getenv("RSYNC_PARTIAL_DIR") → NULL
SYS 690097 690097 3'196'785 sigaction(SIGINT, {.sa_handler=&sig_int, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS 690097 690097 3'200'220 sigaction(SIGHUP, {.sa_handler=&sig_int, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS 690097 690097 3'203'460 sigaction(SIGTERM, {.sa_handler=&sig_int, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS 690097 690097 3'207'690 sigprocmask(SIG_UNBLOCK, {HUP,INT,USR1,USR2,TERM,CHLD,VTALRM,INFO}, [NULL]) → 0 ENOENT
SYS 690097 690097 3'211'320 sigaction(SIGPIPE, {.sa_handler=SIG_IGN, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS 690097 690097 3'214'335 sigaction(SIGXFSZ, {.sa_handler=SIG_IGN, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS 690097 690097 3'218'070 getcwd([u"/tmp/bin"], 1'023) → 9 ENOENT
SYS 690097 690097 3'239'805 fcntl(3, F_GETFL) → O_RDWR
SYS 690097 690097 3'242'790 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS 690097 690097 3'245'430 fcntl(4, F_GETFL) → O_RDWR
SYS 690097 690097 3'248'025 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS 690097 690097 3'258'930 fcntl(5, F_GETFL) → O_RDWR
SYS 690097 690097 3'261'960 fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS 690097 690097 3'263'970 fcntl(6, F_GETFL) → O_RDWR
SYS 690097 690097 3'266'310 fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS 690097 690097 3'340'320 fork() → 690099 ENOENT
SYS 690097 690097 3'349'410 close(6) → 0 ENOENT
SYS 690097 690097 3'356'535 close(3) → 0 ENOENT
SYS 690097 690097 3'367'215 fcntl(5, F_GETFL) → O_RDWR|O_NONBLOCK
SYS 690097 690097 3'369'810 fcntl(4, F_GETFL) → O_RDWR|O_NONBLOCK
SYS 690097 690097 3'379'305 write(4, u"▼ ", 4) → 4 ENOENT
SYS 690099 690099 3'378'270 fork() → 0 (child of 690097)
SYS 690099 690099 3'407'400 dup2(3, 0) → 0 ENOENT
SYS 690099 690099 3'417'945 close(4) → 0 ENOENT
SYS 690099 690099 3'419'910 close(5) → 0 ENOENT
SYS 690099 690099 3'421'515 dup2(6, 1) → 1 ENOENT
SYS 690099 690099 3'424'740 close(3) → 0 ENOENT
SYS 690099 690099 3'426'315 close(6) → 0 ENOENT
SYS 690099 690099 3'442'140 fcntl(0, F_GETFL) → O_RDWR|O_NONBLOCK
SYS 690099 690099 3'445'590 fcntl(1, F_GETFL) → O_RDWR|O_NONBLOCK
SYS 690099 690099 3'464'085 write(1, u"▼ ", 4) → 4 ENOENT
SYS 690099 690099 3'472'035 select(1, {0} → [{0}], NULL → [NULL], {0} → [{}], {60, 0} → [{59, 999998}]) → 1 ENOENT
SYS 690099 690099 3'480'165 read(0, [u"▼ "], 4) → 4 ENOENT
SYS 690099 690099 3'484'605 write(1, u"ü√", 2) → 2 ENOENT
SYS 690097 690097 3'486'540 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999933}]) → 1 ENOENT
SYS 690097 690097 3'497'325 read(5, [u"▼ "], 4) → 4 ENOENT
SYS 690097 690097 3'503'370 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690097 690097 3'506'925 read(5, [u"ü"], 1) → 1 ENOENT
SYS 690097 690097 3'510'285 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690097 690097 3'514'650 read(5, [u"√"], 1) → 1 ENOENT
SYS 690099 690099 3'514'605 getenv("RSYNC_CHECKSUM_LIST") → NULL
SYS 690099 690099 3'520'065 write(1, u"♀", 1) → 1 ENOENT
SYS 690099 690099 3'523'650 write(1, u"md5 md4 none", 12) → 12 ENOENT
SYS 690099 690099 3'527'040 getenv("RSYNC_COMPRESS_LIST") → NULL
SYS 690099 690099 3'531'570 write(1, u"¶", 1) → 1 ENOENT
SYS 690099 690099 3'534'630 write(1, u"zstd zlibx zlib none", 20) → 20 ENOENT
SYS 690097 690097 3'543'720 getenv("RSYNC_CHECKSUM_LIST") → NULL
SYS 690097 690097 3'551'835 write(4, u"•", 1) → 1 ENOENT
SYS 690097 690097 3'555'150 write(4, u"md5 md4", 7) → 7 ENOENT
SYS 690099 690099 3'555'360 select(1, {0} → [{0}], NULL → [NULL], {0} → [{}], {60, 0} → [{59, 999988}]) → 1 ENOENT
SYS 690097 690097 3'557'595 getenv("RSYNC_COMPRESS_LIST") → NULL
SYS 690099 690099 3'561'405 read(0, [u"•"], 1) → 1 ENOENT
SYS 690097 690097 3'562'740 write(4, u"☼", 1) → 1 ENOENT
SYS 690099 690099 3'564'885 select(1, {0} → [{0}], NULL → [NULL], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690097 690097 3'566'055 write(4, u"zstd zlibx zlib", 15) → 15 ENOENT
SYS 690099 690099 3'568'740 read(0, [u"md5 md4"], 7) → 7 ENOENT
SYS 690097 690097 3'570'150 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 3'572'295 select(1, {0} → [{0}], NULL → [NULL], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690097 690097 3'573'255 read(5, [u"♀"], 1) → 1 ENOENT
SYS 690099 690099 3'577'365 read(0, [u"☼"], 1) → 1 ENOENT
SYS 690097 690097 3'578'130 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 3'580'770 select(1, {0} → [{0}], NULL → [NULL], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690097 690097 3'582'000 read(5, [u"md5 md4 none"], 12) → 12 ENOENT
SYS 690099 690099 3'583'665 read(0, [u"zstd zlibx zlib"], 15) → 15 ENOENT
SYS 690097 690097 3'585'090 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690097 690097 3'587'730 read(5, [u"¶"], 1) → 1 ENOENT
SYS 690097 690097 3'590'865 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 3'590'940 write(1, u"╨╬&d", 4) → 4 ENOENT
SYS 690097 690097 3'593'940 read(5, [u"zstd zlibx zlib none"], 20) → 20 ENOENT
SYS 690097 690097 3'597'435 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690097 690097 3'600'375 read(5, [u"╨╬&d"], 4) → 4 ENOENT
SYS 690099 690099 3'608'925 mmap(0, 131'072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080060000 ENOENT (1'507'328 bytes total)
SYS 690097 690097 3'609'780 fcntl(2, F_GETFL) → O_RDWR|O_APPEND|O_LARGEFILE
SYS 690097 690097 3'620'805 mmap(0, 131'072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080060000 ENOENT (1'507'328 bytes total)
SYS 690099 690099 3'623'055 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080100000 ENOENT (1'835'008 bytes total)
SYS 690099 690099 3'634'080 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080180000 ENOENT (2'162'688 bytes total)
sending incremental file list
SYS 690097 690097 3'642'600 write(1, u"sending incremental file list◙", 30) → 30
SYS 690097 690097 3'649'800 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080100000 (1'835'008 bytes total)
SYS 690097 690097 3'661'410 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080180000 (2'162'688 bytes total)
SYS 690097 690097 3'670'515 getenv("TMPDIR") → NULL
SYS 690097 690097 3'672'885 GetProgramExecutableName() → "/tmp/bin/rsync"
SYS 690097 690097 3'677'580 chdir("/tmp/bin/..") → 0
SYS 690097 690097 3'686'400 fstatat(AT_FDCWD, "one.txt", [{.st_size=4, .st_blocks=4'096/512, .st_mode=0100644, .st_uid=1000, .st_gid=1000, .st_dev=0x2f, .st_ino=0x119e}], AT_SYMLINK_NOFOLLOW) → 0
SYS 690097 690097 3'691'455 fstatat(AT_FDCWD, "one.txt", [{.st_size=4, .st_blocks=4'096/512, .st_mode=0100644, .st_uid=1000, .st_gid=1000, .st_dev=0x2f, .st_ino=0x119e}], AT_SYMLINK_NOFOLLOW) → 0
SYS 690097 690097 3'698'520 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080200000 (2'490'368 bytes total)
SYS 690097 690097 3'719'085 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) → 3
SYS 690097 690097 3'731'400 read(3, [u"root:x:0:0::/root:/bin/bash◙bin:x:1:1::/"...], 4'096) → 2'645
SYS 690097 690097 3'737'085 lseek(3, -1'694, SEEK_CUR) → 951
SYS 690097 690097 3'740'415 close(3) → 0
SYS 690097 690097 3'746'175 openat(AT_FDCWD, "/etc/group", O_RDONLY|O_CLOEXEC) → 3
SYS 690097 690097 3'751'995 read(3, [u"root:x:0:root◙sys:x:3:bin◙mem:x:8:◙ftp:x"...], 4'096) → 1'283
SYS 690097 690097 3'762'915 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{59, 999999}]) → 1
SYS 690097 690097 3'767'460 write(4, u"0 •¼ •one.txt ♦ fÖ!ç≡φE▐‼ñü âΦ♠wmooreâ"..., 52) → 52
SYS 690099 690099 3'772'845 select(1, {0} → [{0}], {} → [{}], {0} → [{}], {60, 0} → [{59, 999913}]) → 1 ENOENT
SYS 690099 690099 3'776'715 read(0, [u"0 •¼ •one.txt ♦ fÖ!ç≡φE▐‼ñü âΦ♠wmooreâ"...], 32'768) → 52 ENOENT
SYS 690099 690099 3'794'310 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) → 3 ENOENT
SYS 690099 690099 3'803'325 read(3, [u"root:x:0:0::/root:/bin/bash◙bin:x:1:1::/"...], 4'096) → 2'645 ENOENT
SYS 690099 690099 3'808'860 lseek(3, -1'694, SEEK_CUR) → 951 ENOENT
SYS 690099 690099 3'812'235 close(3) → 0 ENOENT
SYS 690099 690099 3'819'615 openat(AT_FDCWD, "/etc/group", O_RDONLY|O_CLOEXEC) → 3 ENOENT
SYS 690099 690099 3'825'195 read(3, [u"root:x:0:root◙sys:x:3:bin◙mem:x:8:◙ftp:x"...], 4'096) → 1'283 ENOENT
SYS 690099 690099 3'834'135 getgroups(0, NULL) → 5 ENOENT
SYS 690099 690099 3'837'210 getgroups(5, {955, 968, 986, 998, 1000}) → 5 ENOENT
SYS 690099 690099 3'842'415 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080200000 ENOENT (2'490'368 bytes total)
SYS 690099 690099 3'859'560 fstatat(AT_FDCWD, "../two.txt", [n/a], 0) → -1 ENOENT
SYS 690099 690099 3'864'150 getenv("TMPDIR") → NULL
SYS 690099 690099 3'867'120 GetProgramExecutableName() → "/tmp/bin/rsync"
SYS 690099 690099 3'872'070 chdir("/tmp/bin/..") → 0 ENOENT
SYS 690099 690099 3'886'395 fcntl(4, F_GETFL) → O_RDWR
SYS 690099 690099 3'888'990 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS 690099 690099 3'890'955 fcntl(5, F_GETFL) → O_RDWR
SYS 690099 690099 3'893'355 fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS 690099 690099 3'996'840 fork() → 690100 ENOENT
SYS 690099 690099 4'006'950 close(5) → 0 ENOENT
SYS 690099 690099 4'012'920 close(0) → 0 ENOENT
SYS 690099 690099 4'021'680 fstatat(AT_FDCWD, "two.txt", [n/a], AT_SYMLINK_NOFOLLOW) → -1 ENOENT
SYS 690100 690100 4'031'040 fork() → 0 (child of 690099)
SYS 690099 690099 4'032'780 select(5, {4} → [{}], {1} → [{1}], {4} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 4'042'170 write(1, u"‼ •☻ á ", 23) → 23 ENOENT
SYS 690100 690100 4'046'970 close(4) → 0 ENOENT
SYS 690097 690097 4'059'990 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{59, 999808}]) → 1
SYS 690100 690100 4'062'465 close(1) → 0 ENOENT
SYS 690097 690097 4'068'915 read(5, [u"‼ •☻ á "], 32'768) → 23
SYS 690097 690097 4'079'640 openat(AT_FDCWD, "one.txt", O_RDONLY) → 6
SYS 690097 690097 4'084'800 fstat(6, [{.st_size=4, .st_blocks=4'096/512, .st_mode=0100644, .st_uid=1000, .st_gid=1000, .st_dev=0x2f, .st_ino=0x119e}]) → 0
one.txt
SYS 690097 690097 4'091'385 write(1, u"one.txt◙", 8) → 8
SYS 690097 690097 4'116'900 read(6, [u"one◙"], 4) → 4
SYS 690097 690097 4'131'450 mmap(0, 3'670'016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080400000 (6'160'384 bytes total)
SYS 690097 690097 4'254'360 getpgrp() → 690097
SYS 690097 690097 4'258'290 tcgetpgrp(1) → 690097
4 100% 0.00kB/s 0:00:00 SYS 690097 690097 4'276'245 write(1, u"♪ 4 100% 0.00kB/s 0:0"..., 46) → 46
4 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/1)
SYS 690097 690097 4'282'260 write(1, u"♪ 4 100% 0.00kB/s 0:0"..., 65) → 65
SYS 690097 690097 4'285'305 close(6) → 0
SYS 690097 690097 4'290'090 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{59, 999999}]) → 1
SYS 690097 690097 4'296'105 write(4, u"3 •☻ á @♪(╡/² X one◙ ["..., 55) → 55
SYS 690100 690100 4'309'530 select(1, {0} → [{0}], {} → [{}], {0} → [{}], {60, 0} → [{59, 999851}]) → 1 ENOENT
SYS 690100 690100 4'317'795 read(0, [u"3 •☻ á @♪(╡/² X one◙ ["...], 32'768) → 55 ENOENT
SYS 690100 690100 4'330'020 openat(AT_FDCWD, "two.txt", O_RDONLY) → -1 ENOENT
SYS 690100 690100 4'347'480 openat(AT_FDCWD, ".two.txt.651x5t", O_RDWR|O_CREAT|O_EXCL, 0600) → 1 ENOENT
SYS 690100 690100 4'351'905 fchmod(1, 0600) → 0 ENOENT
SYS 690100 690100 4'365'855 mmap(0, 131'072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x1000800e0000 ENOENT (2'621'440 bytes total)
SYS 690100 690100 4'390'590 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080280000 ENOENT (2'949'120 bytes total)
SYS 690100 690100 4'407'270 mmap(0, 2'555'904, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080400000 ENOENT (5'505'024 bytes total)
SYS 690100 690100 4'525'065 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080300000 ENOENT (5'832'704 bytes total)
SYS 690100 690100 4'537'890 write(1, u"one◙", 4) → 4 ENOENT
SYS 690100 690100 4'542'495 close(1) → 0 ENOENT
SYS 690100 690100 4'547'280 fstatat(AT_FDCWD, ".two.txt.651x5t", [{.st_size=4, .st_blocks=4'096/512, .st_mode=0100600, .st_uid=1000, .st_gid=1000, .st_dev=0x2f, .st_ino=0x124e}], AT_SYMLINK_NOFOLLOW) → 0 ENOENT
SYS 690100 690100 4'555'200 utimensat(AT_FDCWD, ".two.txt.651x5t", {{1720132112, 996667920}, {1720131993, 333333997}}, 0400) → 0 ENOENT
SYS 690100 690100 4'559'175 fchmodat(AT_FDCWD, ".two.txt.651x5t", 0644, 256) → 0 ENOENT
SYS 690100 690100 4'569'855 renameat(AT_FDCWD, ".two.txt.651x5t", AT_FDCWD, "two.txt") → 0 ENOENT
SYS 690100 690100 4'574'250 fstatat(AT_FDCWD, "two.txt", [{.st_size=4, .st_blocks=4'096/512, .st_mode=0100644, .st_uid=1000, .st_gid=1000, .st_dev=0x2f, .st_ino=0x124e}], 0) → 0 ENOENT
SYS 690100 690100 4'582'080 select(6, {0} → [{}], {5} → [{5}], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690100 690100 4'587'390 write(5, u"¶ k☺ / N↕ ", 24) → 24 ENOENT
SYS 690099 690099 4'628'925 select(5, {4} → [{4}], {} → [{}], {4} → [{}], {60, 0} → [{59, 999619}]) → 1 ENOENT
SYS 690099 690099 4'645'875 read(4, [u"¶ k☺ / N↕ "], 32'768) → 24 ENOENT
SYS 690099 690099 4'688'355 munmap(0x100080200000, 327'680) → 0 ENOENT (2'162'688 bytes total)
SYS 690099 690099 4'700'010 munmap(0x100080100000, 327'680) → 0 ENOENT (1'835'008 bytes total)
SYS 690099 690099 4'707'885 select(5, {4} → [{}], {1} → [{1}], {4} → [{}], {60, 0} → [{59, 999998}]) → 1 ENOENT
SYS 690099 690099 4'717'575 write(1, u"☺ • ", 5) → 5 ENOENT
SYS 690097 690097 4'734'450 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{59, 999710}]) → 1
SYS 690097 690097 4'743'015 read(5, [u"☺ • "], 32'768) → 5
SYS 690097 690097 4'756'080 munmap(0x100080200000, 327'680) → 0 (5'832'704 bytes total)
SYS 690097 690097 4'763'460 munmap(0x100080100000, 327'680) → 0 (5'505'024 bytes total)
SYS 690097 690097 4'768'260 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{59, 999999}]) → 1
SYS 690097 690097 4'773'390 write(4, u"☺ • ", 5) → 5
SYS 690100 690100 4'777'455 select(1, {0} → [{0}], {} → [{}], {0} → [{}], {60, 0} → [{59, 999875}]) → 1 ENOENT
SYS 690100 690100 4'781'700 read(0, [u"☺ • "], 32'768) → 5 ENOENT
SYS 690100 690100 4'793'295 munmap(0x100080200000, 327'680) → 0 ENOENT (5'505'024 bytes total)
SYS 690100 690100 4'800'960 munmap(0x100080100000, 327'680) → 0 ENOENT (5'177'344 bytes total)
SYS 690100 690100 4'806'030 select(6, {0} → [{}], {5} → [{5}], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690100 690100 4'811'655 write(5, u"♦ •λλλλ", 8) → 8 ENOENT
SYS 690099 690099 4'822'170 select(5, {4} → [{4}], {} → [{}], {4} → [{}], {60, 0} → [{59, 999934}]) → 1 ENOENT
SYS 690099 690099 4'829'265 read(4, [u"♦ •λλλλ"], 32'768) → 8 ENOENT
SYS 690099 690099 4'836'180 select(5, {4} → [{}], {1} → [{1}], {4} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 4'843'725 write(1, u"♥ • ", 7) → 7 ENOENT
SYS 690097 690097 4'848'390 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{59, 999952}]) → 1
SYS 690097 690097 4'852'110 read(5, [u"♥ • "], 32'768) → 7
SYS 690097 690097 4'857'000 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{59, 999999}]) → 1
SYS 690097 690097 4'861'035 write(4, u"☻ • ", 6) → 6
SYS 690097 690097 4'865'280 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{59, 999999}]) → 1
SYS 690100 690100 4'865'670 select(1, {0} → [{0}], {} → [{}], {0} → [{}], {60, 0} → [{59, 999966}]) → 1 ENOENT
SYS 690097 690097 4'868'595 write(4, u"☺ • ", 5) → 5
SYS 690100 690100 4'870'770 read(0, [u"☻ • ☺ • "], 32'768) → 11 ENOENT
SYS 690100 690100 4'876'740 select(6, {0} → [{}], {5} → [{5}], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690100 690100 4'880'535 write(5, u"♦ •λλλλ", 8) → 8 ENOENT
SYS 690100 690100 4'886'490 select(6, {0} → [{}], {5} → [{5}], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 4'887'345 select(5, {4} → [{4}], {} → [{}], {4} → [{}], {60, 0} → [{59, 999974}]) → 1 ENOENT
SYS 690100 690100 4'890'240 write(5, u"◘ ◄{ ", 12) → 12 ENOENT
SYS 690100 690100 4'893'945 select(6, {0} → [{}], {5} → [{5}], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 4'894'845 read(4, [u"♦ •λλλλ◘ ◄{ "], 32'768) → 20 ENOENT
SYS 690100 690100 4'896'720 write(5, u"♦ •λλλλ", 8) → 8 ENOENT
SYS 690099 690099 4'902'195 select(5, {4} → [{4}], {} → [{}], {4} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690100 690100 4'903'560 select(6, {0} → [{}], {5} → [{5}], {0} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690100 690100 4'907'445 write(5, u"♦ •λλλλ", 8) → 8 ENOENT
SYS 690099 690099 4'907'400 read(4, [u"♦ •λλλλ"], 32'768) → 8 ENOENT
SYS 690099 690099 4'914'120 select(5, {4} → [{4}], {} → [{}], {4} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 4'919'160 read(4, [u"♦ •λλλλ"], 32'768) → 8 ENOENT
SYS 690099 690099 4'925'280 select(5, {4} → [{}], {1} → [{1}], {4} → [{}], {60, 0} → [{59, 999999}]) → 1 ENOENT
SYS 690099 690099 4'931'160 write(1, u"☺ • ", 5) → 5 ENOENT
SYS 690097 690097 4'935'165 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{59, 999957}]) → 1
SYS 690097 690097 4'938'675 read(5, [u"☺ • "], 32'768) → 5
SYS 690099 690099 4'939'680 kill(690100, SIGUSR2) → 0 ENOENT
SYS 690097 690097 4'943'895 wait4(690099, [0], 1, 0) → 0
SYS 690100 690100 4'946'355 _Exit(0)
SYS 690099 690099 4'946'100 wait4(690100, [0], 1, 0) → 0 ENOENT
SYS 690099 690099 5'096'775 wait4(-1, [0], 1, 0) → 690100 ENOENT
SYS 690099 690099 5'105'865 wait4(-1, [0], 1, 0) → -1 ECHILD
SYS 690099 690099 5'113'260 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 19962265}, [n/a]) → -1 EINTR
SYS 690097 690097 34'990'680 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS 690097 690097 35'001'465 wait4(690099, [0], 1, 0) → 0
SYS 690099 690099 35'100'825 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 19962265}, [{0, 19962265}]) → 0 EINTR
SYS 690099 690099 35'107'770 wait4(690100, [0], 1, 0) → -1 ECHILD
SYS 690099 690099 35'116'770 sigaction(SIGUSR1, {.sa_handler=SIG_IGN}, [NULL]) → 0 ECHILD
SYS 690099 690099 35'121'000 sigaction(SIGUSR2, {.sa_handler=SIG_IGN}, [NULL]) → 0 ECHILD
SYS 690099 690099 35'122'995 exit(0)
SYS 690099 690099 35'126'475 __cxa_finalize(&OPENSSL_cleanup, 0)
SYS 690099 690099 35'148'675 __cxa_finalize(&__gdtoa_Bclear, 0)
SYS 690099 690099 35'153'340 __cxa_finalize(&fflush_unlocked, 0)
SYS 690099 690099 35'159'355 _Exit(0)
SYS 690097 690097 35'280'825 wait4(-1, [0], 1, 0) → 690099
SYS 690097 690097 35'289'780 wait4(-1, [0], 1, 0) → -1 ECHILD
SYS 690097 690097 35'296'710 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 19874231}, [n/a]) → -1 EINTR
SYS 690097 690097 65'156'670 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 19874231}, [{0, 19874231}]) → 0 EINTR
SYS 690097 690097 65'166'735 wait4(690099, [0], 1, 0) → -1 ECHILD
SYS 690097 690097 65'171'865 write(1, u"◙", 1) → 1 ECHILD
sent 118 bytes received 35 bytes 306.00 bytes/sec
SYS 690097 690097 65'179'890 write(1, u"sent 118 bytes received 35 bytes 306.0"..., 52) → 52
total size is 4 speedup is 0.03
SYS 690097 690097 65'187'015 write(1, u"total size is 4 speedup is 0.03◙", 33) → 33
SYS 690097 690097 65'194'215 sigaction(SIGUSR1, {.sa_handler=SIG_IGN}, [NULL]) → 0
SYS 690097 690097 65'198'445 sigaction(SIGUSR2, {.sa_handler=SIG_IGN}, [NULL]) → 0
SYS 690097 690097 65'201'115 wait4(690099, [0], 1, 0) → -1 ECHILD
SYS 690097 690097 65'205'735 exit(0)
SYS 690097 690097 65'207'865 __cxa_finalize(&OPENSSL_cleanup, 0)
SYS 690097 690097 65'231'295 __cxa_finalize(&__gdtoa_Bclear, 0)
SYS 690097 690097 65'234'985 __cxa_finalize(&fflush_unlocked, 0)
SYS 690097 690097 65'238'675 _Exit(0)
Contact Details
wes@wezm.net
What happened?
rsync
appears to hang after it has processed all the files. Minimal reproduction:Version
rsync
downloaded from https://cosmo.zip/pub/cosmos/zip/cosmos-3.3.1.zip (https://cosmo.zip/pub/cosmos/bin/rsync behaves the same):Host:
OS Name Microsoft Windows 11 Home Version 10.0.26100 Build 26100 System Type ARM64-based PC Processor Snapdragon(R) X Elite - X1E78100 - Qualcomm(R) Oryon(TM) CPU, 3417 Mhz, 12 Core(s), 12 Logical Processor(s)
What operating system are you seeing the problem on?
Windows
Relevant log output
The SIGINT at the end is me pressing Ctrl-c