[Infrastructures] ISconf: Cache.py - bcast method

Jordan Curzon curzonj@gmail.com
Mon, 19 Dec 2005 16:49:57 -0700


Yes, from the sendto call. The machine is just for testing ISCONF. It
is a clean install of Ubuntu with simple routing (just gets a dhcp
address). I am not using the IS_NETS file and the address that fails
is <broadcast>. Also, the call succedes for some number of calls then
throws the exception.

On 12/19/05, Steve Traugott <stevegt@terraluna.org> wrote:
> On Mon, Dec 19, 2005 at 07:49:16AM -0700, Jordan Curzon wrote:
> > Keeps crashing on me on the last line of the bcast method
> > in Cache.py.  It throws a socket.error exception with the
> > EAGAIN error. I did some looking and other places in the
> > code ignore that error. I trapped the exception and
> > everything runs fine.
> >
> > Is that a bug or am I misunderstanding things.
>
> You're getting an EAGAIN from a UDP sendto(), right?
> Bizarre.  That means that the operation would block (and I
> have the socket set for non-blocking).  Not sure what would
> cause that in UDP.  Without knowing what's causing this, I'm
> not sure whether the correct action is to trap and discard
> the exception, or to yield and retry later.  Some ideas:
>
> - If you're using a nets file, check to make sure all of the
>   IP addresses in there are valid and routable.  Check your
>   routing table as well...  Add a debug() call to your patch
>   to show the address that's failing.
>
> - Check to see if there's something seriously wrong with the
>   IP stack on the machine -- running out of mbufs maybe?
>   What else is the machine doing?
>
> Anyone else have any ideas for what might cause a UDP
> sendto() to block?
>
> I've created bug #63 to track this: http://trac.t7a.org/isconf/ticket/63
>
> Steve
>
> --
> Stephen G. Traugott  (KG6HDQ)
> UNIX/Linux Infrastructure Architect, TerraLuna LLC
> stevegt@TerraLuna.Org
> http://www.stevegt.com -- http://Infrastructures.Org
>