> Am 25.01.2022 um 22:25 schrieb Graham Leggett <minf...@sharp.fm>:
> 
> On 25 Jan 2022, at 14:11, Stefan Eissing <ste...@eissing.org> wrote:
> 
>> Also, while running the http2 test suite, I get repeated assert failures in 
>> event.c:1230
>> 
>> if (rv != APR_SUCCESS && !APR_STATUS_IS_EEXIST(rv)) {
>> ->  AP_DEBUG_ASSERT(0);
>>   TO_QUEUE_REMOVE(cs->sc->wc_q, cs);
>>   apr_thread_mutex_unlock(timeout_mutex);
>>   ap_log_error(APLOG_MARK, APLOG_ERR, rv, ap_server_conf, APLOGNO(03465)
>>                "process_socket: apr_pollset_add failure for "
>>                "write completion");
>>   close_connection(cs);
>>   signal_threads(ST_GRACEFUL);
>> }
> 
> One line above is this:
> 
>            rv = apr_pollset_add(event_pollset, &cs->pfd);
> 
> and looking up the log we fail with a bad file descriptor.
> 
> This looks like it’s being triggered by this:
> 
> https://github.com/apache/apr/blob/trunk/poll/unix/poll.c#L194
> 
> which in turn looks like an apr_file_t is being added to the connection. Does 
> that seem familiar?

I do not even parse that statement. What does "added to the connection" mean?

> To explain what’s changed in mod_ssl, a bug has been fixed. In the old 
> mod_ssl, directly after connecting we make one single attempt to read zero 
> bytes in a blocking connection. OpenSSL kicks in and performs reads and 
> writes to finish the handshake. And then if that failed for whatever reason - 
> brokenly - we throw the errors away and pretend nothing happened.
> 
> https://github.com/apache/httpd/blob/2.4.x/modules/ssl/mod_ssl.c#L695
> 
> We then get into the protocol handler, and in http/1.1 we read the now broken 
> connection a second time here:
> 
> https://github.com/apache/httpd/blob/2.4.x/modules/http/http_core.c#L148
> 
> Is the http2 code doing anything to work around mod_ssl trying to read, 
> failing, throwing away the error, and then pretending nothing happened? To 
> fix this behaviour, I suspect whatever you needed to do to work around the 
> mod_ssl bug needs to be undone.

Guys, we have changes in a central part of the server and our CI fails. 
It is not good enough to give other people unspecific homework to fix it. 

Analyze what you broke and if we can help, we'll happily do that. But
you need to give some more details here.

- Stefan

Reply via email to