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 [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
