In a very similar problem I endup corrupting tcp_active_pcbs in circular linked list. After hard debugging I found that mem_free() called twice for a single connection to free a closing connection.
On Mon, 3 Jun, 2019, 3:55 AM Pedro, <[email protected]> wrote: > Hello there, how are you? > > Well, I'm working with a STM32H7 board and lwIP stack (2.0.3), no RTOS. > The idea is running a TCP Client and a TCP Server at the same time, so I've > started using echo demos as reference. TCP Client can use an IP address or > a host name, so "dns_gethostbyname" is helping me. Also, I've > set TCP_SYNMAXRTX to 3, so if no Server is found, "tcp_err" is called to > close the client and then, try again later ("tcp_new"). > > To test the routine, I've provided a simple terminal on my Windows, with > both TCP Client and Server functions. So if I type the board IP address and > Port, I can connect to lwIP Server. And if I opens a Port, lwIP Client > connects to it. > > Everything works fine if lwIP Client connects first. If lwIP Server gets a > connection first or even if Windows server is offline, the board get > stucked on "tcp_fasttmr" method, with "pcb" and "pcb->next" pointing to the > same address (established Server). > > I've created some kind of state machine for both connection, running on > main while, so I can't see any concurrent process (maybe SYNC by lwIP and > the Server stack?). > > Do you have any clue how can I solve this? I'm planning to add more > functions to my board, something close to Microchip TCPIP stack, with HTTP > server, DDNS and NTP clients. > > Thanks a lot! > _______________________________________________ > lwip-users mailing list > [email protected] > https://lists.nongnu.org/mailman/listinfo/lwip-users
_______________________________________________ lwip-users mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/lwip-users
