lwip-users
[Top][All Lists]
Advanced

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

Re: [lwip-users] lwip_write() seems to block forever


From: Alhad Palkar
Subject: Re: [lwip-users] lwip_write() seems to block forever
Date: Mon, 16 Nov 2015 13:12:20 -0800

my lwip stats look like these when the lwip_write() hangs

LINK
xmit: 12010
recv: 6679
fw: 0
drop: 0
chkerr: 0
lenerr: 0
memerr: 0
rterr: 0
proterr: 0
opterr: 0
err: 0
cachehit: 0

ETHARP
xmit: 3
recv: 9
fw: 0
drop: 0
chkerr: 0
lenerr: 0
memerr: 0
rterr: 0
proterr: 0
opterr: 0
err: 0
cachehit: 12001

IP
xmit: 12006
recv: 6670
fw: 0
drop: 0
chkerr: 0
lenerr: 0
memerr: 0
rterr: 0
proterr: 0
opterr: 0
err: 0
cachehit: 0

ICMP
xmit: 1
recv: 1
fw: 0
drop: 0
chkerr: 0
lenerr: 0
memerr: 0
rterr: 0
proterr: 0
opterr: 0
err: 0
cachehit: 0

UDP
xmit: 2
recv: 5
fw: 0
drop: 0
chkerr: 0
lenerr: 0
memerr: 0
rterr: 0
proterr: 0
opterr: 0
err: 0
cachehit: 0

TCP
xmit: 12002
recv: 6664
fw: 0
drop: 0
chkerr: 0
lenerr: 0
memerr: 0
rterr: 0
proterr: 0
opterr: 0
err: 0
cachehit: 0

MEM RAW_PCB
avail: 10
used: 0
max: 0
err: 0

MEM UDP_PCB
avail: 5
used: 1
max: 1
err: 0

MEM TCP_PCB
avail: 16
used: 0
max: 1
err: 0

MEM TCP_PCB_LISTEN
avail: 16
used: 2
max: 2
err: 0

MEM TCP_SEG
avail: 16
used: 0
max: 3
err: 0

MEM NETBUF
avail: 16
used: 0
max: 0
err: 0

MEM NETCONN
avail: 16
used: 2
max: 3
err: 0

MEM TCPIP_MSG_API
avail: 8
used: 0
max: 1
err: 0

MEM TCPIP_MSG_INPKT
avail: 128
used: 0
max: 3
err: 0

MEM SYS_TIMEOUT
avail: 8
used: 3
max: 4
err: 0

MEM PBUF_REF/ROM
avail: 64
used: 0
max: 0
err: 0

MEM PBUF_POOL
avail: 128
used: 0
max: 3
err: 0

SYS
sem.used:  0
sem.max:   0
sem.err:   0
mutex.used: 0
mutex.max:  0
mutex.err:  0
mbox.used:  0
mbox.max:   0
mbox.err:   0
Ok.

So it doesn't look like any of my pools are running out of space.

Alhad


On Mon, Nov 16, 2015 at 12:35 PM, Alhad Palkar <address@hidden> wrote:
​Hi,

​I can reproduce this fairly easily when transmitting data from an arm system (192.168.5.15 ) using LWIP to a server running on mac os x ( 192.168.5.10 ). I am using LWIP version 1.4.1. I have attached a copy of the pcapng file that captures the failure. My lwipopts.h file looks like below 

#define NO_SYS                                      0
#define MEM_LIBC_MALLOC                 1
#define MEM_ALIGNMENT                     4
#define MEM_SIZE                                 1600

#define MEMP_NUM_PBUF                        64
#define MEMP_NUM_TCP_PCB                 16
#define MEMP_NUM_TCP_PCB_LISTEN   16
#define MEMP_NUM_TCP_SEG                 (TCP_SND_QUEUELEN+1)
#define MEMP_NUM_SYS_TIMEOUT         8
#define MEMP_NUM_NETBUF                   16
#define MEMP_NUM_NETCONN                16
#define PBUF_POOL_SIZE                         128
#define PBUF_POOL_BUFSIZE                  (4 * 1024)

#define MEMP_NUM_TCPIP_MSG_INPKT        128

#define IP_FORWARD                         0
#define IP_OPTIONS_ALLOWED        0
#define IP_REASSEMBLY                   0
#define IP_FRAG                                 0
#define IP_REASS_MAXAGE              3
#define IP_REASS_BUFSIZE              2048
#define IP_FRAG_MAX_MTU              1500

#define TCP_SYNMAXRTX                   2
#define TCP_QUEUE_OOSEQ              1
#define TCP_MSS                                  1460
#define TCP_WND                                 (16 * TCP_MSS)
#define TCP_SND_BUF                         TCP_WND
#define TCP_SND_QUEUELEN 32

#define TCPIP_MBOX_SIZE                               128
#define DEFAULT_TCP_RECVMBOX_SIZE       128
#define DEFAULT_ACCEPTMBOX_SIZE 128

Does anything look obviously wrong here?

Looking at the capture it is evident that LWIP is trying to retransmit packets, but it never seems to come out of this. What might cause this?

Thanks,
Alhad


reply via email to

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