GNU/Linux >> Tutoriales Linux >  >> Cent OS

¿Qué son los mensajes de “segfault” en el archivo /var/log/messages?

Esta publicación explica cómo analizar el mensaje de error de segmento en el archivo de mensajes e identificar el problema en el lado de la aplicación o del sistema operativo.

¿Qué es la "falta de segmentación"?

Una falla de segmentación (a menudo abreviada como segfault) o violación de acceso es una falla provocada por el hardware con protección de memoria, para notificar al sistema operativo (SO) sobre una violación de acceso a la memoria. El kernel de Linux responderá realizando alguna acción correctiva, generalmente pasando la falla al proceso infractor enviando al proceso una señal como #11. En algunos casos, los procesos pueden instalar un controlador de señales personalizado, lo que les permite recuperarse por sí mismos, pero de lo contrario se utiliza el controlador de señales predeterminado de Linux. La falla de segmento generalmente hará que el proceso finalice y genere un volcado del núcleo con la configuración adecuada de ulimit.

¿Cómo verificar?

1. Indicar defecto de segmento

Una falla de segmento generalmente solo significa un error en un proceso o programa en particular. No significa un error del Kernel de Linux. El kernel simplemente detecta el error del proceso o programa y (en algunas arquitecturas) imprime la información en el registro como se muestra a continuación:

09

2. ¿Qué significa detalles de este mensaje?

El valor RIP es el valor de registro del puntero de instrucción, el RSP es el valor de registro del puntero de pila. El valor de error es una máscara de bits de bits de código de error de error de página (de arch/x86/mm/fault.c):

19

Aquí está la definición del bit de error:

26

El código de error 15 es de 1111 bits. Finalmente, podemos conocer el significado de 1111 de la siguiente manera:

30

Este mensaje indica que la aplicación activa una falla de protección porque ese proceso intentó escribir el acceso a una sección reservada de la memoria en modo de usuario.


Cent OS
  1. ¿Diferencia entre /var/log/messages, /var/log/syslog y /var/log/kern.log?

  2. Cómo cambiar la ruta del archivo de registro auditd /var/log/audit/audit.log

  3. ¿Por qué “/var/log/messages” reporta paquetes marcianos?

  4. Los mensajes auditados se están llenando /var/log/messages

  5. fprintd registra mensajes en /var/log/messages incluso si USEFPRINTD=no en /etc/sysconfig/authconfig (CentOS/RHEL 7)

/var/log/messages está vacío, al igual que los archivos de registro rotados, como mensajes.0, mensajes.1

El archivo de registro del sistema /var/log/messages se elimina o recorta automáticamente (CentOS/RHEL)

El sistema mostraba continuamente el mensaje de error del "avahi-demon" en /var/log/messages

Mensajes de error "Cancelar comando emitido nexus" en el archivo /var/log/messages

Yum falla con "Error:la imagen del disco de la base de datos tiene un formato incorrecto" en /var/log/messages

logrotate no comprime /var/log/messages