Subject: Re: __stat13 undefined
To: None <entropy@zippy.bernstein.com>
From: None <Havard.Eidnes@runit.sintef.no>
List: current-users
Date: 11/07/1997 10:23:38
Simon Burge <simonb@telstra.com.au> said:
>The setup I've got is two machines, each with root and /var on a local
>disk, and /usr mounted of a file server. Both of these machines were
>running -current of about August 26th. I've recently run a "make build"
>with October 29 sources on one of the machines (vlad), and now the other
>machine (mona) is a little knackered. Trying to telnet to mona gives
>the following:
>
> balrog:~ 3> telnet mona
> Trying 172.73.42.230...
> Connected to mona.supp.cpr.itg.telecom.com.au.
> Escape character is '^]'.
> telnetd: undefined symbol: '__stat13' 12
> Connection closed by foreign host.
Jonathan's comments elided, <entropy@zippy.bernstein.com> said:
> This isn't a matter of "semantics". This specific problem is with
> ld.so and *not* the kernel. It seems to be more or less the same as
> the problem that forced the decision to back out libc.13, reduced to
> the window of time while libc and userland are out of synch.
I don't think so. The error message may come from ld.so, but
I'll claim that it's not really ld.so's fault that this happens,
it's most likely working "as advertised".
From=20the initial description it sounds like new libraries and new
/usr executables were installed on the common NFS /usr directory
accessible to the two machines, and that the NFS client wasn't
rebooted (at least not at first).
First, The NFS client complains because its /var/run/ld.so.hints
hasn't been updated by ldconfig after the installation of the new
libraries and executables in /usr. The new libc.so.12.20
contains __stat13. If one could get into the machine one could
try to run 'ldconfig -r' to check the current hints just to
verify this claim. (This can also be done single-user after
mounting /var.)
Second, I suspect that once you *do* run ldconfig on 'mona' to
update ld.so.hints, you will have the problem that the kernel is
too old. I beleive that will be the case if it's of Aug 26
vintage, among other things the Aug 26 kernel will most likely
not have support for the __stat13 system call, which will create
the 'illegal system call' core dumps mentioned here before.
This should then be remedied by installing a new kernel on
'mona', and once 'mona' is rebooted with the new kernel, ldconfig
will be run to fix the first problem above. I think you can
install a new kernel by using a 1.3_ALPHA INSTALL floppy by
dropping to the shell and doing it from within that environment.
I beleive this is yet another instance of breaking the rule that
you should always update (all) your kernels before installing a
new user-land.
- Havard