Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 360509 - app-admin/sudo-1.7.5 / 1.8.0 control chars stop working after ^Z and resume
Summary: app-admin/sudo-1.7.5 / 1.8.0 control chars stop working after ^Z and resume
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-26 07:22 UTC by Ryan Hill (RETIRED)
Modified: 2011-04-07 03:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
sudo-1.7.5-resume.patch (sudo-1.7.5-resume.patch,994 bytes, patch)
2011-04-03 09:07 UTC, Ryan Hill (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Hill (RETIRED) gentoo-dev 2011-03-26 07:22:58 UTC
# emerge -av $pkg
<^Z>
# fg
<^C><^C><^C><^C><^C><^C><^Z><^C><^Z><^C><^C><aghhhhhh!>


Portage 2.2.0_alpha28 (default/linux/amd64/10.0/developer, gcc-4.6.0-pre9999, glibc-2.13-r2, 2.6.38-gentoo x86_64)
=================================================================
System uname: Linux-2.6.38-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T9300_@_2.50GHz-with-gentoo-2.0.2
Timestamp of tree: Fri, 25 Mar 2011 22:30:01 +0000
ccache version 3.1.4 [enabled]
app-shells/bash:     4.2_p8
dev-java/java-config: 2.1.11-r3
dev-lang/python:     2.5.4-r4, 2.6.6-r2, 2.7.1-r1, 3.1.3-r1
dev-util/ccache:     3.1.4
dev-util/cmake:      2.8.4
sys-apps/baselayout: 2.0.2
sys-apps/openrc:     0.8.0
sys-apps/sandbox:    2.5
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.10.3, 1.11.1
sys-devel/binutils:  2.21
sys-devel/gcc:       4.1.2, 4.3.5, 4.4.5, 4.4.6_pre9999::toolchain, 4.5.2, 4.5.3_pre9999::toolchain, 4.6.0_pre9999::dirtyepic
sys-devel/gcc-config: 1.5-r1
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
virtual/os-headers:  2.6.38 (sys-kernel/linux-headers)
Repositories: gentoo halo-overlay gcc-porting toolchain dirtyepic
Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-unknown-linux-gnu"
CFLAGS="-O2 -march-=native"
CHOST="x86_64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=native"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
FEATURES="assume-digests binpkg-logs ccache distlocks fixlafiles fixpackages multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms sign split-log splitdebug strict test test-fail-continue unknown-features-warn unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS=""
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distfiles.gentoo.org/"
LANG="en_US.utf8"
LC_ALL="en_US.utf8"
LDFLAGS=""
LINGUAS="en en_US"
MAKEOPTS="-j4 V=1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/home/dirtyepic/overlay /home/dirtyepic/svn/gcc-porting /home/dirtyepic/svn/toolchain /home/dirtyepic/svn/dirtyepic"
 
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Zac Medico gentoo-dev 2011-03-26 18:21:28 UTC
I couldn't reproduce this on my first try. It's a strange bug because processes aren't allowed to handle SIGSTOP, so in theory it shouldn't be able to interact or interfere with the handling of other signals that are delivered when the process is not stopped.
Comment 2 Ryan Hill (RETIRED) gentoo-dev 2011-03-30 22:46:23 UTC
it is strange.  i tried another console (rxvt-unicode) to make sure it wasn't something wrong with konsole, but i get the same behaviour there.
Comment 3 SpanKY gentoo-dev 2011-03-30 22:49:33 UTC
(1) make sure you have /dev/pts setup ... if it's in a chroot, make sure you're doing a `mount --bind /dev/pts .../chroot/dev/pts` and not mounting a dedicated devpts in there.

(2) run `stty -a` from a diff terminal to see if there's anything interesting:
# tty
/dev/pts/9
# <reproduce bug>
<another terminal>
# stty -a /dev/pts/9
Comment 4 SpanKY gentoo-dev 2011-03-30 22:50:24 UTC
err, forgot you need "-F" with stty before the path to the tty node
Comment 5 Ryan Hill (RETIRED) gentoo-dev 2011-03-30 23:32:19 UTC
not a portage problem after all.  i have this alias in .bashrc:

  alias e='sudo -E emerge -avl'

I was using `e` instead of `emerge` in my testing.

`sleep 100` behaves fine.  `sudo sleep 100` doesn't.

no chroot,

$ ll /dev/pts/
total 0
drwxr-xr-x  2 root      root      0 Mar 23 19:02 .
drwxr-xr-x 17 root      root   3.1K Mar 23 22:14 ..
crw-------  1 dirtyepic tty  136, 0 Mar 30 17:09 0
crw-------  1 dirtyepic tty  136, 1 Mar 30 17:17 1
crw-------  1 dirtyepic tty  136, 2 Mar 30 17:22 2
crw-------  1 dirtyepic tty  136, 3 Mar 30 17:24 3
crw-------  1 dirtyepic tty  136, 4 Mar 30 17:24 4

$ tty
/dev/pts/2
$ sudo sleep 100
^Z
[1]+  Stopped                 sudo sleep 100
$ fg
sudo sleep 100
^C^C^C

$ tty
/dev/pts/3
$ stty -aF /dev/pts/2
speed 38400 baud; rows 26; columns 140; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff -iuclc -ixany -imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke



--- goodtty     2011-03-30 17:27:55.271965978 -0600
+++ bugtty      2011-03-30 17:28:37.716435349 -0600
@@ -1,10 +1,10 @@
 speed 38400 baud; rows 26; columns 140; line = 0;
 intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
 eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
-werase = ^W; lnext = <undef>; flush = ^O; min = 1; time = 0;
+werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
 -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
--ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl ixon ixoff
+-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
 -iuclc -ixany -imaxbel iutf8
 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
+isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
 echoctl echoke


sudo-1.8.0 and 1.7.5 are broken.  1.7.4_p6 works.
Comment 6 Ryan Hill (RETIRED) gentoo-dev 2011-04-03 09:07:56 UTC
Created attachment 268297 [details, diff]
sudo-1.7.5-resume.patch

If I revert http://www.sudo.ws/repos/sudo/rev/dfaadefcc6c6 then everything works as advertised.
Comment 7 Diego Elio Pettenò (RETIRED) gentoo-dev 2011-04-06 14:33:53 UTC
Can you please test with 1.7.6_rc2 (and 1.8.1_rc2)? It _should_ be fixed...
Comment 8 Ryan Hill (RETIRED) gentoo-dev 2011-04-07 03:22:10 UTC
1.7.6_rc2 works, thanks.