lwip-users
[Top][All Lists]
Advanced

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

[lwip-users] long time tcp receive lwip packets lost


From: Erkan Ersoy
Subject: [lwip-users] long time tcp receive lwip packets lost
Date: Sat, 17 Sep 2016 10:42:01 +0000 (UTC)

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: ESTABLISHED
socket 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




reply via email to

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