Hi,

I compiled httpd-2.2.11 with "./configure --with-included-apr
--enable-ssl --disable-cgi --disable-cgid --with-mpm=prefork
--enable-status". HTTP requests seem to be processed fine from a users
point of view, but I get many segfaults in my apache log when I
seriously increase the workload. Here a trace from gdb:

Core was generated by `/usr/local/apache2/bin/httpd -k start'.
Program terminated with signal 11, Segmentation fault.
[New process 9935]
#0  apr_pollset_add (pollset=0x0, descriptor=0xbf8225dc) at
poll/unix/epoll.c:150
150         if (pollset->flags & APR_POLLSET_NOCOPY) {
(gdb) print pollset
$1 = (apr_pollset_t *) 0x0
(gdb) bt
#0  apr_pollset_add (pollset=0x0, descriptor=0xbf8225dc) at
poll/unix/epoll.c:150
#1  0x080c2c41 in child_main (child_num_arg=<value optimized out>) at
prefork.c:532
#2  0x080c30f3 in make_child (s=0x9c849a8, slot=138) at prefork.c:746
#3  0x080c3ef8 in ap_mpm_run (_pconf=0x9c7d0a8, plog=0x9cbb1a0,
s=0x9c849a8) at prefork.c:881
#4  0x0806e808 in main (argc=164081968, argv=0xbf822904) at main.c:740
(gdb)

When I compiled with mpm-worker, I did not get into these problems.
These are my mpm-prefork settings:
<IfModule mpm_prefork_module>
    ServerLimit      512
    StartServers          100
    MinSpareServers       25
    MaxSpareServers      75
    MaxClients          256
    MaxRequestsPerChild   0
</IfModule>

When I start about 4000 user sessions in a few seconds this happens,
not with lower values. Changing KeepAllive to On/Off does not change
anything.

I was hoping this rings a bell, otherwise I could provide you with
more information on your request, provided someone is kind enough to
pick this up ;)

Thank you,
Andrej

Reply via email to