On Thu, 24 Jan 2002 20:47:57 +0900 (JST), Yutaka Sato wrote:
> |Now I've changed RESOLV to dns,cache,sys (at the time when I've
> |installed delegate for the first time I had some trouble with the
> |RESOLV=dns that's why I've dropped it). I'll need a day or two to
> |verify if this solves the problem. Meanwhile can you suggest anything I
> |should try? Maybe is there a way to get a little bit more detailed
> |error message for that FATAL RecvFrom ...?
>To tell the truth, I'm not sure if it is FATAL or not. I inserted the
>"FATAL" message (and sleep() before next recv()) at DeleGate/7.2.0
>when I noticed that DNS DeleGate falls into infinite loop on failure
>return (-1) from recvfrom(). I found the situation on my Linux machine
>(RedHat6.1 which is still working the name server of the DELEGATE.ORG
>domain) but could not found the reason why recvfrom() rarely returns -1.
>Although I could escape the infinite loop by making delay (by sleep(10))
>before continuing to next recvfrom() at that time, the real cause of
>the problem is not studied yet. Anyway no fatal aftereffect has been
>found after I escaped the problem like above, so far. But if it is
>really fatal in your situation, I'll study it more in higher priority.
It's not really fatal but sometime it takes a long time for the system
to recover and it's really annoying to just wait for the service to
recover :(. The sleep(10) helps in some cases but I've seen cases with
around 40 or 50 such errors before the next successful return.
PS: I've checked the sources and it seems to me that the errno variable
is set to 0 and not updated (at least in domain.c lines 54-70, 7.8.1
sourcetree). Probably that could help us find the real error message.
Or am I misundestanding the source?