[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: JANOS+ANTS: nodes crash when old code is replaced with new?



Robert Watson wrote:
> I've been experimenting with a custom form of the ping application, with
> the intent of playing with some security stuff.  However, I've observed
> the following behavior: when the code for mypingcapsule is first
> distributed across my test network, it works fine.  If I then modify the
> code, and perform a second ping, the first node it reaches that still
> cached the old code dies with an out of memory error (attached below).

There is a bug in the last version of janos in the UdpBuffer code that 
over-aggressively allocates memory for incoming packet buffers.  A
simple hack would be to change UdpBuffer.getFree() to allocate a
buffer on demand, and make addBuffers() a no-op.  (I forget exactly
how much memory we were allocating, but it was something ridiculous
like 32Mb per protocol... :)

Since it dies trying to fire up a new flow, that implies that it
thinks your modified version of ping really is different.  So, I think 
the ID stuff is probably working.

Let me know if that doesn't fix it.  The next release of Janos (coming 
any day now) will fix this problem.

-Pat

----- ----- ---- ---  ---  --   -    -      -         -               -
Pat Tullmann                                       tullmann@cs.utah.edu
    Not many people realize just how well known I am -- Anonymous




[ Janos ] [ OSKit ] [ Network Testbed ] [ Flick ] [ Fluke ]
Flux Research Group / Department of Computer Science / University of Utah