[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-janitors] #1450: TCP connections can cause process to hang,
Chicken Trac <=