[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