lwip-users
[Top][All Lists]
Advanced

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

RE: [lwip-users] LWIP 1.1.0 stability issue


From: Kjell-Erik Klevan
Subject: RE: [lwip-users] LWIP 1.1.0 stability issue
Date: Wed, 24 Aug 2005 07:13:14 +0200

Thanks for elaborating answers Jim.

 

Kjell-Erik

 


From: address@hidden [mailto:address@hidden On Behalf Of Jim Gibbons
Sent: Tuesday, August 23, 2005 6:24 PM
To: Mailing list for lwIP users
Subject: Re: [lwip-users] LWIP 1.1.0 stability issue

 

A little more on the timer issue:  I've looked some more at the 1.1.0 code.  I believe that the timer gets started as needed by the TCP_REG macro from tcp.h.   In the old scheme that I described earlier, the timer was just left running, regardless of the state of the stack.  1.1.0 is more efficient in this regard.  In any event, if you do track everything down in the code, I think you will be satisfied that the timer is running in the correct task context.

Kjell-Erik Klevan wrote:

Hi!
 
This is my first email to this forum so be nice to me :-)
 
We have an IP input board equipped with a TI DM642 DSP running the LWIP
version 1.1.0 stack. More, the board contains two Intel gigabit Ethernet
controllers. One that communicates with the outside world and one that only
communicates internally with other boards in the unit (typically data
processor boards).
 
We have some stability issues with the LWIP stack and are easily provoked
during FTP test (upload and download of files). When it occurs, the board
does not respond even to ping. However, it still transmits and receives ARP
messages. 
 
During test, we encountered the following printouts:
Closing data socket 23
mem_malloc: could not allocate 1096 bytes
tcp_enqueue : could not allocate memory for pbuf copy size 1024
 
Note that this is only one way for us to provoke it. It also happens
sometimes with other TCP applications (like Telnet) but without any
warnings.
 
Looking more through the code I started wondering about the TCP part of the
stack. tcp_active_pcbs variable that keeps track of the list of active TCP
connections is not protected by any semaphore. The timer function
"tcp_slowtmr" and the thread "tcpip_thread" are both using this list. To me,
it seems that this list can be corrupted if no semaphore protection is
added. OR is it something that I am missing here?
 
Thanks for any help or guidelines you can give.
 
Regards,
Kjell-Erik
 
 
 
 
_______________________________________________
lwip-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users
  

 

--

Jim Gibbons

address@hidden

Gibbons and Associates, Inc.

TEL: (408) 984-1441

900 Lafayette, Suite 704, Santa Clara, CA

FAX: (408) 247-6395

 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]