rlogin trouble: Chars translated into ^D

David L. Markowitz felix!arcturus!dav at hplabs.hp.com
Tue Apr 25 05:00:26 AEST 1989


seth at 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 at arcturus.UUCP
	The above opinions are merely that, and only mine.



More information about the Comp.sys.sun mailing list