really weird errors

Jon Lewis (jlewis@inorganic5.fdt.net)
Wed, 26 Feb 1997 15:49:22 -0500 (EST)


I just had something really unusual happen on our main server. All of a
sudden, perl would not work, claiming:

yoda:/lib# perl -v
perl: can't load library '/usr/i486-linuxaout/lib/libdb.so.1.85.1'
Unknown error
perl: can't load library '/usr/lib/libdb.so.1'
Unknown error
perl: can't load library '/lib/libdb.so.1'
Unknown error
perl: can't find library 'libdb.so.1'

Strace showed:

stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=2658, ...}) = 0
open("/etc/ld.so.cache", O_RDONLY) = 3
mmap(0, 2658, PROT_READ, MAP_SHARED, 3, 0) = 0x40000000
close(3) = 0
uselib("/usr/i486-linuxaout/lib/libdb.so.1.85.1") = -1 ENOEXEC (Exec
format error)

yoda:~$ ls -l /usr/i486-linuxaout/lib/libdb.so.1.85.1
-rwxr-xr-x 1 root root 65536 Dec 13 1994
/usr/i486-linuxaout/lib/libdb.so.1.85.1*

yoda:~$ file /usr/i486-linuxaout/lib/libdb.so.1.85.1
/usr/i486-linuxaout/lib/libdb.so.1.85.1: Linux/i386 demand-paged
executable (QMAGIC)

So, the library is there, there's no permissions problem, and it's the
right format for perl:

/usr/local/bin/perl: Linux/i386 demand-paged executable (QMAGIC) not
stripped

I could find no logic to this error, so I rebooted, and everything is back
to normal. We seemed to be doing same as usual for things like RAM usage,
/proc/sys/kernel/(file|inode)-nr, etc.

Other a.out programs were still usable. Anyone seen anything like this or
have a clue what might have happened? It's an old slackware 2.3 based
box, upgraded to ELF compatibility...libc's in use are 4.7.6 and 5.4.17,
ld is version 1.8.5, kernel is 2.0.28.

------------------------------------------------------------------
Jon Lewis <jlewis@fdt.net> | Unsolicited commercial e-mail will
Network Administrator | be proof-read for $199/hr.
________Finger jlewis@inorganic5.fdt.net for PGP public key_______