Você não nos mostrou como disse ao sistema operacional para lidar com os despejos principais.
O tamanho máximo é configurado via ulimit -c $MAXSIZEINBLOCKS
(observe que ulimit tem valores flexíveis e difíceis). $ MAXSIZEINBLOCKS deve ser um inteiro ou a string 'ilimitada'
Você também precisa dizer ao SO onde colocar os dumps principais - isso é feito através de sysctl . por exemplo. sysctl -w kernel.core_pattern=/var/crash/core.%p.%u.%e
Pode ser útil saber que você pode obter um dump principal de qualquer processo em execução (se permissões permitirem) usando gcore