keepalive spawns a new thread with abort_on_exception = true. There's no error handling for this threads, and since it's a thread, you can't wrap the listen call with a rescue block.
If an exception is raised in this thread, it will kill the entire process.
Notably, we're getting an Errno::ECONNRESET in the keepalive thread.
keepalive spawns a new thread with
abort_on_exception = true
. There's no error handling for this threads, and since it's a thread, you can't wrap the listen call with a rescue block.If an exception is raised in this thread, it will kill the entire process.
Notably, we're getting an Errno::ECONNRESET in the keepalive thread.