Infrastructures.Org | ISconf.Org TerraLuna Projects

Ticket #63 (defect)

Opened 6 years ago

EAGAIN from sendto()

Status: new

Reported by: stevegt@terraluna.org Assigned to: stevegt
Priority: normal Milestone: 4.2.8
Component: general Version:
Severity: normal Keywords:
Cc:
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?