All,

Could this be a race condition? I don't believe "true" actually reads
from stdin, so perhaps it's finishing execution before the piped
output is written to its stdin? That would cause the SIGPIPE.

Alexander

On Mon, Aug 4, 2025 at 3:39 AM Sergei Trofimovich <sly...@gmail.com> wrote:
>
> On Mon, 04 Aug 2025 00:49:47 +0200
> Antonio Diaz Diaz <anto...@gnu.org> wrote:
>
> > Hi Sergei,
> >
> > Sergei Trofimovich wrote:
> > >      testing ed-1.22...
> > >      *** The script
> > > /home/slyfox/dev/tarballs/ed-1.22/testsuite/filter.ed exited
> > > abnormally *** tests failed. Please, send a bug report to
> > > bug-ed@gnu.org Include the (compressed) contents of
> > > '/home/slyfox/dev/tarballs/ed-1.22/tmp' in the report.
> >
> > I have tried to reproduce the problem for almost an hour on two
> > machines without success.
>
> Aha, I was afraid of it being hard to reproduce. I tried on both NixOS
> and Gentoo OSes. Each of the two reproduces the failure within 1-2
> minutes.
>
> > Does the file 'filter.log' exist in 'ed-1.22/tmp'? What does it
> > contain?
>
> Yes, there is a file:
>
> $ cat tmp/filter.log
> 855
> 355
> 355
>
> > > At a cursory glance the failure always happens around
> > > `testsuite/filter.ed` test and is possibly related to signal
> > > handling. Don't know more details.
> >
> > It may be a problem writing the temporary file. Without 'filter.log'
> > it is difficult to know.
>
> Here is slightly more directed reproducer:
>
> $ while :; do echo ==RUN==; cp testsuite/test.txt test.txt; ./ed
> test.txt < testsuite/filter.ed || break; done ==RUN==
> 855
> 355
> 355
> 63
> 0
> 16
> 0
> 146
> 146
> 788
> ...
> ==RUN==
> 855
> 355
> 355
> 63
> 0
> 16
> 0
> 146
> 146
> 788
> ==RUN==
> 855
> 355
> 355
>
> `strace` output shows some difference. Looks like the process exit is
> due to `SIGPIPE`.
>
> $ while :; do echo ==RUN==; cp testsuite/test.txt test.txt; strace ./ed
> test.txt < testsuite/filter.ed || break; done ...
> ==RUN==
> execve("./ed", ["./ed", "test.txt"], 0x7fffae134608 /* 36 vars */) = 0
> brk(NULL)                               = 0x55afa34bb000
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0x7f66437fd000 access("/etc/ld.so.preload", R_OK)      = -1 ENOENT
> (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache",
> O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=53714,
> ...}) = 0 mmap(NULL, 53714, PROT_READ, MAP_PRIVATE, 3, 0) =
> 0x7f66437ef000 close(3)                                = 0
> openat(AT_FDCWD, "/usr/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
> read(3,
> "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0t\2\0\0\0\0\0"...,
> 832) = 832 pread64(3,
> "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"...,
> 784, 64) = 784 fstat(3, {st_mode=S_IFREG|0755, st_size=1978624, ...}) =
> 0 pread64(3,
> "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"...,
> 784, 64) = 784 mmap(NULL, 2010200, PROT_READ,
> MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f6643604000 mmap(0x7f6643628000,
> 1466368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3,
> 0x24000) = 0x7f6643628000 mmap(0x7f664378e000, 339968, PROT_READ,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18a000) = 0x7f664378e000
> mmap(0x7f66437e1000, 24576, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1dc000) = 0x7f66437e1000
> mmap(0x7f66437e7000, 31832, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7f66437e7000 close(3)
>                              = 0 mmap(NULL, 12288,
> PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7f6643601000 arch_prctl(ARCH_SET_FS, 0x7f6643601740) = 0
> set_tid_address(0x7f6643601a10)         = 25873
> set_robust_list(0x7f6643601a20, 24)     = 0 rseq(0x7f6643601680, 0x20,
> 0, 0x53053053) = 0 mprotect(0x7f66437e1000, 16384, PROT_READ) = 0
> mprotect(0x55af7cfef000, 4096, PROT_READ) = 0 mprotect(0x7f664383c000,
> 8192, PROT_READ) = 0 prlimit64(0, RLIMIT_STACK, NULL,
> {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
> munmap(0x7f66437ef000, 53714)           = 0
> getrandom("\x61\xc2\xbb\xd7\x1e\x49\xaf\x67", 8, GRND_NONBLOCK) = 8
> brk(NULL)                               = 0x55afa34bb000
> brk(0x55afa34dc000)                     = 0x55afa34dc000
> openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC)
> = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=233217696, ...}) = 0
> mmap(NULL, 233217696, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6635600000
> close(3)                                = 0 openat(AT_FDCWD, "/tmp",
> O_RDWR|O_EXCL|O_TMPFILE, 0600) = 3 fcntl(3, F_GETFL)
>    = 0x418002 (flags O_RDWR|O_LARGEFILE|O_TMPFILE) openat(AT_FDCWD,
> "test.txt", O_RDWR)    = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=855,
> ...}) = 0 read(4, "This natural inequality of the t"..., 4096) = 855
> fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 read(4, "", 4096)
>                      = 0 close(4)                                = 0
> fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0), ...}) = 0
> write(1, "855\n", 4855 )                    = 4 ioctl(0, TIOCGWINSZ,
> 0x7ffe4ec8e150)    = -1 ENOTTY (Inappropriate ioctl for device)
> ioctl(0, TCGETS, 0x7ffe4ec8e0d0)        = -1 ENOTTY (Inappropriate
> ioctl for device) rt_sigaction(SIGHUP, {sa_handler=0x55af7cfeb8b0,
> sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART,
> sa_restorer=0x7f66436414b0}, NULL, 8) = 0 rt_sigaction(SIGQUIT,
> {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART,
> sa_restorer=0x7f66436414b0}, NULL, 8) = 0 rt_sigaction(SIGINT,
> {sa_handler=0x55af7cfeb370, sa_mask=[],
> sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7f66436414b0}, NULL, 8)
> = 0 read(0, "H", 1)                         = 1 read(0, "\n", 1)
>                 = 1 read(0, "6", 1)                         = 1 read(0,
> ",", 1)                         = 1 read(0, "1", 1)
>     = 1 read(0, "0", 1)                         = 1 read(0, "!", 1)
>                     = 1 read(0, "s", 1)                         = 1
> read(0, "o", 1)                         = 1 read(0, "r", 1)
>             = 1 read(0, "t", 1)                         = 1 read(0,
> "\n", 1)                        = 1 getpid()
>     = 25873 pipe2([4, 5], O_CLOEXEC)                = 0 prlimit64(0,
> RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) = 0
> prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) =
> 0 mmap(NULL, 36864, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f66437f4000
> rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
> clone3({flags=CLONE_VM|CLONE_VFORK|CLONE_CLEAR_SIGHAND,
> exit_signal=SIGCHLD, stack=0x7f66437f4000, stack_size=0x9000}, 88) =
> 25874 munmap(0x7f66437f4000, 36864)           = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 close(4)
>              = 0 fcntl(5, F_SETFD, 0)                    = 0 write(3,
> "This natural inequality of the t"..., 842) = 842 lseek(3, 0, SEEK_SET)
>                   = 0 read(3, "This natural inequality of the t"...,
> 4096) = 842 fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
> write(5, "comparison of this. I see no way"..., 355) = 355 close(5)
>                            = 0 wait4(25874, [{WIFEXITED(s) &&
> WEXITSTATUS(s) == 0}], 0, NULL) = 25874 --- SIGCHLD {si_signo=SIGCHLD,
> si_code=CLD_EXITED, si_pid=25874, si_uid=0, si_status=0, si_utime=0,
> si_stime=0} --- write(1, "355\n", 4355 )                    = 4
> openat(AT_FDCWD, "/tmp/ed-pyj", O_RDWR) = 4 fstat(4,
> {st_mode=S_IFREG|0644, st_size=355, ...}) = 0 read(4, "agrarian
> regulations in their ut"..., 4096) = 355 fstat(3,
> {st_mode=S_IFREG|0600, st_size=842, ...}) = 0 lseek(3, 0, SEEK_SET)
>               = 0 read(3, "This natural inequality of the t"..., 4096)
> = 842 read(4, "", 4096)                       = 0
> close(4)                                = 0
> write(1, "355\n", 4355
> )                    = 4
> unlink("/tmp/ed-pyj")                   = 0
> read(0, "s", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "^", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, "0", 1)                         = 1
> read(0, " ", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "\n", 1)                        = 1
> openat(AT_FDCWD, "/usr/lib64/gconv/gconv-modules.cache",
> O_RDONLY|O_CLOEXEC) = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=27012,
> ...}) = 0 mmap(NULL, 27012, PROT_READ, MAP_SHARED, 4, 0) =
> 0x7f66437f6000 close(4)                                = 0
> futex(0x7f66437e672c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> write(3, "agrarian regulations in their ut"..., 350) = 350
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1192
> fstat(3, {st_mode=S_IFREG|0600, st_size=1192, ...}) = 0
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1192
> read(0, "1", 1)                         = 1
> read(0, "!", 1)                         = 1
> read(0, ":", 1)                         = 1
> read(0, "\n", 1)                        = 1
> pipe2([4, 5], O_CLOEXEC)                = 0
> prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) =
> 0 prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024})
> = 0 mmap(NULL, 36864, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f66435f8000
> rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
> clone3({flags=CLONE_VM|CLONE_VFORK|CLONE_CLEAR_SIGHAND,
> exit_signal=SIGCHLD, stack=0x7f66435f8000, stack_size=0x9000}, 88) =
> 25876 munmap(0x7f66435f8000, 36864)           = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 close(4)
>              = 0 fcntl(5, F_SETFD, 0)                    = 0 write(3,
> "10 of this law which pervades al"..., 74) = 74 lseek(3, 0, SEEK_SET)
>                 = 0 read(3, "This natural inequality of the t"...,
> 4096) = 1266 fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
> write(5, "This natural inequality of the t"..., 63) = 63
> close(5)                                = 0
> wait4(25876, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 25876
> --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25876,
> si_uid=0, si_status=0, si_utime=0, si_stime=0} --- write(1, "63\n", 363
> )                     = 3
> openat(AT_FDCWD, "/tmp/ed-pyj", O_RDWR) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> write(1, "0\n", 20
> )                      = 2
> unlink("/tmp/ed-pyj")                   = 0
> read(0, "s", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "^", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, " ", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, " ", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "\n", 1)                        = 1
> fstat(3, {st_mode=S_IFREG|0600, st_size=1266, ...}) = 0
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1266
> read(0, "$", 1)                         = 1
> read(0, "!", 1)                         = 1
> read(0, ":", 1)                         = 1
> read(0, "\n", 1)                        = 1
> pipe2([4, 5], O_CLOEXEC)                = 0
> prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) =
> 0 prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024})
> = 0 mmap(NULL, 36864, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f66435f8000
> rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
> clone3({flags=CLONE_VM|CLONE_VFORK|CLONE_CLEAR_SIGHAND,
> exit_signal=SIGCHLD, stack=0x7f66435f8000, stack_size=0x9000}, 88) =
> 25877 munmap(0x7f66435f8000, 36864)           = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 close(4)
>              = 0 fcntl(5, F_SETFD, 0)                    = 0 write(3, "
> 1 production in the earth, and "..., 71) = 71 lseek(3, 0, SEEK_SET)
>               = 0 read(3, "This natural inequality of the t"..., 4096)
> = 1337 fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
> write(5, "their families.\n", 16)       = 16
> close(5)                                = 0
> wait4(25877, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 25877
> --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25877,
> si_uid=0, si_status=0, si_utime=0, si_stime=0} --- write(1, "16\n", 316
> )                     = 3
> openat(AT_FDCWD, "/tmp/ed-pyj", O_RDWR) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> write(1, "0\n", 20
> )                      = 2
> unlink("/tmp/ed-pyj")                   = 0
> read(0, "s", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "^", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, " ", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "\n", 1)                        = 1
> lseek(3, 1337, SEEK_SET)                = 1337
> fstat(3, {st_mode=S_IFREG|0600, st_size=1337, ...}) = 0
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1337
> read(0, "$", 1)                         = 1
> read(0, "-", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, ",", 1)                         = 1
> read(0, "$", 1)                         = 1
> read(0, "!", 1)                         = 1
> read(0, "s", 1)                         = 1
> read(0, "o", 1)                         = 1
> read(0, "r", 1)                         = 1
> read(0, "t", 1)                         = 1
> read(0, "\n", 1)                        = 1
> pipe2([4, 5], O_CLOEXEC)                = 0
> prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) =
> 0 prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024})
> = 0 mmap(NULL, 36864, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f66435f8000
> rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
> clone3({flags=CLONE_VM|CLONE_VFORK|CLONE_CLEAR_SIGHAND,
> exit_signal=SIGCHLD, stack=0x7f66435f8000, stack_size=0x9000}, 88) =
> 25878 munmap(0x7f66435f8000, 36864)           = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 close(4)
>              = 0 fcntl(5, F_SETFD, 0)                    = 0 write(3,
> "11 no anxiety about providing th"..., 73) = 73 lseek(3, 0, SEEK_SET)
>                 = 0 read(3, "This natural inequality of the t"...,
> 4096) = 1410 fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
> lseek(3, 1410, SEEK_SET)                = 1410
> write(5, "which should live in ease, happi"..., 146) = 146
> close(5)                                = 0
> wait4(25878, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 25878
> --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25878,
> si_uid=0, si_status=0, si_utime=0, si_stime=0} --- write(1, "146\n",
> 4146 )                    = 4
> openat(AT_FDCWD, "/tmp/ed-pyj", O_RDWR) = 4
> fstat(4, {st_mode=S_IFREG|0644, st_size=146, ...}) = 0
> read(4, "11 no anxiety about providing th"..., 4096) = 146
> fstat(3, {st_mode=S_IFREG|0600, st_size=1410, ...}) = 0
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1410
> read(4, "", 4096)                       = 0
> close(4)                                = 0
> write(1, "146\n", 4146
> )                    = 4
> unlink("/tmp/ed-pyj")                   = 0
> read(0, "s", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "^", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, " ", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "\n", 1)                        = 1
> write(3, "11 no anxiety about providing th"..., 144) = 144
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1554
> fstat(3, {st_mode=S_IFREG|0600, st_size=1554, ...}) = 0
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1554
> read(0, "w", 1)                         = 1
> read(0, "q", 1)                         = 1
> read(0, " ", 1)                         = 1
> read(0, "o", 1)                         = 1
> read(0, "u", 1)                         = 1
> read(0, "t", 1)                         = 1
> read(0, ".", 1)                         = 1
> read(0, "o", 1)                         = 1
> read(0, "\n", 1)                        = 1
> openat(AT_FDCWD, "out.o", O_WRONLY|O_CREAT|O_TRUNC, 0666) = 4
> write(3, "11 which should live in ease, ha"..., 74) = 74
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1628
> fstat(4, {st_mode=S_IFREG|0644, st_size=0, ...}) = 0
> lseek(3, 1628, SEEK_SET)                = 1628
> lseek(3, 1628, SEEK_SET)                = 1628
> lseek(3, 1628, SEEK_SET)                = 1628
> lseek(3, 1628, SEEK_SET)                = 1628
> lseek(3, 1628, SEEK_SET)                = 1628
> write(4, " 1 production in the earth, and "..., 788) = 788
> close(4)                                = 0
> write(1, "788\n", 4788
> )                    = 4
> exit_group(0)                           = ?
> +++ exited with 0 +++
> ==RUN==
> execve("./ed", ["./ed", "test.txt"], 0x7fffd2105148 /* 36 vars */) = 0
> brk(NULL)                               = 0x5630aa680000
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0x7fe19d1f3000 access("/etc/ld.so.preload", R_OK)      = -1 ENOENT
> (No such file or directory) openat(AT_FDCWD, "/etc/ld.so.cache",
> O_RDONLY|O_CLOEXEC) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=53714,
> ...}) = 0 mmap(NULL, 53714, PROT_READ, MAP_PRIVATE, 3, 0) =
> 0x7fe19d1e5000 close(3)                                = 0
> openat(AT_FDCWD, "/usr/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
> read(3,
> "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\0t\2\0\0\0\0\0"...,
> 832) = 832 pread64(3,
> "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"...,
> 784, 64) = 784 fstat(3, {st_mode=S_IFREG|0755, st_size=1978624, ...}) =
> 0 pread64(3,
> "\6\0\0\0\4\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0"...,
> 784, 64) = 784 mmap(NULL, 2010200, PROT_READ,
> MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe19cffa000 mmap(0x7fe19d01e000,
> 1466368, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3,
> 0x24000) = 0x7fe19d01e000 mmap(0x7fe19d184000, 339968, PROT_READ,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18a000) = 0x7fe19d184000
> mmap(0x7fe19d1d7000, 24576, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1dc000) = 0x7fe19d1d7000
> mmap(0x7fe19d1dd000, 31832, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe19d1dd000 close(3)
>                              = 0 mmap(NULL, 12288,
> PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7fe19cff7000 arch_prctl(ARCH_SET_FS, 0x7fe19cff7740) = 0
> set_tid_address(0x7fe19cff7a10)         = 25883
> set_robust_list(0x7fe19cff7a20, 24)     = 0 rseq(0x7fe19cff7680, 0x20,
> 0, 0x53053053) = 0 mprotect(0x7fe19d1d7000, 16384, PROT_READ) = 0
> mprotect(0x563094901000, 4096, PROT_READ) = 0 mprotect(0x7fe19d232000,
> 8192, PROT_READ) = 0 prlimit64(0, RLIMIT_STACK, NULL,
> {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
> munmap(0x7fe19d1e5000, 53714)           = 0
> getrandom("\x5a\xfa\x4e\x03\x47\x38\xbc\x87", 8, GRND_NONBLOCK) = 8
> brk(NULL)                               = 0x5630aa680000
> brk(0x5630aa6a1000)                     = 0x5630aa6a1000
> openat(AT_FDCWD, "/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC)
> = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=233217696, ...}) = 0
> mmap(NULL, 233217696, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fe18f000000
> close(3)                                = 0 openat(AT_FDCWD, "/tmp",
> O_RDWR|O_EXCL|O_TMPFILE, 0600) = 3 fcntl(3, F_GETFL)
>    = 0x418002 (flags O_RDWR|O_LARGEFILE|O_TMPFILE) openat(AT_FDCWD,
> "test.txt", O_RDWR)    = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=855,
> ...}) = 0 read(4, "This natural inequality of the t"..., 4096) = 855
> fstat(3, {st_mode=S_IFREG|0600, st_size=0, ...}) = 0 read(4, "", 4096)
>                      = 0 close(4)                                = 0
> fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(0x88, 0), ...}) = 0
> write(1, "855\n", 4855 )                    = 4 ioctl(0, TIOCGWINSZ,
> 0x7ffe02ed7af0)    = -1 ENOTTY (Inappropriate ioctl for device)
> ioctl(0, TCGETS, 0x7ffe02ed7a70)        = -1 ENOTTY (Inappropriate
> ioctl for device) rt_sigaction(SIGHUP, {sa_handler=0x5630948fd8b0,
> sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART,
> sa_restorer=0x7fe19d0374b0}, NULL, 8) = 0 rt_sigaction(SIGQUIT,
> {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER|SA_RESTART,
> sa_restorer=0x7fe19d0374b0}, NULL, 8) = 0 rt_sigaction(SIGINT,
> {sa_handler=0x5630948fd370, sa_mask=[],
> sa_flags=SA_RESTORER|SA_RESTART, sa_restorer=0x7fe19d0374b0}, NULL, 8)
> = 0 read(0, "H", 1)                         = 1 read(0, "\n", 1)
>                 = 1 read(0, "6", 1)                         = 1 read(0,
> ",", 1)                         = 1 read(0, "1", 1)
>     = 1 read(0, "0", 1)                         = 1 read(0, "!", 1)
>                     = 1 read(0, "s", 1)                         = 1
> read(0, "o", 1)                         = 1 read(0, "r", 1)
>             = 1 read(0, "t", 1)                         = 1 read(0,
> "\n", 1)                        = 1 getpid()
>     = 25883 pipe2([4, 5], O_CLOEXEC)                = 0 prlimit64(0,
> RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) = 0
> prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) =
> 0 mmap(NULL, 36864, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fe19d1ea000
> rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
> clone3({flags=CLONE_VM|CLONE_VFORK|CLONE_CLEAR_SIGHAND,
> exit_signal=SIGCHLD, stack=0x7fe19d1ea000, stack_size=0x9000}, 88) =
> 25884 munmap(0x7fe19d1ea000, 36864)           = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 close(4)
>              = 0 fcntl(5, F_SETFD, 0)                    = 0 write(3,
> "This natural inequality of the t"..., 842) = 842 lseek(3, 0, SEEK_SET)
>                   = 0 read(3, "This natural inequality of the t"...,
> 4096) = 842 fstat(5, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
> write(5, "comparison of this. I see no way"..., 355) = 355 close(5)
>                            = 0 wait4(25884, [{WIFEXITED(s) &&
> WEXITSTATUS(s) == 0}], 0, NULL) = 25884 --- SIGCHLD {si_signo=SIGCHLD,
> si_code=CLD_EXITED, si_pid=25884, si_uid=0, si_status=0, si_utime=0,
> si_stime=0} --- write(1, "355\n", 4355 )                    = 4
> openat(AT_FDCWD, "/tmp/ed-zyj", O_RDWR) = 4 fstat(4,
> {st_mode=S_IFREG|0644, st_size=355, ...}) = 0 read(4, "agrarian
> regulations in their ut"..., 4096) = 355 fstat(3,
> {st_mode=S_IFREG|0600, st_size=842, ...}) = 0 lseek(3, 0, SEEK_SET)
>               = 0 read(3, "This natural inequality of the t"..., 4096)
> = 842 read(4, "", 4096)                       = 0
> close(4)                                = 0
> write(1, "355\n", 4355
> )                    = 4
> unlink("/tmp/ed-zyj")                   = 0
> read(0, "s", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "^", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "1", 1)                         = 1
> read(0, "0", 1)                         = 1
> read(0, " ", 1)                         = 1
> read(0, "/", 1)                         = 1
> read(0, "\n", 1)                        = 1
> openat(AT_FDCWD, "/usr/lib64/gconv/gconv-modules.cache",
> O_RDONLY|O_CLOEXEC) = 4 fstat(4, {st_mode=S_IFREG|0644, st_size=27012,
> ...}) = 0 mmap(NULL, 27012, PROT_READ, MAP_SHARED, 4, 0) =
> 0x7fe19d1ec000 close(4)                                = 0
> futex(0x7fe19d1dc72c, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> write(3, "agrarian regulations in their ut"..., 350) = 350
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1192
> fstat(3, {st_mode=S_IFREG|0600, st_size=1192, ...}) = 0
> lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1192
> read(0, "1", 1)                         = 1
> read(0, "!", 1)                         = 1
> read(0, ":", 1)                         = 1
> read(0, "\n", 1)                        = 1
> pipe2([4, 5], O_CLOEXEC)                = 0
> prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024}) =
> 0 prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=1024, rlim_max=512*1024})
> = 0 mmap(NULL, 36864, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7fe19cfee000
> rt_sigprocmask(SIG_BLOCK, ~[], [], 8)   = 0
> clone3({flags=CLONE_VM|CLONE_VFORK|CLONE_CLEAR_SIGHAND,
> exit_signal=SIGCHLD, stack=0x7fe19cfee000, stack_size=0x9000}, 88) =
> 25886 munmap(0x7fe19cfee000, 36864)           = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 close(4)
>              = 0 fcntl(5, F_SETFD, 0)                    = 0 ---
> SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=25886, si_uid=0,
> si_status=0, si_utime=0, si_stime=0} --- write(3, "10 of this law which
> pervades al"..., 74) = 74 lseek(3, 0, SEEK_SET)                   = 0
> read(3, "This natural inequality of the t"..., 4096) = 1266 fstat(5,
> {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 write(5, "This natural
> inequality of the t"..., 63) = -1 EPIPE (Broken pipe) --- SIGPIPE
> {si_signo=SIGPIPE, si_code=SI_USER, si_pid=25883, si_uid=0} --- +++
> killed by SIGPIPE +++
>
> --
>
>   Sergei
>

Reply via email to