En Ubuntu reciente (12.04 en mi caso), es posible que se imprima "Fallo de segmentación (núcleo volcado)", pero no se produjo ningún archivo central donde podría esperar uno (por ejemplo, para un programa compilado localmente).
Esto puede suceder si tiene un tamaño de archivo núcleo ulimit de 0 (no lo ha hecho ulimit -c unlimited
): este es el valor predeterminado en Ubuntu. Normalmente, eso suprimiría el "(núcleo volcado)", indicándote tu error, pero en Ubuntu, los archivos centrales se canalizan a Apport (el sistema de informe de fallos de Ubuntu) a través de /proc/sys/kernel/core_pattern
, y esto parece causar el mensaje engañoso.
Si Apport descubre que el programa en cuestión no es uno para el que debería informar fallas (que puede ver sucediendo /var/log/apport.log
), recurre a la simulación del comportamiento predeterminado del kernel de colocar un archivo central en el cwd (esto se hace en el script /usr/share/apport/apport
) Esto incluye honrar a ulimit, en cuyo caso no hace nada. Pero (supongo) en lo que respecta al kernel, se generó un corefile (y se canalizó para distribuirlo), de ahí el mensaje "Fallo de segmentación (core volcado)".
En última instancia, PEBKAC por olvidarse de establecer ulimit, pero el mensaje engañoso me hizo pensar que me estaba volviendo loco por un tiempo, preguntándome qué estaba comiendo mis archivos principales.
(Además, en general, la página del manual principal (5) man 5 core
- es una buena referencia de dónde termina su archivo principal y las razones por las que podría no estar escrito).