jart / cosmopolitan

build-once run-anywhere c library
ISC License
17.27k stars 593 forks source link

Bug: cosmo rsync appears to hang on Windows arm64 #1240

Open wezm opened 3 days ago

wezm commented 3 days ago

Contact Details

wes@wezm.net

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

jart commented 2 days ago

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

endgame commented 2 days ago

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?

ahgamut commented 2 days ago

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:

jart commented 2 days ago

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.

wezm commented 2 days ago

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)