Httpd – How to get a core dump from apache when segfaulting

dumphttpdsegmentation-fault

I've followed instructions from many locations online on how to get a core dump from apache when it is producing a segfault, but it still refuses to generate the dump.

I have:

  1. Added the CoreDumpDirectory directive into the httpd.conf file and set it to /tmp
  2. Executed
    ulimit -c unlimited
  3. Provided the pattern for dumps using
    echo '/tmp/core-%e.%p' > /proc/sys/kernel/core_pattern
  4. Also ran
    echo 0 > /proc/sys/kernel/core_uses_pid

Httpd has been restarted, but still no dumps created.

I'm running CentOS 5.8 x64 with httpd-2.2.3-65.el5.centos.3 and php-5.3.20-13.el5.art

Any help would be much appreciated!

Best Answer

My answer is this:

  1. Set up the directive as follow

    CoreDumpDirectory /tmp/mycoredump

  2. Create the directory:

    mkdir -p /tmp/mycoredump

  3. Assign ownership to the directory www-data or httpd

    chown -R www-data:www-data /tmp/mycoredump

  4. Set permissions to:

    chmod 777 /tmp/mycoredump

  5. Restart Apache:

    service apache2 restart