[En-Nut-Discussion] TCP/IP Stack crashes

Bernard Fouché bernard.fouche at kuantic.com
Fri Jan 13 16:37:12 CET 2006


Even if there is code added to ignore broadcasting hosts, arp cache 
should be limited in some way:  one can put an Ethernut in a network 
where a lot of clients will make queries to it, so just ignoring the 
broadcast packets does not solve the problem definitely. I think that  
arp cache has to be limited to N entries, then when N is reached, NutOs 
must drop the oldest entry: it's better to slow a bit the processing of 
the Ethernut than risking a mysterious crash.

  Bernard

Harald Kipp wrote:

> Excellent explanation, thanks.
>
> Running out of heap consequences:
> I'm sure that not all mallocs are checked for success. If
> not, the code will use a NULL pointer. Writing to memory
> location 0 will overwrite the AVR registers and the system
> crashes.
>
> Harald
>
> At 12:23 13.01.2006 +0100, you wrote:
>
>> If I read the code correctly, an Ethernut in a network with many host 
>> broadcasting often will suck heap memory because of the arp cache 
>> management. So flooding the network with broadcast packets from one 
>> host or two won't show the bug.. Maybe you need 50 hosts or more. 
>> Memory usage from the Ethernut application is also to be considered. 
>> Eventually the heap will collide with the stack (I did not search 
>> NutOs code about what's going on if this happens)
>
>
> _______________________________________________
> En-Nut-Discussion mailing list
> En-Nut-Discussion at egnite.de
> http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion
>




More information about the En-Nut-Discussion mailing list