Apache Segfault unter Debian Wheezy debuggen

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 😉

Getagged mit: , , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.