Summary: | app-shells/bash-4.3_p30-r1 - CTL-C results often in logout | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Juergen Rose <rose> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Juergen Rose
2014-11-11 12:30:12 UTC
that is funky. would you be able to capture strace of that since it reproduces so much ? is it new behavior to 4.3_p30 ? or did you just go from 4.2->4.3 ? *** Bug 535952 has been marked as a duplicate of this bug. *** If I login to orca, I use the following command xterm -bg black -fg white -sb -sl 500 -T orca -n orca -e ssh $X11FORWARD orca If I become root at orca (su -) almost every CTL-C logs me out as root, see also bug 535952. If I enter CTL-C as user rose (before or after I switched to root) at orca, CTL-C did at the last tests, what I expected ( I am not logged out). I can reproduce this behaviour, if I run strace xterm -bg black -fg white -sb -sl 500 -T orca -n orca -e ssh $X11FORWARD orca Is this the way, how I should use strace? At least the other way. First running xterm -bg black -fg white -sb -sl 500 -T orca -n orca -e ssh $X11FORWARD orca and then running strace su - does not work, because the second command fails immediatly with: ... read(4, "", 4096) = 0 close(4) = 0 munmap(0x7f28e3d78000, 4096) = 0 sendto(3, 0x120fda0, 53, MSG_NOSIGNAL, NULL, 0) = 53 close(3) = 0 exit_group(1) = ? +++ exited with 1 +++ The issues with losing of echo also described in bug 53595, happens also with local xterm for root, which was started with: xterm -u8 -ls -sb -sl 1000 -bg black -fg green -e su - Mostly 'strace xterm -u8 -ls -sb -sl 1000 -bg black -fg green -e su -' fails immediatly. But just now I could enter the root password and 'll' and ''CTL-c and was logged out again. The last output was: poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) read(4, "l", 4096) = 1 read(4, 0x11544dc, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"M\1\5\0\30\0\240\3\27\0\240\3\225\0008\1\0 \4\0M\1\5\0\30\0\240\3\27\0\240\3"..., 60}, {NULL, 0}, {"", 0}], 3) = 60 recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\3.\327\3\230z|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\0\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\2.\327\3\370z|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\0\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) write(4, "l", 1) = 1 recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [4]) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) read(4, "l", 4096) = 1 read(4, 0x11544dc, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"M\1\5\0\30\0\240\3\27\0\240\3\233\0008\1\0 \4\0M\1\5\0\30\0\240\3\27\0\240\3"..., 60}, {NULL, 0}, {"", 0}], 3) = 60 recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\3.\332\3`{|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\0\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\2%\332\3p}|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\0\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0026\332\3\320~|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\4\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) write(4, "\3", 1) = 1 recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [4]) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) read(4, "^C\r\nroot@impala:/root(1)# ", 4096) = 26 recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"M\1\5\0\30\0\240\3\27\0\240\3\241\0008\1\0 \4\0M\2\5\0\30\0\240\3\27\0\240\3"..., 40}, {NULL, 0}, {"", 0}], 3) = 40 recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) ioctl(3, FIONREAD, [0]) = 0 recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) ioctl(3, FIONREAD, [0]) = 0 read(4, 0x11544dc, 4096) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"=\0\4\0\36\0\240\3\2\0\326\0\n\0\1\0E \n\0\36\0\240\3\10\0\240\3\0\0\240\3"..., 496}, {NULL, 0}, {"", 0}], 3) = 496 recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\16\0\342\3\30\0\240\3\0\0>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, {0, 0}) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0036\352\3X\177|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\4\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\3%\352\3\250\177|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\4\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [3]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\2.\352\3_\214|\33\301\2\0\0\30\0\240\3\0\0\0\0\343\10\270\5\330\0\320\0\0\0\1\0", 4096}], msg_controllen=0, msg_flags=0}, 0) = 32 recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) write(4, "l", 1) = 1 recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa910, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) recvmsg(3, 0x7fffe88aabf0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) select(5, [3 4], [], NULL, NULL) = 1 (in [4]) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa9f0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) read(4, "llogout\r\n", 4096) = 9 recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN|POLLOUT}], 1, 4294967295) = 1 ([{fd=3, revents=POLLOUT}]) writev(3, [{"M\1\5\0\30\0\240\3\27\0\240\3\225\0008\1\0 \n\0M\7\10\0\30\0\240\3\27\0\240\3"..., 52}, {NULL, 0}, {"", 0}], 3) = 52 recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) ioctl(3, FIONREAD, [0]) = 0 recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=28912, si_uid=1203, si_status=130, si_utime=2, si_stime=0} --- wait4(-1, NULL, 0, NULL) = 28912 rt_sigaction(SIGCHLD, {0x42cd40, [CHLD], SA_RESTORER|SA_RESTART, 0x7f4c33b824b0}, {0x42cd40, [], SA_RESTORER|SA_RESTART|SA_NOCLDSTOP, 0x7f4c33b824b0}, 8) = 0 wait4(-1, NULL, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn() = -1 EAGAIN (Resource temporarily unavailable) recvmsg(3, 0x7fffe88aa8e0, 0) = -1 EAGAIN (Resource temporarily unavailable) poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) ioctl(3, FIONREAD, [0]) = 0 read(4, 0x11544dc, 4096) = -1 EIO (Input/output error) kill(4294938384, SIGHUP) = -1 ESRCH (No such process) rt_sigaction(SIGCHLD, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f4c33b824b0}, {0x42cd40, [CHLD], SA_RESTORER|SA_RESTART, 0x7f4c33b824b0}, 8) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x7f4c3577ca50) = 29482 wait4(29482, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 29482 --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=29482, si_uid=1203, si_status=0, si_utime=0, si_stime=0} --- rt_sigaction(SIGCHLD, {0x42cd40, [CHLD], SA_RESTORER|SA_RESTART, 0x7f4c33b824b0}, NULL, 8) = 0 ioctl(4, TCFLSH, 0x1) = 0 close(4) = 0 exit_group(0) = ? +++ exited with 0 +++ I just tried: strace -f xterm -u8 -ls -sb -sl 1000 -bg black -fg green -e su - I can enter the root password. But then the command exits immediatly with: poll([{fd=3, events=POLLIN}], 1, 0) = 0 (Timeout) read(4, 0xe744dc, 4096) = -1 EIO (Input/output error) kill(4294937484, SIGHUP) = -1 ESRCH (No such process) ioctl(4, TCFLSH, 0x1) = 0 close(4) = 0 exit_group(0) = ? +++ exited with 0 +++ you won't be able to strace it directly because it's a set*id program. you have to run `su -` like normal, then in a diff terminal attach `strace -f` to it, and then do the things to trigger the bad behavior. also, please use the "-o log" option to strace and attach the logs instead of pasting as large comments. you might want to check /dev/pts/ permissions ... i've noticed that when they're incorrect, the new bash can't take over the tty, so the CTRL+C will kill it and the parent bash will resume. |