I'm trying to solve a segmentation fault. This message appears in my apache-error.log:
[notice] child pid 3979 exit signal Segmentation fault (11)
I've tried disabling some apache and php modules but I'm still getting the same error.
I've also tried putting this in apache2.conf:
CoreDumpDirectory /tmp/apache2-gdb-dump
and then chmod 777, chown www-data... so that the server can write.
I can see no core-dump files to give me a hint on the error.
Does anybody have an idea why CoreDumpDirectory isn't working on Ubuntu?
answers: $ ulimit -a core file size
(blocks, -c) unlimited data seg size
(kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15863 max locked memory
(kbytes, -l) 32 max memory size
(kbytes, -m) unlimited open files
(-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues
(bytes, -q) 819200 real-time priority (-r) 0 stack size
(kbytes, -s) 8192 cpu time
(seconds, -t) unlimited max user processes (-u) 15863 virtual memory (kbytes, -v) unlimited file locks
(-x) unlimited
I finally was able to see Apache's core dump in Ubuntu:
/etc/default/apport
edit apache2.conf:
CoreDumpDirectory /tmp/apache2-gdb-dump
make sure Apache can write to it:
# chmod 777 /tmp/apache2-gdb-dump
remove core dump size limit:
# ulimit -c unlimited
Optionally, change the name pattern of the core dumps:
# echo 'coredump-%e.%p' > /proc/sys/kernel/core_pattern
To analyse the dump use gdb
:
$ gdb apache2 /tmp/apache2-gdb-dump/coredump-x.x
To see stacktrace details, in gdb:
gdb> where
This I did, and I obtained the core-dump. However, my problem was not solved by looking at the coredump; it was apparently an issue in my php script.
More info: http://matrafox.info/apache-child-pid-exit-signal-segmentation-fault.html
Core dumps are disabled on Ubuntu by default
Try this:
ulimit -c unlimited
"ulimit -a" tells you what the current limit is (0 means disabled)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With