Crash [1] [2] (también crash [1] [2] , accidente [3] [2] , fatal failure [ 2] , crash , crash , crash ) es un programa o sistema operativo que falla cuando deja de funcionar normalmente .
A menudo, el programa se cuelga hasta que se genera un informe de error con los detalles de la falla.
Si el programa es una parte importante del sistema operativo, todo el sistema puede fallar o bloquearse como resultado de un pánico del kernel o un error fatal del sistema.
La mayoría de las fallas son el resultado de ejecutar instrucciones de máquina no válidas . Por ejemplo, cuando el contador del programa se establece en la dirección incorrecta , o como resultado de un desbordamiento del búfer , parte de los datos del programa se sobrescribe debido a un error . Esto da como resultado el acceso a valores de datos aleatorios en la memoria que ya no coinciden con la solicitud inicial y se produce el manejo de excepciones en el procesador .
El error de software original que inició esta cadena de eventos generalmente se considera la causa del bloqueo que se descubre durante el proceso de depuración . A menudo, esto dista mucho de ser obvio, ya que el error original puede estar lejos de ser un evento de bloqueo y parece ser un código fuente perfectamente válido .
Una aplicación normalmente termina cuando realiza una operación no permitida por el sistema operativo. El sistema operativo lanza entonces una excepción o señal en la aplicación .
Las aplicaciones de Unix tradicionalmente responden a una señal con un volcado de memoria . La mayoría de las aplicaciones GUI de Windows y Unix responden mostrando un cuadro de diálogo con la opción de adjuntar un depurador si hay uno instalado.
Algunas aplicaciones intentan recuperarse de un error y continúan en lugar de cerrarse.
Los errores comunes que hacen que las aplicaciones se bloqueen incluyen:
Una aplicación que se ejecuta en un servidor web puede fallar y el sitio puede no funcionar o mostrar un mensaje de error.
Por ejemplo, si un sitio que usa una base de datos SQL (como MySQL ) usa un script (como PHP ) y ese servidor falla, PHP generará un error de conexión.