php-fpm not generating core dump files despite being configured to
I'm running Centos 7 with php-fpm 5.4. I'm encountering a (signal 11) SIGSEGV error in my php-fpm error logs and want to debug it.
I've followed the advice of php5 fpm: how do you generate core dump from segfault? but php-fpm is still not even attempting to generate core dumps. From the php-fpm error log:
WARNING: [pool website.com] child 26953 exited on signal 11 (SIGSEGV) after 0.931337 seconds from start
If a core dump had been generated, it would read (SEGSEGV - core dumped)
but it doesn't.
I also had trouble with this. It seems that on centos the master php-fpm
process is launched with root privileges, which then launches the individual pools with reduced privileges (user php-fpm
on centos by default).
The stumbling block for me, and I suspect for you too, is that if a process has changed it's own execution privileges, it is not permitted to produce a core dump file unless /proc/sys/fs/suid_dumpable
is set to allow this. See information about this kernel-level control here.