[En-Nut-Discussion] TCP sockets stuck in closing state

Coleman Brumley cbrumley at polarsoft.biz
Tue May 5 14:55:45 CEST 2015


And, here it is nearly 10 hours later and those same 3 sockets are still
stuck in the CLOSING state. 

Is there no timeout waiting for the FIN-ACK?

Coleman

> -----Original Message-----
> From: en-nut-discussion-bounces at egnite.de [mailto:en-nut-discussion-
> bounces at egnite.de] On Behalf Of Coleman Brumley
> Sent: Monday, May 04, 2015 10:41 PM
> To: en-nut-discussion at egnite.de
> Subject: [En-Nut-Discussion] TCP sockets stuck in closing state
> 
> Hello. Forgive me for repeating myself (if my earlier posts actually get
> through they may not as they were sent in HTML format inadvertently).
> 
> I have a controller, using Nut/OS 4.8.7 on an Atmel AT91SAM7X256, whose
> web interface relies on JavaScript and AJAX for getting data from the
> controller. The JavaScript periodically requests the data and updates the
> page.
> 
> I apologize ahead of time, I cannot upgrade to the latest version for
several,
> complicated reasons. So, I'm hoping there is a solution to this problem in
a
> later version that I can back port to the version I'm using.
> 
> The problem I'm having is a slow memory leak, and I believe I've narrowed
it
> down to TCP sockets getting stuck, permanently, in the CLOSING state.
> During my last test, I believe I've isolated this to only happening with
IE, but I
> cannot say to my customer "Hey, don't use IE".
> 
> The sockets in question get into the CLOSING state and stay there until
the
> controller is rebooted. This is obviously, causing heap space to be tied
up and
> what I think is happening is that several sockets get into this stuck
state until
> the controller is simply out of heap space.
> 
> To determine this, I've added code to print the socket status every 20
> seconds.
> 
> I've set the SNDTIMEO and RCVTIMEO options on the HTTP TCP socket to
> 1000 each. But, that hasn't affected this issue. I then removed all
reference
> to KEEPALIVE in httpd.c thinking that may be the problem, but that doesn't
> seemed to have helped.
> 
> I will let the controller run overnight and see if the sockets ever
actually
> close. My console output is being logged to file, so I can track down when
> they actually closed and are removed...assuming they do. I've long since
> closed the IE windows (over 20 minutes ago!).
> 
> Does anyone have any guidance as to how I can fix this???
> 
> Thanks in advance,
> Coleman
> 
> 
> _______________________________________________
> http://lists.egnite.de/mailman/listinfo/en-nut-discussion



More information about the En-Nut-Discussion mailing list