(Illustration by Gaich Muramatsu)
On Wed, 23 Jun 1999, Claudio Di-Martino wrote: > > > On Tue, 22 Jun 1999, Jan Harkes wrote: > > > Does slackware have glibc yet? How much fiddling was necessary? > > erm... no glibc... but non really much fiddling. Simply adding a > single #include in a couple of files. I have now upgraded to glibc 2.0.7 with seemingly no effect.B > [ H(07) : 0001 : 11:12:31 ] HDBDaemon just woke up > exactly after the HDBDaemon started for the second time venus started > looping using all free CPU time and the /coda filesystem become > unresponsive. Strace showed venus was endlessly opening and closing > /etc/passwd ... Ok, I digged some more and found that venus was looping in the ConsoleUser function from coda-src/venus/user.cc . Basically at startup hdb::ResetTransient sets SolicitAdvice to -1. When the HDBDaemon wakes up for the second time it does a RequestHoardWalkAdvice which calls AuthorizedUser passing SolicitAdvice as the user parameter. AuthorizedUser calls ConsoleUser and there it starts to loop: strcpy(w.ut_line, CONSOLE); while (!found && (u = getutline(&w))) { pw = getpwnam(u->ut_name); if (pw) found = (user == pw->pw_uid); } basically the utline found by getutline returns LOGIN as the ut_name. LOGIN isn't found in /etc/passwd so it gets stuck in the loop... I don't know if the code makes sense at all, the meaning of setting SolicitAdvice at -1 or passing it as a user or getutine returning an ut_name of "LOGIN". Anyone knows this piece of code more in depth to give some enlightment? Ciao!!! Claudio Di MartinoReceived on 1999-06-25 11:41:08