You need to get a core and a backtrace of this crash.
If you're on linux try following:
# echo '/tmp/core-%e.%p' > /proc/sys/kernel/core_pattern
# echo 0 > /proc/sys/kernel/core_uses_pid
After that, if rlimit_core is set to 'unlimited' you will get a core file
in /tmp on the next crash.
> I also tried to trace some of the instances which gave me the
> following error in the logs:
>
> [NOTICE] fpm_got_signal(), line 48: received SIGCHLD
> [NOTICE] fpm_children_bury(), line 194: child 24843 stopped for
> tracing
> [NOTICE] fpm_php_trace(), line 139: about to trace 24843
> [ERROR] fpm_trace_get_long(), line 78: ptrace(PEEKDATA) failed: Input/
> output error (5)
> Any idea how to get the ptrace working?
This is normal error, it is working.
The trace function in php-fpm is only for getting backtraces of worker
processes if they executing request too slow. The ptrace interface is
asynchronous by design and can not be used as reliable mean for getting php
backtrace.
It was designed to be useful in situations when php process hangs waiting for
network i/o, for example in mysql_query(). In this case a reliable php
backtrace is possible and it is likely to show you where php hangs (and
probably why).
> I've set coredumps sizes to
> unlimited via ulimit and via <value name="rlimit_core">unlimited</
> value> in the config file.
>
> If somebody has some pointers how to debug this, help is very much
> appreciated.
>
> Regards
> Marlon
--
Andrei Nigmatulin
GPG PUB KEY 6449830D
Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take