> Am 25.08.2021 um 15:06 schrieb ste...@eissing.org:
> 
> 
> 
>> Am 25.08.2021 um 13:53 schrieb Yann Ylavic <ylavic....@gmail.com>:
>> 
>> On Wed, Aug 25, 2021 at 1:14 AM Travis CI <bui...@travis-ci.com> wrote:
>>> 
>>> apache / httpd
>>> 
>>> trunk
>>> 
>>> Build #1831 was broken
>>> 21 mins and 33 secs
>>> Yann Ylavic
>>> 243c5fa CHANGESET →
>>> 
>>> mpm_{event,worker,prefork}: late stop of children processes on restart.
>> 
>> (unrelated to this change, Build #1819 failed the same earlier).
>> 
>> Here: https://app.travis-ci.com/github/apache/httpd/jobs/533578536#L4103
>> 
>> It seems that when exiting a stream can be destroyed while in
>> h2_mplx_s_task_done::s_task_done()::mst_check_data_for()
>> when the mplx lock is released (thus stream->id faults).
>> 
>> Should the caller(s) of mst_check_data_for() pass stream->id (under
>> the lock) instead?
>> This would avoid the fault but that's still a potentially destroyed
>> stream being fifo'ed, though we are exiting so it might not matter..
>> 
>> A better fix maybe, Stefan?
> 
> I think the "stream->id" needs to be save before giving up the lock. 
> I'll make the change, but currently my test suite throws several 
> other errors in trunk. Something changed...
> 
> Btw. I am working on a real fix of this messy code in http2, using 
> a apr_pollset for monitoring connections and ongoing requests. Also
> cleaning up other parts of the code, reducing complexity.
> 
> <https://github.com/icing/mod_h2/tree/icing/pipes>
> 
> I'll see what version of trunk still runs my tests and report back.


Ok, r1892586 still runs the http2 tests nicely. Seems that r1892587 
broke things. Note that the http2 test suite does a lot of server
reloads.

Stefan

> 
> - Stefan
> 
>> 
>> Cheers;
>> Yann.

Reply via email to