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 Martino