Auf einem Livesystem gab es seit einer Woche gelegentliche Segfaults von Apache Kindprozessen:
[notice] child pid 6587 exit signal Segmentation fault (11)
Das normale Vorgehen ist der Eintrag eines CoreDumpDirectory
in /etc/apache2/apache2.conf
und die Erstellung des angegebenen Verzeichnisses. Das führt zwar zu einem entsprechenden Eintrag im Log:
[notice] child pid 7088 exit signal Segmentation fault (11), possible coredump in /tmp/apache-coredumps
aber leider liegt dort nichts. Die Ursache war letztendlich ein Security-Feature, das Coredumps von durch root gestarteten Prozessen die anschließend auf einen anderen Benutzer switchen, verhindert. Hier also der ganze Vorgang unter Debian wheezy um an lesbare Coredumps zu kommen:
$ ulimit -c unlimited
$ mkdir /tmp/apache-coredumps
$ chown -R www-data. /tmp/apache-coredumps
$ sudo vim /etc/apache2/apache2.conf
---> dort "CoreDumpDirectory /tmp/apache-coredumps" einfügen + speichern
$ sudo sysctl fs.suid_dumpable=2
$ sudo service apache2 restart
$ gdb apache2 -core /tmp/apache-coredumps/COREFILE
Ich hoffe es hilft jemandem 😉