Hi Yann,

your last patch results in multiple crashes every second:
Program terminated with signal SIGSEGV, Segmentation fault.
#0  apr_pool_cleanup_kill (p=0x7f2b00000000,
data=data@entry=0x7f2bb40478c0,
    cleanup_fn=cleanup_fn@entry=0x7f2bc92285b0 <socket_cleanup>) at
memory/unix/apr_pools.c:2264
2264    memory/unix/apr_pools.c: No such file or directory.
#0  apr_pool_cleanup_kill (p=0x7f2b00000000,
data=data@entry=0x7f2bb40478c0,
    cleanup_fn=cleanup_fn@entry=0x7f2bc92285b0 <socket_cleanup>) at
memory/unix/apr_pools.c:2264
#1  0x00007f2bc9224871 in apr_pool_cleanup_run (p=<optimized out>,
data=0x7f2bb40478c0, cleanup_fn=0x7f2bc92285b0 <socket_cleanup>)
    at memory/unix/apr_pools.c:2342
#2  0x00007f2bc9228892 in apr_socket_close (thesocket=<optimized out>)
at network_io/unix/sockets.c:183
#3  0x0000555d4f07b99a in process_lingering_close (cs=0x7f2bb4047ac8,
pfd=0x555d4f75dfa8) at event.c:1510
#4  0x0000555d4f07f4e0 in listener_thread (thd=0x7f2b00000000,
dummy=0x547d8caf3534b) at event.c:1837
#5  0x00007f2bc8ff20a4 in start_thread () from
/lib/x86_64-linux-gnu/libpthread.so.0
#6  0x00007f2bc8d2762d in clone () from /lib/x86_64-linux-gnu/libc.so.6

Stefan

Am 06.02.2017 um 09:33 schrieb Stefan Priebe - Profihost AG:
> Hallo,
> 
> up and running (apache 2.4.25 + mpm_event V7 + mpd_http2 v1.8.11 +
> mod_ssl patch + your new allocator patch). Will report back.
> 
> Greets,
> Stefan
> 
> Am 06.02.2017 um 01:19 schrieb Yann Ylavic:
>> Hi Stefan,
>>
>> On Sun, Feb 5, 2017 at 7:51 PM, Stefan Priebe - Profihost AG
>> <s.pri...@profihost.ag> wrote:
>>>
>>> tested your patch against mod_ssl. I haven't seen any pool crashes again
>>> so it seems to fix this issue.
>>>
>>> But two new ones:
>>
>> Possibly a promising fix suggested (in another thread) by yet another
>> talented Stefan :)
>> He has spotted a possible issue in mpm_event which could affect mainly
>> mod_http2.
>> I applied his suggestion in the attached patch, and did some
>> extrapolation for similar code in mod_h2 (so all possible errors are
>> mine...).
>> Would you test this one please?
>>
>> @icing: I changed the parent pool of the slave connection from the
>> mplx pool to the master connection's (ptrans), just to simplify the
>> allocators in place for now.
>> I don't see it was needed from a concurrency POV, but if you wanted to
>> avoid locking when creating slaves' pool we can probably keep the
>> dedicated allocator finally (to reduce possible contention on
>> ptrans->mutex? No mutex needed I think since mplx doesn't seem to have
>> other subpools. Trade off with memory consumption, though).
>>
>>
>> Regards,
>> Yann.
>>

Reply via email to