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

Coleman Brumley cbrumley at polarsoft.biz
Tue May 5 15:05:25 CEST 2015


Sorry, that should have said "is there no timeout for the ACK in the CLOSING
state". 

Again, these sockets never transition to TIME_WAIT. 

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: Tuesday, May 05, 2015 8:56 AM
> To: 'Ethernut User Chat (English)'
> Subject: Re: [En-Nut-Discussion] TCP sockets stuck in closing state
> 
> 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
> 
> _______________________________________________
> http://lists.egnite.de/mailman/listinfo/en-nut-discussion



More information about the En-Nut-Discussion mailing list