[15305] in Athena Bugs

home help back first fref pref prev next nref lref last post

Re: Who are you? and Re: disappearing xterms

daemon@ATHENA.MIT.EDU (Craig Fields)
Mon Jul 28 21:21:01 1997

Date: Mon, 28 Jul 1997 21:20:54 -0400
From: Craig Fields <cfields@MIT.EDU>
To: mhbraun@MIT.EDU, postmaster@MIT.EDU, bdrosen@MIT.EDU, yandros@MIT.EDU
Cc: testers@MIT.EDU, bugs@MIT.EDU, ghudson@MIT.EDU

I tracked the problem down, and ghudson produced a potential fix
(which works). I suspect we will decide in the (conveniently
scheduled) release team meeting tomorrow morning exactly what we will
do and when.

Both problems are caused by the user being absent from the password
file while logged in. bdrosen traced the xterm problem to the password
file early today. This can happen, roughly, if the user logs out with
any xterms still open, and then logs in again within ten minutes. It
has to be the same user logging in the second time, and they have to
not ordinarily exist in the password file. There are probably
additional constraints, but not really significant to the discussion.

This happens essentially because Sun's nscd(1M) is doing caching on
the password file; the getpwnam library call really talks to nscd. In
the circumstances described above, nscd's cache becomes invalid for a
time. xlogin calls getpwnam, which returns the user's password entry,
_even though it is not actually in the password file_. xlogin
therefore decides the user is local and it doesn't need to add to the
password file. A later interaction (possibly one done by xterm) causes
ncsd's cache to be corrected, such that subsequent applications do not
see the user as being in the password file, and then lose.

Thus xterms fail to start, and we get intruder messages, and who knows
what else if anyone actually bothered to stay logged in on such a
broken machine.

Anyway, ghudson produced a sample nscd.conf file which disables the
offending caching, and using it I can no longer reproduce the bug.

Craig

home help back first fref pref prev next nref lref last post