Hello I am making  a serial tcp bridge device.  it works in server mode  I have 
freeRTOS 9, lwip 1.4.1 and STM32F107 device
I wrote the bridging part and for testing purposes I didn't implement buffer to 
TCP to serial. So Some while receiving data some data piles up in somewhere in 
tcp thread (I think).I wrote a python script that sends 2096 characters every 
second (some lorem ipsum text). serial speed is 115200. So there is enough time 
to send data and free memory. But after couple of hours (it is random. 
sometimes 2 hours sometimes 4 and yesterday it was 12 hours) device cant 
receive whole data somewhat it is 80 byte parts.and it piles up in tcp part. 
And after I stop my script I continue to get data from my serial window a few 
seconds. After memory  is empty if I start my script again still same problem. 
I enabled stats to see if I am getting out of memory but it looks fine. I 
couldn't find where my problem is. 
There is a web server and an udp server running in device (I didnt send request 
both server while testing)I am using socket api 
my stats before running test (it sends stat to seperate uart every 10 seconds)
accept_function: newpcb->state: ESTABLISHEDsocket Connected
ETHARP        xmit: 5        recv: 43        fw: 0        drop: 0        
chkerr: 0        lenerr: 0        memerr: 0        rterr: 0        proterr: 0   
     opterr: 0        err: 0        cachehit: 32
IP        xmit: 36        recv: 53        fw: 0        drop: 0        chkerr: 0 
       lenerr: 0        memerr: 0        rterr: 0        proterr: 0        
opterr: 0        err: 0        cachehit: 0
TCP        xmit: 2        recv: 35        fw: 0        drop: 0        chkerr: 0 
       lenerr: 0        memerr: 0        rterr: 0        proterr: 0        
opterr: 0        err: 0        cachehit: 0
MEM HEAP        avail: 10240        used: 68        max: 456        err: 0
MEM UDP_PCB        avail: 6        used: 2        max: 3        err: 0
MEM TCP_PCB        avail: 20        used: 1        max: 1        err: 0
MEM TCP_PCB_LISTEN        avail: 5        used: 2        max: 2        err: 0
MEM TCP_SEG        avail: 12        used: 0        max: 1        err: 0
MEM NETBUF        avail: 8        used: 0        max: 0        err: 0
MEM NETCONN        avail: 16        used: 4        max: 4        err: 0
MEM TCPIP_MSG_API        avail: 8        used: 0        max: 0        err: 0
MEM TCPIP_MSG_INPKT        avail: 8        used: 0        max: 3        err: 0
MEM SYS_TIMEOUT        avail: 20        used: 6        max: 6        err: 0
MEM NETDB        avail: 1        used: 0        max: 0        err: 0
MEM PBUF_REF/ROM        avail: 25        used: 0        max: 0        err: 0
MEM PBUF_POOL        avail: 12        used: 0        max: 5        err: 0
SYS        sem.used:  4        sem.max:   5        sem.err:   0        
mutex.used: 1        mutex.max:  1        mutex.err:  0        mbox.used:  5    
    mbox.max:   5        mbox.err:   0



And after the problem (Nothing seems suspicious except cachehit I could't 
figure out what it is)

ETHARP        xmit: 21        recv: 2811        fw: 0        drop: 9        
chkerr: 0        lenerr: 0        memerr: 0        rterr: 0        proterr: 9   
     opterr: 0        err: 0        cachehit: 41446
IP        xmit: 41449        recv: 37649        fw: 0        drop: 0        
chkerr: 0        lenerr: 0        memerr: 0        rterr: 0        proterr: 0   
     opterr: 0        err: 0        cachehit: 0
TCP        xmit: 1        recv: 36784        fw: 0        drop: 0        
chkerr: 0        lenerr: 0        memerr: 0        rterr: 0        proterr: 0   
     opterr: 0        err: 0        cachehit: 0
MEM HEAP        avail: 10240        used: 68        max: 456        err: 0
MEM UDP_PCB        avail: 6        used: 2        max: 3        err: 0
MEM TCP_PCB        avail: 20        used: 1        max: 1        err: 0
MEM TCP_PCB_LISTEN        avail: 5        used: 2        max: 2        err: 0
MEM TCP_SEG        avail: 12        used: 0        max: 1        err: 0
MEM NETBUF        avail: 8        used: 0        max: 0        err: 0
MEM NETCONN        avail: 16        used: 4        max: 4        err: 0
MEM TCPIP_MSG_API        avail: 8        used: 0        max: 0        err: 0
MEM TCPIP_MSG_INPKT        avail: 8        used: 0        max: 3        err: 0
MEM SYS_TIMEOUT        avail: 20        used: 6        max: 6        err: 0
MEM NETDB        avail: 1        used: 0        max: 0        err: 0
MEM PBUF_REF/ROM        avail: 25        used: 0        max: 0        err: 0
MEM PBUF_POOL        avail: 12        used: 0        max: 6        err: 0
SYS        sem.used:  4        sem.max:   5        sem.err:   0        
mutex.used: 1        mutex.max:  1        mutex.err:  0        mbox.used:  5    
    mbox.max:   5        mbox.err:   0


_______________________________________________
lwip-users mailing list
lwip-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to