Closed kuon closed 4 years ago
Could it be that fish starts up a daemon, and then doesn't properly free up the input from itself?
Can check out the process tree to see if rua
has descendant processes running after invoking fish
?
After pressing T, when I am in the fish sub shell, I see fish as descendant from rua.
This is the strace
of rua:
read(0, "t\n", 8192) = 2
write(2, "Exit the shell with `logout` or "..., 42) = 42
mmap(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f6302e04000
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone(child_stack=0x7f6302e0cff0, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 1582493
munmap(0x7f6302e04000, 36864) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(1582493, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 1582493
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1582493, si_uid=1000, si_status=0, si_utime=4, si_stime=4} ---
write(2, "\nReviewing ", 11) = 11
write(2, "\"", 1) = 1
write(2, "/", 1) = 1
write(2, "h", 1) = 1
write(2, "o", 1) = 1
write(2, "m", 1) = 1
write(2, "e", 1) = 1
write(2, "/", 1) = 1
write(2, "k", 1) = 1
write(2, "u", 1) = 1
write(2, "o", 1) = 1
write(2, "n", 1) = 1
write(2, "/", 1) = 1
write(2, ".", 1) = 1
write(2, "c", 1) = 1
write(2, "o", 1) = 1
write(2, "n", 1) = 1
write(2, "f", 1) = 1
write(2, "i", 1) = 1
write(2, "g", 1) = 1
write(2, "/", 1) = 1
write(2, "r", 1) = 1
write(2, "u", 1) = 1
write(2, "a", 1) = 1
write(2, "/", 1) = 1
write(2, "p", 1) = 1
write(2, "k", 1) = 1
write(2, "g", 1) = 1
write(2, "/", 1) = 1
write(2, "h", 1) = 1
write(2, "e", 1) = 1
write(2, "r", 1) = 1
write(2, "o", 1) = 1
write(2, "k", 1) = 1
write(2, "u", 1) = 1
write(2, "-", 1) = 1
write(2, "c", 1) = 1
write(2, "l", 1) = 1
write(2, "i", 1) = 1
write(2, "\"", 1) = 1
write(2, ". \n", 3) = 3
openat(AT_FDCWD, "/dev/null", O_WRONLY|O_CLOEXEC) = 5
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=10000, rlim_max=30000}) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=10000, rlim_max=30000}) = 0
mmap(NULL, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0x7f6302e04000
rt_sigprocmask(SIG_BLOCK, ~[], [], 8) = 0
clone(child_stack=0x7f6302e0cff0, flags=CLONE_VM|CLONE_VFORK|SIGCHLD) = 1583380
munmap(0x7f6302e04000, 36864) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
close(5) = 0
wait4(1583380, [{WIFEXITED(s) && WEXITSTATUS(s) == 128}], 0, NULL) = 1583380
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1583380, si_uid=1000, si_status=128, si_utime=0, si_stime=0} ---
write(2, "[D]=view upstream changes since "..., 50) = 50
write(2, "[M]=accept/merge upstream change"..., 35) = 35
write(2, "[S]=(shellcheck not available un"..., 48) = 48
write(2, "[T]=run shell to edit/inspect, ", 31) = 31
write(2, "[O]=(cannot use the package unti"..., 45) = 45
read(0,
This is the strace of the sub running fish shell (attached when running, and I just did Ctrl+D:
strace: Process 1585951 attached
select(6, [0 3 5], NULL, NULL, NULL) = 1 (in [0])
read(0, "\4", 1) = 1
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
stat("/home/kuon/.config/fish/functions/delete-or-exit.fish", 0x7ffdc7c49430) =
-1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/compat/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/core/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/index/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/packages/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/themes/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/bundle/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/util/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/repo/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/cli/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/fish-spec/functions/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/z/functions/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/lib/delete-or-exit.fish", 0x7ffdc7c49430) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/lib/git/delete-or-exit.fish", 0x7ffdc7c49430)
= -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/functions/delete-or-exit.fish",
0x7ffdc7c49430) = -1 ENOENT (No such file or directory)
stat("/etc/fish/functions/delete-or-exit.fish", 0x7ffdc7c49430) = -1 ENOENT (No
such file or directory)
stat("/usr/share/fish/vendor_functions.d/delete-or-exit.fish", 0x7ffdc7c49430) =
-1 ENOENT (No such file or directory)
stat("/usr/share/fish/functions/delete-or-exit.fish", {st_mode=S_IFREG|0644,
st_size=389, ...}) = 0
access("/usr/share/fish/functions/delete-or-exit.fish", R_OK) = 0
pipe([6, 7]) = 0
fcntl(6, F_GETFD) = 0
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
fcntl(7, F_GETFD) = 0
fcntl(7, F_SETFD, FD_CLOEXEC) = 0
fcntl(6, F_GETFL) = 0 (flags O_RDONLY)
fcntl(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
stat("/home/kuon/.config/fish/functions/source.fish", 0x7ffdc7c487c0) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/compat/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/core/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/index/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/packages/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/themes/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/bundle/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/util/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/repo/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/cli/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/fish-spec/functions/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/z/functions/source.fish", 0x7ffdc7c487c0)
= -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/lib/source.fish", 0x7ffdc7c487c0) = -1 ENOENT
(No such file or directory)
stat("/home/kuon/.local/share/omf/lib/git/source.fish", 0x7ffdc7c487c0) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/functions/source.fish",
0x7ffdc7c487c0) = -1 ENOENT (No such file or directory)
stat("/etc/fish/functions/source.fish", 0x7ffdc7c487c0) = -1 ENOENT (No such
file or directory)
stat("/usr/share/fish/vendor_functions.d/source.fish", 0x7ffdc7c487c0) = -1
ENOENT (No such file or directory)
stat("/usr/share/fish/functions/source.fish", 0x7ffdc7c487c0) = -1 ENOENT (No
such file or directory)
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
getpgrp() = 1585935
ioctl(0, TIOCGPGRP, [1585935]) = 0
getpid() = 1585951
openat(AT_FDCWD, "/usr/share/fish/functions/delete-or-exit.fish",
O_RDONLY|O_CLOEXEC) = 8
fstat(8, {st_mode=S_IFREG|0644, st_size=389, ...}) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x5611fa1f43a0, sa_mask=[],
sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL,
8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x5611fa1f4460, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL, 8) = 0
fcntl(8, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(8, {st_mode=S_IFREG|0644, st_size=389, ...}) = 0
read(8, "#\n# This function deletes a char"..., 4096) = 389
read(8, "", 3584) = 0
close(8) = 0
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x5611fa1f43a0, sa_mask=[],
sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL,
8) = 0
rt_sigaction(SIGINT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGTSTP, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGTTOU, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGTTIN, {sa_handler=0x5611fa1f4380, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x5611fa1f4430, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGTERM, {sa_handler=0x5611fa1f4400, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGHUP, NULL, {sa_handler=0x5611fa1f4490, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, 8) = 0
rt_sigaction(SIGALRM, {sa_handler=0x5611fa1f4370, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGWINCH, {sa_handler=0x5611fa1f43d0, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL, 8) = 0
read(6, 0x7ffdc7c47910, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
close(7) = 0
read(6, "", 4096) = 0
close(6) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
pipe([6, 7]) = 0
fcntl(6, F_GETFD) = 0
fcntl(6, F_SETFD, FD_CLOEXEC) = 0
fcntl(7, F_GETFD) = 0
fcntl(7, F_SETFD, FD_CLOEXEC) = 0
fcntl(6, F_GETFL) = 0 (flags O_RDONLY)
fcntl(6, F_SETFL, O_RDONLY|O_NONBLOCK) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
stat("/home/kuon/.config/fish/functions/commandline.fish", 0x7ffdc7c47ca0) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/compat/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/core/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/index/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/packages/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/themes/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/bundle/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/util/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/repo/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/cli/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/fish-spec/functions/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/z/functions/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/lib/commandline.fish", 0x7ffdc7c47ca0) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/lib/git/commandline.fish", 0x7ffdc7c47ca0) =
-1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/functions/commandline.fish",
0x7ffdc7c47ca0) = -1 ENOENT (No such file or directory)
stat("/etc/fish/functions/commandline.fish", 0x7ffdc7c47ca0) = -1 ENOENT (No
such file or directory)
stat("/usr/share/fish/vendor_functions.d/commandline.fish", 0x7ffdc7c47ca0) = -1
ENOENT (No such file or directory)
stat("/usr/share/fish/functions/commandline.fish", 0x7ffdc7c47ca0) = -1 ENOENT
(No such file or directory)
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
getpgrp() = 1585935
ioctl(0, TIOCGPGRP, [1585935]) = 0
read(6, 0x7ffdc7c46df0, 4096) = -1 EAGAIN (Resource temporarily
unavailable)
close(7) = 0
read(6, "", 4096) = 0
close(6) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
getpgrp() = 1585935
ioctl(0, TIOCGPGRP, [1585935]) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
stat("/home/kuon/.config/fish/functions/exit.fish", 0x7ffdc7c487f0) = -1 ENOENT
(No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/compat/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/core/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/index/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/packages/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/themes/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/bundle/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/util/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/repo/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/cli/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/fish-spec/functions/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/exit.fish", 0x7ffdc7c487f0)
= -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/z/functions/exit.fish", 0x7ffdc7c487f0) =
-1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/lib/exit.fish", 0x7ffdc7c487f0) = -1 ENOENT
(No such file or directory)
stat("/home/kuon/.local/share/omf/lib/git/exit.fish", 0x7ffdc7c487f0) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/exit.fish", 0x7ffdc7c487f0)
= -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/functions/exit.fish",
0x7ffdc7c487f0) = -1 ENOENT (No such file or directory)
stat("/etc/fish/functions/exit.fish", 0x7ffdc7c487f0) = -1 ENOENT (No such file
or directory)
stat("/usr/share/fish/vendor_functions.d/exit.fish", 0x7ffdc7c487f0) = -1 ENOENT
(No such file or directory)
stat("/usr/share/fish/functions/exit.fish", 0x7ffdc7c487f0) = -1 ENOENT (No such
file or directory)
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
getpgrp() = 1585935
ioctl(0, TIOCGPGRP, [1585935]) = 0
write(1, "\n", 1) = 1
ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig -icanon -echo ...}) = 0
write(1, "\33", 1) = 1
write(1, "[", 1) = 1
write(1, "3", 1) = 1
write(1, "0", 1) = 1
write(1, "m", 1) = 1
write(1, "\33", 1) = 1
write(1, "[", 1) = 1
write(1, "m", 1) = 1
write(1, "\17", 1) = 1
write(1, "\33", 1) = 1
write(1, "[", 1) = 1
write(1, "3", 1) = 1
write(1, "0", 1) = 1
write(1, "m", 1) = 1
write(1, "\33", 1) = 1
write(1, "[", 1) = 1
write(1, "m", 1) = 1
write(1, "\17", 1) = 1
rt_sigaction(SIGPIPE, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGCHLD, {sa_handler=0x5611fa1f43a0, sa_mask=[],
sa_flags=SA_RESTORER|SA_RESTART|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL,
8) = 0
rt_sigaction(SIGQUIT, {sa_handler=SIG_IGN, sa_mask=[], sa_flags=SA_RESTORER,
sa_restorer=0x7f957fdad930}, NULL, 8) = 0
rt_sigaction(SIGINT, {sa_handler=0x5611fa1f4460, sa_mask=[],
sa_flags=SA_RESTORER|SA_SIGINFO, sa_restorer=0x7f957fdad930}, NULL, 8) = 0
getpid() = 1585951
stat("/home/kuon/.config/fish/functions/printf.fish", 0x7ffdc7c49140) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/compat/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/core/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/index/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/packages/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/themes/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/bundle/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/util/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/repo/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/cli/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/fish-spec/functions/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/omf/functions/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/pkg/z/functions/printf.fish", 0x7ffdc7c49140)
= -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/lib/printf.fish", 0x7ffdc7c49140) = -1 ENOENT
(No such file or directory)
stat("/home/kuon/.local/share/omf/lib/git/printf.fish", 0x7ffdc7c49140) = -1
ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/home/kuon/.local/share/omf/themes/bobthefish/functions/printf.fish",
0x7ffdc7c49140) = -1 ENOENT (No such file or directory)
stat("/etc/fish/functions/printf.fish", 0x7ffdc7c49140) = -1 ENOENT (No such
file or directory)
stat("/usr/share/fish/vendor_functions.d/printf.fish", 0x7ffdc7c49140) = -1
ENOENT (No such file or directory)
stat("/usr/share/fish/functions/printf.fish", 0x7ffdc7c49140) = -1 ENOENT (No
such file or directory)
ioctl(0, TCGETS, {B38400 opost isig -icanon -echo ...}) = 0
getpgrp() = 1585935
ioctl(0, TIOCGPGRP, [1585935]) = 0
write(1, "\33[?2004l", 8) = 8
getpid() = 1585951
ioctl(0, TIOCGPGRP, [1585935]) = 0
ioctl(0, TIOCSPGRP, [1585935]) = 0
exit_group(0) = ?
+++ exited with 0 +++
Yeah, that's what I thought. Would it then make sense to start fish
beforehand outside of rua
, or invoke it with some parameter that disables background daemon creation? I mean, if fish by design works by grabbing some kind of access to a terminal, while other shells don't, then it seems to be fish-specific?
I opened an issue on the fish project, because I do not know what would be the best approach to solve this.
This is indeed a fish issue that's fixed in the next release.
The problem is that fish 3.0.x due to a bug doesn't reset terminal modes - in particular "echo" and "-icrnl"/"-inlcr" - in this case, so it doesn't appear like your input is registered, and it indeed will treat the return key differently, so you'd have to press ctrl-j instead.
Nice, thanks for the very quick response and the explanation!
I'll close it on this side then since there's not much rua
can do about it, and it'll be fixed in next release.
When I do (with fish shell as login shell):
rua install <pkg>
and at this prompt press T
[S]=run shellcheck on PKGBUILD, [D]=(identical to upstream, empty diff), [T]=run shell to edit/inspect, [O]=ok, use package
I am redirected to a shell inside the package, where I can modify the PKGBUILD, but after exiting that shell with
exit
orctrl+d
I have that prompt again:but keys are ignored, I must press Ctrl+C to exit rua.
If I create another user with bash as login shell it works, if I switch this user (using
chsh
) to fish (to ensurer a blank fish configuration), it doesn't work.Tested with fish shell 3.0.2.