On Wed, Feb 15, 2017 at 8:53 PM, Stefan Priebe - Profihost AG <s.pri...@profihost.ag> wrote: > > still no segfaults.
Great! > > @Yann > Are those patches (the addon on top of v7) and the one on top of mod_ssl > still correct / needed? I think so, but maybe I'm a bit lost (see below)... > > Am 15.02.2017 um 12:45 schrieb Stefan Priebe - Profihost AG: >> >> Am 15.02.2017 um 12:19 schrieb Yann Ylavic: >>> >>> Is this with or without the mpm_event's wakeup and/or allocator patches? >> >> it's with the mpm_event_listener_wakeup_bug57399_V7 + Does this includes any change besides v7 from bugzilla? Also finally... I really wish we had something like v6 in mpm_event, these locks around pollset operations seem really unnecessary to me (and likely not good performance wise). I think the (very unlikely) race mentioned in https://svn.apache.org/r1779354 could be addressed in the listener itself (while processing the queues, lock held) rather than every worker. I you could try the v8 I'll try to propose soon it would be really nice of you (as usual ;) >> >> --- a/build/httpd/server/mpm/event/event.c (revision 1776076) >> +++ b/build/httpd/server/mpm/event/event.c (working copy) This one is needed I think, I was waiting for your feedbacks since it mainly affects http2. Everything looking good, I just committed it to trunk (r1783755), the final patch would be [1]. I also committed the corresponding changes in mod_http2 (r1783756) which don't seem to be in v1.9.0, so you may need [2] and [3] too. >> >> Index: a/build/httpd/modules/ssl/ssl_engine_io.c >> =================================================================== >> --- a/build/httpd/modules/ssl/ssl_engine_io.c (revision 1781324) >> +++ b/build/httpd/modules/ssl/ssl_engine_io.c (working copy) This one is in trunk already (r1781582), but without this change: >> - if (APR_BUCKET_IS_METADATA(bucket)) { >> + if (APR_BUCKET_IS_METADATA(bucket) || !filter_ctx->pssl) { So I'd suggest to use [4] instead. No harm, though, this case cannot happen in current httpd, but as discussed in another thread we should handle it another way. To conclude, I think you should be using: httpd-2.4.25 + mod_http-v1.9.0 + PR57399-v7.patch + [1] + [2] + [3] + [4]. Other than PR57399-v7, they are all in trunk now, so hopefully it will be easier to talk about them (e.g. with revision number). Regards, Yann. [1] http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/event/event.c?r1=1783755&r2=1783754&pathrev=1783755&view=patch (from r1783755) [2] http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_mplx.c?rev=1783756&r1=1783755&r2=1783756&view=diff (from r1783756) [3] http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_conn.c?rev=1783756&r1=1783755&r2=1783756&view=diff (from r1783756) [4] http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_engine_io.c?r1=1781581&r2=1781582&pathrev=1781582&view=patch (from r1781582). PS: I could not find a way for viewvc URLs above to express a single diff for a whole revision change (e.g. [2] and [3] above are two files changed in the same commit...). With the svn client, it would be simply these three diffs: [svn.1] svn diff -r 1783754:1783755 http://svn.apache.org/repos/asf/httpd/httpd/trunk/ [svn.2-3] svn diff -r 1783755:1783756 http://svn.apache.org/repos/asf/httpd/httpd/trunk/ [svn.4] svn diff -r 1781581:1781582 http://svn.apache.org/repos/asf/httpd/httpd/trunk/