Somehow, when repeated connection attempts came in from a single client with a bad build ID, we would hit a segfault where the auth client's broadcast channel would have an invalid message in it. It is unclear how this message got in the channel, but I did notice that poll() is returning that the client's socket is POLLNVAL. Treating POLLNVAL as a regular hangup seems to prevent the problem.
Somehow, when repeated connection attempts came in from a single client with a bad build ID, we would hit a segfault where the auth client's broadcast channel would have an invalid message in it. It is unclear how this message got in the channel, but I did notice that
poll()
is returning that the client's socket isPOLLNVAL
. TreatingPOLLNVAL
as a regular hangup seems to prevent the problem.