[En-Nut-Discussion] Re: TCP stops working after some time

Harald Kipp harald.kipp at egnite.de
Wed Dec 15 15:57:26 CET 2004


Hi Dusan,

At 12:25 15.12.2004 +0100, you wrote:
>Hi Harald,
>
>what kind of tests are you doing ?
>
>Do you think it is sufficient to do only periodic connects ? I think more 
>important is a case with multiple TCP connections with concurrent traffic 
>and larger files (more segments). So for testing there should be also 
>multithreaded client (like a web browser).

I strongly disagree.

It is most essential to reproduce the problem with
the most simple test case, which is possible.

In general, there is no such thing like a single
threaded application, because the idle thread is
part of every Nut/OS code. Additional threads
are created by the TCP stack.


>We experienced lock e.g. once a week or two. But this was with August 3.5 
>version.
>
>Regarding priorities we have application with following threads and their 
>priority values:
>Name    Priority        Status
>arpex           64      SLP
>tcpsm           32      SLP
>snmp            48      SLP
>modbus1         60      SLP
>modbus0         60      SLP
>httpd2          80      SLP
>httpd1          80      RUN
>httpd0          80      SLP
>uart1rcv        30      SLP
>uart0rcv        30      SLP
>UDPsetup        64      SLP
>rxi5            9       SLP
>WatchDog        5       SLP
>main            64      SLP
>idle            254     RDY

At least this shows, that you're using the UARTs too.
Which driver? devUart or devUsartAvr?

We are currently testing with socket timeouts, which had
been excluded from our initial test case. We plan to setup
additional tests with UART communication.

HTTP is no issue, at least not yet. Our problem appears
without using HTTP.

I also did some (unstructured) tests with heavy usage of
events and timeouts. No problems were found.

Harald



>Dusan
>
>>Date: Tue, 14 Dec 2004 12:08:52 +0100
>>From: Harald Kipp <harald.kipp at egnite.de>
>>Jean Pierre,
>>
>>I'm just re-reading the latest posts and sumbled over this one:
>>
>>At 15:10 28.11.2004 +0100, you wrote:
>> >
>> >TCP runs here without locks during weeks.
>> >Try to:
>> >1) observe TCP sockets list (with httpserv "socket list" utility). It can
>> >give you some ideas.
>> >) set timeouts with NutTcpSetSockOpt /SO_SNDTIMEO, /SO_RCVTIME ???
>> >2) do not play with your appli priorities. Keep default value(64). (in my
>> >application, Bugs both on TCP and usart lock when priority is modified).
>> >3)verify heap level.
>>
>>For 1) I've done some very heavy traffic tests without any
>>problems. The 3.9.2 stack seems to work very reliable.
>>
>>For 3) We've done some long term connect/disconnect tests.
>>Again, no problems after 130,000 cycles.
>
>_______________________________________________
>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