﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1450	TCP connections can cause process to hang	sjamaan		"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..."	defect	new	major	someday	core libraries	4.13.0		tcp, spiffy, sockets, hang, scheduler	Jim Ursetto felix winkelmann Mario Domenech Goulart	hard
