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>

Reply via email to