Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!uw-beaver!rice!sun-spots-request From: felix!arcturus!dav@hplabs.hp.com (David L. Markowitz) Newsgroups: comp.sys.sun Subject: Re: rlogin trouble: Chars translated into ^D Keywords: SunOS Message-ID: <4150@arcturus> Date: 24 Apr 89 19:00:26 GMT References: <8903131938.AA00178@columbia.edu> Sender: usenet@rice.edu Organization: Rockwell International, Anaheim, CA Lines: 57 Approved: Sun-Spots@rice.edu Original-Date: 30 Mar 89 23:03:46 GMT X-Sun-Spots-Digest: Volume 7, Issue 244, message 2 of 10 seth@sirius.ctr.columbia.edu (Seth Robertson) writes: > I have been having this trouble whereby if a person rlogin/telnets to > various machines, when they type, all of their characters get translated > into ^Ds. I personally use ksh, and this does not happen to me. However, > when su to root (which uses csh) the characters again are translated. The > translation also occurs if I use `Mail`. > > The problem can be avoided (for me) if I rlogin to the same machine > (getting a new pseudo-tty #). This seems to happen (with no apparent > cause, on a fairly frequent bases on the first rlogin session (but not > always ttyp0) > > Has anybody else had this trouble? Any advice? I am running 4.0 This has to qualify as one of the most frequently asked questions on here. This problem has existed for a long time, and is still in 4.0 and 4.0.1. Are you listening, Sun? The trigger of this bug is a background process. Whenever a process is put in the background from a pty without redirecting its standard input, and the pty is then closed (remote user logs out, window user exits from that window), the O.S. is supposed to reconnect the input of that process to the null device. For some reason (anyone know why?) it screws up the pty in so doing such that any new process which tries to use it is marked the same way (but only after a character is typed). This effect goes away when the process exits. The astute observer will note that the effect of this is not quite to "translate all chars into ^D", but instead to translate any char into an infinite sequence of ^D's. Try setting ignoreeof in the .cshrc of a csh and then run it on such a pty. You will see lots of 'Use "exit" to leave csh.' messages after typing one character. Your choice of work-arounds: 1. Always redirect input of background jobs being run on pty's that will be closed before they are done (I know, try teaching that to the freshmen). 2. Kill the offending process (that'll teach that frosh!) 3. Open a window/rlogin, open another, use the second one. You may kill the first if you wish, but this will allow that pty to annoy some other user who is less intelligent and experienced than you are. (Closing the window is fine, just don't type at it). 4. Everybody call (800) USA-4SUN and tell them we won't buy any more hardware/software/maintenance until they fix this bug. Oh, and picket the April 13th announcement bash too. I usually use #2. -- David L. Markowitz Rockwell International ...!sun!sunkist!arcturus!dav dav@arcturus.UUCP The above opinions are merely that, and only mine.