12

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!

  • Does apache have any permission to write to the file you specified in CoreDumpDirectory directive? It should be owned by apache. – Valentin Bajrami Jan 18 '13 at 15:43
  • I've set it to /tmp which is publicly writable, but I'll try somewhere else and give it ownership to apache – chrismcb Jan 18 '13 at 15:48
  • Thanks - that did produce a dump, however not in the place I set it! I set the CoreDumpDirectory to /tmp/dumps and it dumped to /tmp... now on with debugging – chrismcb Jan 18 '13 at 15:53
  • Glad you figured it out! – Valentin Bajrami Jan 18 '13 at 15:54
7

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

  • Yes, I did just about that, but it ended up dumping into /tmp anyway! – chrismcb Jan 18 '13 at 15:54
  • 6
    It's never a good idea to chmod 777 anything – sendmoreinfo Jan 19 '13 at 19:54
  • 1
    @sendmoreinfo But what if your use case is making something fully modifiable and executable to the outside world? ;-) – avgvstvs Aug 13 '15 at 13:50
  • 7
    You are allowed to shoot yourself in the foot, just don't preach this. – sendmoreinfo Aug 13 '15 at 21:53

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.