Recently we deployed a high volume SSL site on a custom RPM build of Apache
2.0.59 running on CentOS 4.3.
Things ran happily for about 5 days before we started noticing segfaults in
our logs along with blank pages for that particular SSL vhost. Restarting
apache makes the problem disappear for another few days before it crops up
again. Other HTTPS and HTTP hosts continue to serve requests without error.
I could be wrong, but I've never seen apache segfault for one vhost and work
perfectly fine for another.
Going over our past logs I see rare occurances of segfaults but nothing that
is regular or that has impacted service before. It seems to be isolated to
this one site.
How can I debug these segfaults in order to determine the exact cause of the
problem?
Here are the messages from our error_log during the time of the error:
[Tue Apr 17 07:29:11 2007] [notice] child pid 3952 exit signal Segmentation
fault (11)
[Tue Apr 17 07:29:12 2007] [notice] child pid 3931 exit signal Segmentation
fault (11)
Here is the relevant section of our custom spec file that we used to build
this RPM. Note that we added "-D_FILE_OFFSET_BITS=64" so that we can support
files larger than 2GB (our logs were growing past that limit occasionally.)
../configure -C \
--prefix=%{contentdir} \
--exec-prefix=%{contentdir} \
--bindir=%{contentdir}/bin \
--sbindir=%{contentdir}/bin \
--mandir=%{contentdir}/man \
--libdir=%{contentdir}/lib \
--sysconfdir=%{contentdir}/conf \
--includedir=%{contentdir}/include \
--libexecdir=%{contentdir}/modules \
--datadir=%{contentdir} \
--with-mpm=prefork \
--enable-so \
--enable-ssl \
--enable-rewrite \
--enable-userdir \
--disable-imap --disable-cgi \
$*
make EXTRA_CFLAGS="-D_FILE_OFFSET_BITS=64" %{?_smp_mflags}
Let me know if you need more information.
-CM