Добавить в корзинуПозвонить
Найти в Дзене

Nginx — worker process аварийно завершаются с сигналом 11 (SIGSEGV) Segmentation Fault

Сегодня словили баг на Nginx в Ubuntu Server.  Никто ничего не трогал, вдруг посыпались ошибки в /var/log/nginx/error.log: worker process 2993649 exited on signal 11 (core dumped) Разработчики не смогли стандартными способами исправить проблему, передали дело админам. И тут я уловил нечто знакомое. Когда что-то само ломается, особенно после 6 утра, часто причиной может послужить пакет unattended-upgrades. Этот гадский пакет по ночам устанавливает обновления куда не надо их устанавливать и перезапускает службы, которые нельзя перезапускать. С одной стороны, обновляться нужно. С другой стороны, не все обновления одинаково полезны. Проверяем гипотезу. Проверим что ошибки посыпались с утра. Лог /var/log/nginx/error.log.1 пуст, ошибки начались в "2026/06/09 06:47:13". Смотрим /var/log/apt/history.log и видим: Start-Date: 2026-06-09 06:47:11
Commandline: /usr/bin/unattended-upgrade
Upgrade: libnginx-mod-http-image-filter:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10), nginx:amd64 (1.24.0-2ub

Сегодня словили баг на Nginx в Ubuntu Server.  Никто ничего не трогал, вдруг посыпались ошибки в /var/log/nginx/error.log:

worker process 2993649 exited on signal 11 (core dumped)
-2

Разработчики не смогли стандартными способами исправить проблему, передали дело админам.

И тут я уловил нечто знакомое. Когда что-то само ломается, особенно после 6 утра, часто причиной может послужить пакет unattended-upgrades. Этот гадский пакет по ночам устанавливает обновления куда не надо их устанавливать и перезапускает службы, которые нельзя перезапускать.

С одной стороны, обновляться нужно. С другой стороны, не все обновления одинаково полезны.

Проверяем гипотезу. Проверим что ошибки посыпались с утра. Лог /var/log/nginx/error.log.1 пуст, ошибки начались в "2026/06/09 06:47:13".

Смотрим /var/log/apt/history.log и видим:

Start-Date: 2026-06-09 06:47:11
Commandline: /usr/bin/unattended-upgrade
Upgrade: libnginx-mod-http-image-filter:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10), nginx:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10),
nginx-common:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10), libnginx-mod-stream-geoip:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10), libng
inx-mod-http-geoip:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10), libnginx-mod-http-xslt-filter:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.1
0), libnginx-mod-mail:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10), libnginx-mod-http-perl:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10),
libnginx-mod-stream:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10), nginx-extras:amd64 (1.24.0-2ubuntu7.9, 1.24.0-2ubuntu7.10)
End-Date: 2026-06-09 06:47:15

Обновились модули nginx, что послужило причиной ошибок. Сигнал 11 (core dumped) — это классическая ошибка сегментации (segmentation fault), означающая, что процесс пытался обратиться к памяти, которая ему не принадлежит. Это часто случается из-за несовместимости версий или багов в новой сборке.

Нужно откатить.

Для начала сносим пакет unattended-upgrades.

Ubuntu server — отключаем unattended upgrades

sudo apt-get -y remove unattended-upgrades
sudo systemctl stop apt-daily.timer
sudo systemctl disable apt-daily.timer
sudo systemctl stop apt-daily-upgrade.timer
sudo systemctl disable apt-daily-upgrade.timer
sudo systemctl disable apt-daily.service
sudo systemctl daemon-reload

Из лога видно, что обновились следующие пакеты: nginx, nginx-common, nginx-extras, libnginx-mod-http-image-filter, libnginx-mod-stream-geoip, libnginx-mod-http-geoip, libnginx-mod-http-xslt-filter, libnginx-mod-mail, libnginx-mod-http-perl, libnginx-mod-stream. Откатим.

sudo apt install --allow-downgrades nginx=1.24.0-2ubuntu7.9 nginx-common=1.24.0-2ubuntu7.9 nginx-extras=1.24.0-2ubuntu7.9 libnginx-mod-http-image-filter=1.24.0-2ubuntu7.9 libnginx-mod-stream-geoip=1.24.0-2ubuntu7.9 libnginx-mod-http-geoip=1.24.0-2ubuntu7.9 libnginx-mod-http-xslt-filter=1.24.0-2ubuntu7.9 libnginx-mod-mail=1.24.0-2ubuntu7.9 libnginx-mod-http-perl=1.24.0-2ubuntu7.9 libnginx-mod-stream=1.24.0-2ubuntu7.9

Пакеты уже могут быть недоступны:

E: Version '1.24.0-2ubuntu7.9' for 'nginx' was not found
E: Version '1.24.0-2ubuntu7.9' for 'nginx-common' was not found
E: Version '1.24.0-2ubuntu7.9' for 'nginx-extras' was not found
E: Version '1.24.0-2ubuntu7.9' for 'libnginx-mod-http-image-filter' was not found
E: Version '1.24.0-2ubuntu7.9' for 'libnginx-mod-stream-geoip' was not found
E: Version '1.24.0-2ubuntu7.9' for 'libnginx-mod-http-geoip' was not found
E: Version '1.24.0-2ubuntu7.9' for 'libnginx-mod-http-xslt-filter' was not found
E: Version '1.24.0-2ubuntu7.9' for 'libnginx-mod-mail' was not found
E: Version '1.24.0-2ubuntu7.9' for 'libnginx-mod-http-perl' was not found
E: Version '1.24.0-2ubuntu7.9' for 'libnginx-mod-stream' was not found

Пробуем другую версию:

sudo apt install --allow-downgrades \
nginx=1.24.0-2ubuntu7 \
nginx-common=1.24.0-2ubuntu7 \
nginx-extras=1.24.0-2ubuntu7 \
libnginx-mod-http-geoip=1.24.0-2ubuntu7 \
libnginx-mod-http-image-filter=1.24.0-2ubuntu7 \
libnginx-mod-http-perl=1.24.0-2ubuntu7 \
libnginx-mod-http-xslt-filter=1.24.0-2ubuntu7 \
libnginx-mod-mail=1.24.0-2ubuntu7 \
libnginx-mod-stream=1.24.0-2ubuntu7 \
libnginx-mod-stream-geoip=1.24.0-2ubuntu7

Версия откатилась. Перезапускаем nginx и радуемся.

Ссылки

https://nginx.org/en/linux_packages.html#Ubuntu

Источник:

Nginx — worker process аварийно завершаются с сигналом 11 (SIGSEGV) Segmentation Fault | internet-lab.ru

💰 Поддержать проект

Если вам понравилась статья, то ставьте 👍🏻 каналу. Пишите комментарии, задавайте вопросы, подписывайтесь.