Skip to content

TCP Receive Stall - Please provide insight on where I might debug #345

Closed
@jhinklejr

Description

@jhinklejr

Issue: TCP socket used to receive 50 meg file download from a server stalls with receive wndo of zero.

Application code uses select() to wait for data to be received. Select has 20 sec timout associated with it to detect a stall or disconnect with server. Timeouts are counted and when a level is reached - the connection is closed for lack of communication.

The application fails about 40% of the time.

In all cases wireshark shows communication with server has stopped because the esp keeps sending the same ack with a wndo of zero. After the server receives 9 of these acks -- it stops trying to send.

Issue -- the select is not firing. The select is not returning with a timeout or with data.

This issue existed using ESP8266 RTOS SDK V2.0 and is what has driven me to V30 IDF version -- at least here I can attempt to resolve it.

Since I have not found any issue of this associated with lwip -- I suspect the issue is with the port to the ESP --- both in the V2 and V3 RTOS releases.

What has Espressif done in porting "select()" from lwip to the esp8266? What file/function would be the best to start looking at? Also -- since a timeout is not firing -- any thoughts on how an esp port would affect that also?

Thanks in advance for any help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions