cosmopolitan icon indicating copy to clipboard operation
cosmopolitan copied to clipboard

Bug: cosmo rsync appears to hang on Windows arm64

Open wezm opened this issue 1 year ago • 5 comments

Contact Details

[email protected]

What happened?

rsync appears to hang after it has processed all the files. Minimal reproduction:

echo one > one.txt
rsync -avzhP one.txt two.txt

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):

$ ../Downloads/cosmos-3.3.1/bin/rsync --version
rsync  version 3.2.7  protocol version 31

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

$ ../Downloads/cosmos-3.3.1/bin/rsync --strace -avzhP Small/one.txt outx.txt
SYS  10120  10120          3'199'511 bell system five system call support 8'253'455 magnums loaded on the new technology
SYS  10120  24464          5'828'610 getenv("_COSMO_FDS") → NULL
SYS  10120  24464          5'967'968 getenv("COSMOPOLITAN_DISABLE_ZIPOS") → NULL
SYS  10120  24464          5'978'234 getenv("COSMOPOLITAN_INIT_ZIPOS") → NULL
SYS  10120  24464          6'147'210 GetProgramExecutableName() → "/C/Users/wes/Downloads/cosmos-3.3.1/bin/rsync.exe"
SYS  10120  24464          6'938'931 openat(AT_FDCWD, "/C/Users/wes/Downloads/cosmos-3.3.1/bin/rsync.exe", O_RDONLY) → 3
SYS  10120  24464          7'688'585 fstat(3, [{.st_size=6'812'880, .st_blocks=6'815'744/512, .st_mode=0100700, .st_uid=4728, .st_gid=4728, .st_dev=0x9a4e57a6, .st_ino=0x300000004f4c1, .st_flags=20}]) → 0
SYS  10120  24464         10'136'849 mmap(0, 6'812'880, PROT_READ, MAP_SHARED, 3, 0) → 0x100080400000 (15'269'888 bytes total)
SYS  10120  24464         10'973'115 munmap(0x100080400000, 6'029'312) → 0 (9'240'576 bytes total)
SYS  10120  24464         11'046'452 madvise(0x1000809ce000, 696'320, 127) → -1 EINVAL
SYS  10120  24464         11'191'946 mmap(0, 2'232, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080040000 (9'306'112 bytes total)
SYS  10120  24464         11'914'460 close(3) → 0
SYS  10120  24464         11'929'269 __zipos_get("/C/Users/wes/Downloads/cosmos-3.3.1/bin/rsync.exe") → 0
SYS  10120  24464         12'054'113 mmap(0, 393'216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080080000 (9'699'328 bytes total)
SYS  10120  24464         16'955'774 inflate([u"SYMT☺   «)        ♠       ♠       @     "...], 393'216, u"\\╫w╝Åσλ8≡╦↓÷8╞↓¶íä4$Ѽ¿(→ö4∞4l♫“ñ∟[μQi→╟"..., 133'545) → 0
SYS  10120  24464         17'176'080 GetSymbolTableFromZip() → 0x100080080000
SYS  10120  24464         17'350'838 getenv("HOME") → "/C/Users/wes"
SYS  10120  24464         17'356'974 getenv("TMPDIR") → "/C/Users/wes/AppData/Local/Temp"
SYS  10120  24464         17'371'547 getenv("TERM") → "xterm"
SYS  10120  24464         18'001'667 sigaction(SIGUSR1, {.sa_handler=&sigusr1_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS  10120  24464         18'061'434 sigaction(SIGUSR2, {.sa_handler=&sigusr2_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS  10120  24464         18'069'281 sigaction(SIGCHLD, {.sa_handler=&remember_children, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS  10120  24464         18'077'010 sigaction(SIGINFO, {.sa_handler=&siginfo_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS  10120  24464         18'084'621 sigaction(SIGVTALRM, {.sa_handler=&siginfo_handler, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0
SYS  10120  24464         18'183'446 getuid() → 4728
SYS  10120  24464         18'194'184 geteuid() → 4728
SYS  10120  24464         18'215'837 getgid() → 4728
SYS  10120  24464         18'223'448 getegid() → 4728
SYS  10120  24464         18'280'265 getenv("OPENSSL_CONF") → NULL
SYS  10120  24464         18'440'214 mmap(0, 65'536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080050000 (9'764'864 bytes total)
SYS  10120  24464         18'625'061 setenv("OPENSSL_CONF", "/zip/openssl.conf", true) → 0
SYS  10120  24464         18'669'842 umask(077) → 02
SYS  10120  24464         18'675'978 umask(0) → 02
SYS  10120  24464         19'115'528 getenv("POSIXLY_CORRECT") → NULL
SYS  10120  24464         19'126'974 getenv("POSIX_ME_HARDER") → NULL
SYS  10120  24464         19'402'976 openat(AT_FDCWD, "/etc/popt", O_RDONLY) → -1 ENOENT
SYS  10120  24464         19'423'154 getenv("HOME") → "/C/Users/wes"
SYS  10120  24464         19'620'686 openat(AT_FDCWD, "/C/Users/wes/.popt", O_RDONLY) → -1 ENOENT
SYS  10120  24464         20'579'259 getenv("RSYNC_MAX_ALLOC") → NULL
SYS  10120  24464         20'612'948 getenv("RSYNC_OLD_ARGS") → NULL
SYS  10120  24464         20'638'259 getenv("RSYNC_PROTECT_ARGS") → NULL
SYS  10120  24464         21'067'307 getenv("RSYNC_PARTIAL_DIR") → NULL
SYS  10120  24464         21'107'309 sigaction(SIGINT, {.sa_handler=&sig_int, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS  10120  24464         21'115'451 sigaction(SIGHUP, {.sa_handler=&sig_int, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS  10120  24464         21'123'416 sigaction(SIGTERM, {.sa_handler=&sig_int, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS  10120  24464         21'292'746 sigprocmask(SIG_UNBLOCK, {HUP,INT,USR1,USR2,TERM,CHLD,VTALRM,INFO}, [NULL]) → 0 ENOENT
SYS  10120  24464         21'326'435 sigaction(SIGPIPE, {.sa_handler=SIG_IGN, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS  10120  24464         21'331'745 sigaction(SIGXFSZ, {.sa_handler=SIG_IGN, .sa_flags=SA_NOCLDSTOP}, [NULL]) → 0 ENOENT
SYS  10120  24464         21'420'009 getcwd([u"/C/Users/wes/Documents"], 1'023) → 23 ENOENT
SYS  10120  24464         21'989'123 fcntl(3, F_GETFL) → O_RDWR
SYS  10120  24464         22'049'834 fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS  10120  24464         22'059'038 fcntl(4, F_GETFL) → O_RDWR
SYS  10120  24464         22'064'702 fcntl(4, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS  10120  24464         22'089'482 fcntl(5, F_GETFL) → O_RDWR
SYS  10120  24464         22'091'783 fcntl(5, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS  10120  24464         22'093'199 fcntl(6, F_GETFL) → O_RDWR
SYS  10120  24464         22'094'969 fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK) → 0 ENOENT
SYS  10120  24464         22'346'663 GetProgramExecutableName() → "/C/Users/wes/Downloads/cosmos-3.3.1/bin/rsync.exe"
SYS  10120  24464         49'605'548 futex(&6fc000040008 [1], FUTEX_WAKE, 1) → 0 woken
SYS  10120  24464         49'703'960 fork() → 22304 ENOENT
SYS  10120  24464         49'757'001 close(6) → 0 ENOENT
SYS  10120  24464         49'763'963 close(3) → 0 ENOENT
SYS  10120  24464         49'941'258 fcntl(5, F_GETFL) → O_RDWR|O_NONBLOCK
SYS  10120  22400         49'915'593 futex(&6fc000040008 [1], FUTEX_WAIT, 0, NULL) → 0
SYS  10120  24464         49'952'055 fcntl(4, F_GETFL) → O_RDWR|O_NONBLOCK
SYS  10120  24464         50'312'073 write(4, u"▼   ", 4) → 4 ENOENT
SYS  10120  24464         68'581'305 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464         68'706'090 read(5, [u"▼   "], 4) → 4 ENOENT
SYS  10120  24464         68'788'690 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464         68'794'177 read(5, [u"ü"], 1) → 1 ENOENT
SYS  10120  24464         68'816'125 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464         68'820'019 read(5, [u"√"], 1) → 1 ENOENT
SYS  10120  24464         69'255'675 getenv("RSYNC_CHECKSUM_LIST") → NULL
SYS  10120  24464         69'353'497 write(4, u"•", 1) → 1 ENOENT
SYS  10120  24464         69'361'639 write(4, u"md5 md4", 7) → 7 ENOENT
SYS  10120  24464         69'378'100 getenv("RSYNC_COMPRESS_LIST") → NULL
SYS  10120  24464         69'382'938 write(4, u"☼", 1) → 1 ENOENT
SYS  10120  24464         69'386'655 write(4, u"zstd zlibx zlib", 15) → 15 ENOENT
SYS  10120  24464         69'428'545 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464         69'432'852 read(5, [u"♀"], 1) → 1 ENOENT
SYS  10120  24464         69'447'189 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464         69'450'847 read(5, [u"md5 md4 none"], 12) → 12 ENOENT
SYS  10120  24464         69'534'981 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464         69'538'639 read(5, [u"¶"], 1) → 1 ENOENT
SYS  10120  24464         69'542'946 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464         69'548'020 read(5, [u"zstd zlibx zlib none"], 20) → 20 ENOENT
SYS  10120  24464        104'176'536 select(6, {5} → [{5}], NULL → [NULL], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464        104'208'396 read(5, [u"Fñôf"], 4) → 4 ENOENT
SYS  10120  24464        104'399'320 fcntl(2, F_GETFL) → O_WRONLY|O_APPEND
SYS  10120  24464        104'489'649 mmap(0, 131'072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080060000 ENOENT (9'961'472 bytes total)
sending incremental file list
SYS  10120  24464        104'970'558 write(1, u"sending incremental file list◙", 30) → 30
SYS  10120  24464        105'178'179 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080100000 (10'289'152 bytes total)
SYS  10120  24464        105'248'979 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080180000 (10'616'832 bytes total)
SYS  10120  24464        105'440'139 getenv("TMPDIR") → "/C/Users/wes/AppData/Local/Temp"
SYS  10120  24464        105'474'772 GetProgramExecutableName() → "/C/Users/wes/Downloads/cosmos-3.3.1/bin/rsync.exe"
SYS  10120  24464        105'652'362 chdir("/C/Users/wes/Documents/Small") → 0
SYS  10120  24464        105'887'949 fstatat(AT_FDCWD, "one.txt", [{.st_size=5, .st_blocks=4'096/512, .st_mode=0100600, .st_uid=4728, .st_gid=4728, .st_dev=0x9a4e57a6, .st_ino=0x400000004f6c8, .st_flags=20}], AT_SYMLINK_NOFOLLOW) → 0
SYS  10120  24464        106'020'168 fstatat(AT_FDCWD, "one.txt", [{.st_size=5, .st_blocks=4'096/512, .st_mode=0100600, .st_uid=4728, .st_gid=4728, .st_dev=0x9a4e57a6, .st_ino=0x400000004f6c8, .st_flags=20}], AT_SYMLINK_NOFOLLOW) → 0
SYS  10120  24464        106'151'502 mmap(0, 327'680, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080200000 (10'944'512 bytes total)
SYS  10120  24464        106'413'816 openat(AT_FDCWD, "/etc/passwd", O_RDONLY|O_CLOEXEC) → -1 ENOENT
SYS  10120  24464        106'428'507 getuid() → 4728
SYS  10120  24464        106'431'870 getgid() → 4728
SYS  10120  24464        106'434'879 getenv("USER") → "wes"
SYS  10120  24464        106'437'357 getenv("HOME") → "/C/Users/wes"
SYS  10120  24464        106'439'835 getenv("SHELL") → "/C/Program Files/Git/usr/bin/bash.exe"
SYS  10120  24464        106'973'667 openat(AT_FDCWD, "/etc/group", O_RDONLY|O_CLOEXEC) → -1 ENOENT
SYS  10120  24464        107'524'845 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464        107'558'947 write(4, u"&  •ñ •one.txt ♣ f≡jå≡¿èτ↕Çü  Æx♥wesÆx  "..., 42) → 42 ENOENT
SYS  10120  24464        158'377'122 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{60, 0}]) → 1 ENOENT
SYS  10120  24464        158'469'988 read(5, [u"‼  •☻ á                "], 32'768) → 23 ENOENT
SYS  10120  24464        159'099'046 openat(AT_FDCWD, "one.txt", O_RDONLY) → 3 ENOENT
SYS  10120  24464        159'146'187 fstat(3, [{.st_size=5, .st_blocks=4'096/512, .st_mode=0100600, .st_uid=4728, .st_gid=4728, .st_dev=0x9a4e57a6, .st_ino=0x400000004f6c8, .st_flags=20}]) → 0 ENOENT
one.txt
SYS  10120  24464        159'337'111 write(1, u"one.txt◙", 8) → 8
SYS  10120  24464        159'823'743 read(3, [u"one♪◙"], 5) → 5
SYS  10120  24464        160'566'612 mmap(0, 3'670'016, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) → 0x100080400000 (14'614'528 bytes total)
SYS  10120  24464        161'716'345 getpgrp() → 10120
SYS  10120  24464        161'771'038 tcgetpgrp(1) → -1 ENOTTY
              5 100%    0.00kB/s    0:00:00  SYS  10120  24464        162'803'125 write(1, u"♪              5 100%    0.00kB/s    0:0"..., 46) → 46
              5 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=0/1)
SYS  10120  24464        163'108'155 write(1, u"♪              5 100%    0.00kB/s    0:0"..., 65) → 65
SYS  10120  24464        163'145'325 close(3) → 0
SYS  10120  24464        163'251'112 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{60, 0}]) → 1
SYS  10120  24464        163'257'189 write(4, u"4  •☻ á                @♫(╡/² X(  one♪◙ "..., 56) → 56
SYS  10120  24464        265'165'116 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{60, 0}]) → 1
SYS  10120  24464        265'298'574 read(5, [u"☺  • "], 32'768) → 5
SYS  10120  24464        265'561'596 munmap(0x100080200000, 327'680) → 0 (14'286'848 bytes total)
SYS  10120  24464        265'686'735 munmap(0x100080100000, 327'680) → 0 (13'959'168 bytes total)
SYS  10120  24464        265'742'608 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{60, 0}]) → 1
SYS  10120  24464        265'750'986 write(4, u"☺  • ", 5) → 5
SYS  10120  24464        320'257'900 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{60, 0}]) → 1
SYS  10120  24464        320'351'828 read(5, [u"♥  •   "], 32'768) → 7
SYS  10120  24464        320'654'144 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{60, 0}]) → 1
SYS  10120  24464        320'680'871 write(4, u"☻  •  ", 6) → 6
SYS  10120  24464        321'006'787 select(6, {5} → [{}], {4} → [{4}], {5} → [{}], {60, 0} → [{60, 0}]) → 1
SYS  10120  24464        321'025'313 write(4, u"☺  • ", 5) → 5
SYS  10120  24464        356'013'375 select(6, {5} → [{5}], {} → [{}], {5} → [{}], {60, 0} → [{60, 0}]) → 1
SYS  10120  24464        356'093'556 read(5, [u"☺  • "], 32'768) → 5
SYS  10120  24464        356'664'086 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        392'472'189 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        392'690'548 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        429'261'226 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        429'951'054 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        464'181'261 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        464'250'822 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        499'912'487 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        499'948'890 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        535'952'696 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        535'998'893 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        572'465'672 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        572'566'208 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        607'785'255 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        607'931'752 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        643'668'937 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        643'700'620 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        679'964'616 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        679'986'564 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        716'357'350 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        716'513'818 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        752'191'767 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        752'215'544 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        787'362'139 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        787'515'716 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        823'416'331 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        823'440'403 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        859'340'723 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        859'510'761 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        895'174'019 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        895'283'936 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        931'100'830 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        931'119'002 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464        967'575'574 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464        967'600'295 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'004'058'578 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'004'079'169 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'039'786'264 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'039'868'982 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'075'378'840 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'075'469'287 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'110'907'991 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'110'952'005 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'146'887'194 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'146'937'285 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'182'798'488 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'182'830'112 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'218'533'372 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'218'957'641 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'254'405'608 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'254'560'896 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'289'760'060 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'289'860'242 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'328'597'518 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464      1'328'660'648 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464      1'360'698'002 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
[snip wait4 & sys_clock_nanosleep repeated over and over]
SYS  10120  24464     11'777'476'160 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464     11'813'437'781 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464     11'813'573'481 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464     11'850'396'030 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464     11'850'447'891 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464     11'886'773'424 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464     11'886'901'395 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464     11'922'085'101 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 20000000}, [{0, 20000000}]) → 0
SYS  10120  24464     11'922'128'820 wait4(22304, [0], 1, 0) → 0
SYS  10120  19104     11'944'803'995 SIGINT waking 24464's futex
SYS  10120  24464     11'947'009'356 __sig_raise(SIGINT, &sig_int) mask {INT}
SYS  10120  24464     12'411'344'489 sys_clock_nanosleep(CLOCK_REALTIME, 0, {0, 400000000}, [{0, 400000000}]) → 0
SYS  10120  24464     12'411'693'061 sigaction(SIGUSR1, {.sa_handler=SIG_IGN}, [NULL]) → 0
SYS  10120  24464     12'411'720'673 sigaction(SIGUSR2, {.sa_handler=SIG_IGN}, [NULL]) → 0
SYS  10120  24464     12'411'931'657 wait4(22304, [0], 1, 0) → 0
SYS  10120  24464     12'413'086'405 kill(22304, SIGUSR1) → 0
rsync error: received SIGINT, SIGTERM, or SIGHUP (code 20) at rsync.c(713) [sender=3.2.7]
SYS  10120  24464     12'414'241'330 writev(2, {{u"", 0}, {u"rsync error: received SIGINT, SIGTERM, o"..., 90}}, 2) → 90
SYS  10120  24464     12'414'514'205 _Exit(20)

The SIGINT at the end is me pressing Ctrl-c

wezm avatar Jul 04 '24 09:07 wezm

@ahgamut Can we remove rsync from Cosmos? This isn't something I'm willing to support on Windows.

jart avatar Jul 04 '24 11:07 jart

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?

endgame avatar Jul 04 '24 19:07 endgame

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:

  • what does the --strace for the same command look like on Linux?
  • Is 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.)

ahgamut avatar Jul 04 '24 20:07 ahgamut

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.

jart avatar Jul 04 '24 21:07 jart

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)

wezm avatar Jul 04 '24 22:07 wezm

I've fixed all the issues that were causing rsync to not work on Windows. As such, rsync will be reintroduced into Cosmos shortly. We needed to patch rsync here https://github.com/ahgamut/superconfigure/commit/9747fcadeb5f25008efca4e41c09177c1fc7aaaa Enjoy!

jart avatar Sep 19 '24 10:09 jart

Thank you! I'll try it out on the weekend.

wezm avatar Sep 19 '24 22:09 wezm