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

Thiago A. Corrêa thiago.correa at gmail.com
Tue May 5 15:44:06 CEST 2015


Hi Coleman,

     It's not a direct answer to the problem, but did you check svn log for
tcpsm.c? It could be a starting point and answer your original question if
this issue has been fixed before or not.

     I did notice that our Nut/OS based firmwares didn't like many
connection/disconnection cycles but I had always attributed it to memory
fragmentation. Haven't tested for a long time, back then I wrote a proxy to
handle the connects/disconnects and keep a single connection alive to the
hardware.

     Would be interested to know if it was fixed as well.



Kind Regards,
     Thiago A. Correa


On Tue, May 5, 2015 at 10:05 AM, Coleman Brumley <cbrumley at polarsoft.biz>
wrote:

> 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
>
> _______________________________________________
> http://lists.egnite.de/mailman/listinfo/en-nut-discussion
>


More information about the En-Nut-Discussion mailing list