Posted on Sunday 28 December 2014 by Norbert

One of our servers running Debian Wheezy was showing Segmentation fault errors at least few times a day. It was logged in  /var/log/apache2/error.log:

[notice] child pid 10671 exit signal Segmentation fault (11)

We've decided to investigate this further and temporary enable Apache backtrace using instructions in /usr/share/doc/apache2/README.backtrace

This is how we did the setup:

install apache2-dbg php5-dbg libapr1-dbg libaprutil1-dbg gdb
mkdir /var/cache/apache2/debug
chown www-data:www-data /var/cache/apache2/debug
vi /etc/apache2/conf.d/debug
CoreDumpDirectory /var/cache/apache2/debug
ulimit -c unlimited
(check using: ulimit -a)
service apache2 restart

wait for new segfault error:
grep Segmentation /var/log/apache2/error.log

and view using:
gdb apache2 -core /var/cache/apache2/debug/core

It turned out the problem was caused by using Apc user cache. Apc is working fine as Opcache, but it has troubles when using as user cache in it's version on Debian 7 Wheezy.

Laposa Ltd
58 Howard Street
Belfast BT1 6PJ
+44 (28) 9032 8988
+353 (1) 437 2515