On Tue, 28 Nov 2000, Frederic Briere wrote:
> Well, that was fast; as soon as dhclient restarted dnrd, it happened
> again. Seems to me that select() keeps failing, but I don't see
> anything in my logs...
Make sure you have syslog setup to save these messages.
It's trying to print out the error code returned by select, and that
would be very useful when trying to debug it.
The other thing you can try is to attach strace to the running program
instead of gdb (strace -p <pid>) when it gets into this state.
That should show the calls to select() and the error codes they are
returning.
If you haven't killed dnrd, just exit gdb. dnrd should start running
again. If it's still in this bad state, attach strace to it and see
what you get (you can stop strace by hitting ctrl-c - it will probably
produce a ton of output so you'll probably want to kill it so you can
see what was going on).
> Here's a typical backtrace:
>
> #0 0x400ba5ed in close () from /lib/libc.so.6
> #1 0x40020292 in close () from /lib/libpthread.so.0
> #2 0x400c2fe7 in vsyslog () from /lib/libc.so.6
> #3 0x400c2def in vsyslog () from /lib/libc.so.6
> #4 0x804a638 in log_msg (type=3, fmt=0x8050d26 "select returned %s")
> at common.c:131
> #5 0x804e719 in run () at relay.c:187
> #6 0x804c1b4 in main (argc=5, argv=0xbffff9e4) at main.c:319
Brad Garcia