proved I'm an idiot once again

Ben Pfaff blp@cs.stanford.edu
30 Oct 2001 15:55:57 -0800


I was trying to debug something in my .xsession, so I logged out
of X and back in.  Or tried.  It wouldn't log in, just hung after
I typed in my password.  Kill X and restart, assuming that either
it's fscked or my .xsession is.  Same behavior, must be my
.xsession.  I restore it to the former contents, but the behavior
is still the same.

Now something's really weird.  I log out one of my consoles and
then try to log back in.  No dice, it hangs after the password
entry.  Try `su' in another console, same behavior.

I figure that it must be something in libpam, because that's what
all of these have in common.  Check for recent upgrades to that
package.  No, the last one was in early October, couldn't be
that.

Download the source code to the su program and start inserting
printf()s in it so that I can tell where it hangs.  Not there,
not there...  It's hanging on the syslog() call?  WTF?

Check whether I can log with the `logger' program.  Nope.  There
must be something wrong with syslogd.  Kill it and restart.
Everything still broken.

Switch to console 11, where everything from syslog gets output,
to see if I'm getting anything weird logged.  Nope, in fact
there's nothing listed in the last half an hour.  Wait--that's
impossible, the syslog daemon always writes something at least
every 20 minutes, even if it's just a -- MARK -- line.

Suddenly I notice: the scroll lock indicator on the keyboard is
on.  Whack the scroll lock key.  Suddenly I get a dozen log
entries.  Try logging in again.  It works!

Geez.  Never would have guessed that an unrelated blocking tty
could stop logins in their tracks.  That's one to remember.