ultrix kill bug

eric messick eric at umbc3.UMD.EDU
Mon Oct 27 14:47:39 AEST 1986


Ultrix V1.2, Vax 11/785.

This is a wierd one.  I'm running csh as my default shell,
but in my .login, I execute tcsh (the doc says something about Paul Placeway
at OSU as the most recent modifier of tcsh), so I've got tcsh running
under csh.  I'm not certain that this makes a difference, but it seems
possible/likely.  I'm doing all of this nonsence because tcsh isn't a legal
shell on our system, and isn't likely to be in the near future.

Anyway, this combination doesn't graciously respond to HUP's.  Impolitely
disconnecting often seems to leave both the csh and the tcsh running,
although whatever program was running at the time seems to die properly
(usually).  The natural response to this is to kill -9 the offending csh.
Now, this is when something truely intersting happens.

Suppose I was signed on to ttyS1 when I got rudely interrupted.  Signing
on again (to ttyS2), I might find:

pid	tty	command
1111	S1	-csh (csh)
1112	S1	-csh (tcsh)
5000	S2	-csh (csh)
5001	S2	-csh (tcsh)

at which point I would:

kill -9 1111

right?  At this point, our terminal server impolitely informs me that
the vax requested that the connection be terminated.  I.e. it logged
ME off of S2!.  Signing back on, I find that I'm on ttyS1, and:

pid	tty	command
5000	S2	-csh (csh)
5001	S2	-csh (tcsh)
5010	S1	-csh (csh)
5011	S1	-csh (tcsh)

so, I'm in EXACTLY the same position I was in before!  ARRRRGGGGGG!
The workaround?  At this point, do a:

kill -9 5000 5010

which seems to work, but impolitely logs me off anyway.

What I want to know, is:  How the HE*L did kill send that signal to a process
that was related to the only one it had been told to signal only by being
owned by the same user?  Is that even what happened?  Could it be in our
terminal server software (it does other flaky things too) instead?  Maybe
the signal is getting to the right process (it does seem to be dieing, whereas
the process that is getting hung up on doesn't), but the tty driver is hanging
up the wrong port.  Again:  How the HE*L is it associating the two?

This has happened enough to get me annoyed...  Any ideas out there?

			-eric messick
-- 
#include <standard/disclamer.h>
#define SILLY_QUOTE	I've lost my harmonica, Albert....
#define ARPA_ADDRESS	eric at umbc3 [.umd.edu | .arpa]
#define USENET_ADDRESS  seismo!umcp-cs!cvl!umd5!umbc3!eric



More information about the Comp.unix.wizards mailing list