chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #1450: TCP connections can cause process to hang


From: Chicken Trac
Subject: [Chicken-janitors] #1450: TCP connections can cause process to hang
Date: Mon, 19 Mar 2018 07:42:09 -0000

#1450: TCP connections can cause process to hang
-------------------------------------+-------------------------------------
 Reporter:  sjamaan                  |                 Owner:
     Type:  defect                   |                Status:  new
 Priority:  major                    |             Milestone:  4.14.0
Component:  core libraries           |               Version:  4.13.0
 Keywords:  tcp, spiffy, sockets,    |  Estimated difficulty:  hard
  hang, scheduler                    |
-------------------------------------+-------------------------------------
 As reported by Jim Ursetto, his Spiffy server (which is running on
 localhost behind a NGINX proxy) will stop responding at some point. It is
 currently not 100% clear when exactly this happens.

 As Jim says:

 > I believe I’ve tracked down the problem, although not the solution yet.
 It seems the file descriptor table is filled up with half open sockets.
 lsof shows:
 >
 >
 > chickadee 13361 jim 1019u sock 0,7 0t0 2365037 can't identify protocol
 > chickadee 13361 jim 1020u sock 0,7 0t0 2366414 can't identify protocol
 > chickadee 13361 jim 1021u sock 0,7 0t0 2368047 can't identify protocol
 > chickadee 13361 jim 1022u sock 0,7 0t0 2368343 can't identify protocol
 >
 > And this message on Linux seems to occur when sockets are half-open (or
 half-closed, if you are a pessimist).

 And later:

 > my hunch is that this happens when the connecting side hangs up while we
 are still sending. Which is probably obvious from my previous description
 of the problem. I was going to start attacking it by inserting strategic
 sleeps at various locations to try and manually trigger it, although you
 probably have a better way. Obviously you do appear to catch all errors in
 spiffy, so I’m not sure if one of those error handlers is neglecting to
 close a socket, if the socket close fails and isn’t reported, or if this
 is a deeper bug inside the tcp unit.

 I hear faint echoes of #340...

--
Ticket URL: <https://bugs.call-cc.org/ticket/1450>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]