[Infrastructures] RE: ISconf: Cache.py - bcast method
Steve Traugott
stevegt@TerraLuna.Org
Wed, 21 Dec 2005 20:58:44 -0800
My isconf testing is all done in a Xen cluster, but only in domain 0
of each of several physical nodes, with no other guests running yet.
(I haven't yet got the machinery in place to have the test cases
automatically create and delete guest domains.)
It would be interesting if this turned out to be a Xen-specific
behavior. It actually wouldn't surprise me at all, as a matter of
fact. The hypervisor might be unable to deliver the packet to the
physical interface in this time slice. I'm not sure, but it would
make sense for that to cause the guest system call to block/EAGAIN.
You're running multiple guests in the same physical box, all doing
network traffic at the same time, right?
Steve
On Wed, Dec 21, 2005 at 05:09:17AM -0700, Jordan Curzon wrote:
> My python version is 2.4.1.
>
> I am testing it on an imaged XEN virtual machine. I haven't tested it
> on real hardware, or a different distro.
>
> I havn't had the change to test wrap ing it in blocking calls.
>
> On 12/19/05, Steve Traugott <stevegt@terraluna.org> wrote:
> > Curiouser and curiouser. What happens if you set the socket to
> > blocking before the sendto() call, then back to nonblocking again
> > afterwards? I.E.:
> >
> > self.sock.setblocking(1)
> > self.sock.sendto(msg,0,(addr,self.udpport))
> > self.sock.setblocking(0)
> >
> > Has this only happened on one machine? Out of how many? Does dmesg
> > say anything interesting (e.g. link state transients)?
> >
> > Steve
> >
> > On Mon, Dec 19, 2005 at 04:49:57PM -0700, Jordan Curzon wrote:
> > > 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
> > > >
> > > _______________________________________________
> > > Infrastructures mailing list
> > > Infrastructures@mailman.terraluna.org
> > > http://mailman.terraluna.org/mailman/listinfo/infrastructures
> >
> > --
> > Stephen G. Traugott (KG6HDQ)
> > UNIX/Linux Infrastructure Architect, TerraLuna LLC
> > stevegt@TerraLuna.Org
> > http://www.stevegt.com -- http://Infrastructures.Org
> >
> _______________________________________________
> Infrastructures mailing list
> Infrastructures@mailman.terraluna.org
> http://mailman.terraluna.org/mailman/listinfo/infrastructures
--
Stephen G. Traugott (KG6HDQ)
UNIX/Linux Infrastructure Architect, TerraLuna LLC
stevegt@TerraLuna.Org
http://www.stevegt.com -- http://Infrastructures.Org