tcp_connect() trying to insert pcb into tcp_active_pcbs (it's already there!)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

tcp_connect() trying to insert pcb into tcp_active_pcbs (it's already there!)

Michael Williamson-5
Hi,

I've been using LWIP for a while now (a port to the TI'6711) and have
been bumping into an odd problem where the TCP_REG() macro is trying to
stuff a pcb onto the tcp_active_pcbs list, but the pcb it's working with
is already on the list.  The list gets corrupted at this point and the
tcp_tmr() thread gets locked in an infinite loop.  The TCP_REG in
question is in the tcp_connect() call in tcp.c.

We are using the sockets api, and the test case basically has a client
thread periodically trying to connect to a server socket on a box that
isn't on the network.

I suspect that the problem may ultimately be a client software bug
(using an invalid socket or not cleaning up properly?), but was
wondering if anyone out there has seen this behavior?  As far as I can
tell, the only way to get into this mode is if we were trying to connect
an already in-use socket... bad, but shouldn't result in death-of-a-stack...

-Mike


_______________________________________________
lwip-users mailing list
[hidden email]
http://lists.nongnu.org/mailman/listinfo/lwip-users

michael.williamson.vcf (396 bytes) Download Attachment