On Sat, Nov 25, 2000 at 08:05:19AM -0500, Brad Garcia wrote:
> I would suggest compiling dnrd with debugging (-g) turned on, and the
> next time it happens attach gdb to it (gdb dnrd <pid>) and then get a
> backtrace on all threads (thread apply all bt)
I never tried to debug a running program before; guess it's time I
learned something new. :)
My original plan was to run it in foreground (with -d), kill -9 it when
things get rough, and look at the corefile. However, for some reason,
I'm unable to get dnrd to dump a core, even with ulimit -c unlimited.
Beats me. (Maybe it's the chroot? I'm just guessing.)
While trying the above, I noticed that my foreground daemon would get
killed after a while. Turns out I had completely forgotten about a
change I added some months ago to my dhclient config:
[fbriere] mysidia:/etc $ cat dhclient-enter-hooks
make_resolv_conf() {
DNRD_FILE="/etc/dnrd/servers.line"
rm -f $DNRD_FILE
for nameserver in $new_domain_name_servers; do
echo -n "-s $nameserver " >> $DNRD_FILE
done
echo >> $DNRD_FILE
[ -e /var/run/dnrd.pid ] && /etc/init.d/dnrd force-reload
}
exit_status=0
This is used every time dhclient renews a DHCP lease, or takes an old
one from the cache at bootup. (I don't think my DNS servers have ever
changed once, but I like to be prepared. <g>)
Ever since I have disabled that reload two days ago, I haven't
experienced any problem. So this might well be it.
I'll try re-enabling the reload tomorrow, and see if something happens.
--
Frederic Briere <fbriere@...> [hyrule.dyndns.org]
The second piece of paper was much easier to get. Hmm.
"Well, at least I'm not HUNGARIAN!" // "That is so low."