Аварийный отказ[1][2] (также катастрофический отказ[1][2], авария[3][2], фатальный сбой[2], разг. крах, вылет, падение, крэшангл.crash) — это аварийное завершение программы или операционной системы, когда они перестают нормально функционировать.
Если программа является важной частью операционной системы, вся система может аварийно завершить работу или зависнуть в результате паники ядра или фатальной системной ошибки.
Исходная ошибка программного обеспечения, которая запустила эту цепочку событий, как правило, считается причиной сбоя, который обнаруживается в процессе отладки. Это часто далеко не очевидно, так как исходная ошибка может быть далека от события сбоя и казаться совершенно корректным исходным кодом.
Приложение обычно завершает работу, когда оно выполняет операцию, которая не разрешена операционной системой. Затем операционная система запускает в приложении исключение или сигнал.
Попытка получить доступ к другим системным ресурсам, к которым у приложения нет разрешения на доступ.
Попытка выполнить машинные команды с плохими аргументами (в зависимости от архитектуры процессора): деление на ноль, операции с значениями денормализованными числами или NaN, доступ к памяти в неприсоединенных адресах и т. д.
Отказ Web-сервера
Приложение, запущенное на веб-сервере, может отказать, и сайт может не работать или показывать сообщение с ошибкой.
К примеру, если сайт, использующий базу данных SQL (например MySQL) использует скрипт (например на PHP), и этот сервер упадёт, то PHP выдаст ошибку подключения.