Coming back to this: I vote for applying this to trunk. On a fresh setup, I do not see and assert failures in my test.
- Stefan > Am 08.07.2021 um 20:17 schrieb Yann Ylavic <ylavic....@gmail.com>: > > On Thu, Jul 8, 2021 at 4:21 PM Stefan Eissing > <stefan.eiss...@greenbytes.de> wrote: >> >> I see many of those: >> [Thu Jul 08 14:16:55.301670 2021] [mpm_event:error] [pid 81101:tid >> 123145411510272] (9)Bad file descriptor: AH00468: error closing socket >> -1/7ff9cf0086b0 from process_socket >> >> which come from event.c#1263: rc = start_lingering_close_blocking(cs); >> calling event.c#864: kill_connection_ex(cs, from); >> and event.c#837: close_socket_nonblocking_ex(cs->pfd.desc.s, from); > > OK, so I think this could be addressed by the attached patch. > This is the same as v0 plus some changes in ap_start_lingering_close() > (from server/connection.c) to not close the socket on error. > ap_start_lingering_close() did not close the socket consistently, so > the caller had to call apr_socket_close() anyway and sometimes fail.. > The close on failure is moved to ap_lingering_close() which is the one > that should care. > > Still the AP_DEBUG_ASSERT(0) triggering with this? > <event_ka_no_lingerv3.diff>