Some more info about my problems with netstat:
Program received signal SIGSEGV, Segmentation fault.
0x08049941 in prg_cache_get (inode=-979118814) at netstat.c:281
281 if (pn->inode==inode) return(pn->name);
(gdb) print pn
$1 = (struct prg_node *) 0x68
(gdb) print hi
$2 = 4294967185
(gdb) up
#1 0x0804ca82 in unix_do_one (nr=15,
line=0xbfffd420 "f3c0a0e0: 0000000D 00000000 00000000 0002 01 -979118814
/dev/log\n") at netstat.c:1215
1215 printf("%-" PROGNAME_WIDTHs "s",(has &
HAS_INODE?prg_cache_get(inode):"-"));
(gdb) print inode
$4 = -979118814
That's a very strange inode, especially since ls disagrees:
$ ls --inode /dev/log
5195 /dev/log=
It gets that info from
#2 0x0804cc82 in unix_info () at netstat.c:1237
1237 INFO_GUTS(_PATH_PROCNET_UNIX, "AF UNIX", unix_do_one);
now, _PATH_PROCNET_UNIX is /proc/net/unix, and lo and behold:
$ cat /proc/net/unix | grep /dev/log
f3c0a0e0: 0000000D 00000000 00000000 0002 01 -979118814 /dev/log
In fact, all the inodes in /proc/net/unix are messed up.
If I do
# service syslog restart
then I get
# cat /proc/net/unix | grep /dev/log
c7b460c0: 00000003 00000000 00000000 0002 01 -757341101 /dev/log
The inode is still messed up.
Now I have:
# rpm -q sysklogd
sysklogd-1.4.1-4mdk
which is the latest version I believe. How can I get the entries in
/proc/net/unix to be correct without a reboot?
--
Ryan T. Sammartino
http://members.shaw.ca/ryants/
A general leading the State Department resembles a dragon commanding ducks.
-- New York Times, Jan. 20, 1981