ядро — ошибка segfault postgres 15 в libc-2.19.so

Вчера у нас произошел сбой PostgreSQL 9.5.14, работающего на Debian 8 (Linux xxxxxx 3.16.0-7-amd64 #1 SMP Debian 3.16.59-1 (2018-10-03) x86_64 GNU/Linux) — ошибка сегментации. База данных закрыла все соединения и повторно инициализировала себя, оставаясь в режиме восстановления примерно на 1 минуту.

Журнал PostgreSQL:

2018-10-xx xx:xx:xx UTC [580-2] ЖУРНАЛ: серверный процесс (PID 16461) был завершен сигналом 11: Ошибка сегментации

керн.лог:

Oct xx xx:xx:xx xxxxxxxx ядро: [117977.301353] postgres[16461]: segfault at 7efd3237db90 ip 00007efd3237db90 sp 00007ffd26826678 ошибка 15 в libc-2.19.so[7efd322a2000+1a1a

Согласно документации libc (https://support.novell.com/docs/Tids/Solutions/10100304.html) код ошибки 15 означает: NX_EDEADLK 15 resource deadlock would occur - что мне мало что говорит.

Скажите, пожалуйста, можно ли что-то сделать, чтобы избежать этой проблемы в будущем? Потому что этот сервер, конечно, производственный. Все пакеты актуальны на данный момент. Обновление PG, к сожалению, не вариант. Сервер работает на Google Compute Engine.


person JosMac    schedule 19.10.2018    source источник


Ответы (1)


код ошибки 15 означает: NX_EDEADLK 15

Нет, это не означает это. Этот ответ объясняет, как здесь интерпретировать 15.

Это биты 0, 1, 2, 3 установлены => ошибка защиты, доступ для записи, пользовательский режим, использование зарезервированного бита. Скорее всего, ваш процесс postgress пытался выполнить запись в какой-то дикий указатель.

можем ли мы что-то сделать, чтобы избежать этой проблемы в будущем?

Вы можете единственное найти ошибку и исправить ее или обновиться до версии postgress, в которой эта ошибка уже исправлена ​​(и надеяться, что новых ошибок не появилось).

Чтобы понять, где может быть ошибка, вы должны проверить, был ли создан дамп core (если нет, включите их). Если у вас есть core, используйте gdb /path/to/postgress /path/to/core, а затем where команду GDB. Это даст вам трассировку стека сбоев, которая может позволить вам найти похожие отчеты об ошибках.

person Employed Russian    schedule 20.10.2018
comment
Вы абсолютно правы - я копался на выходных и спрашивал многих людей, и они получили аналогичный ответ. На выходных у нас было еще 2 сбоя, поэтому мы перейдем на совершенно новый экземпляр с последней версией Debian 9 и последней версией PostgreSQL. - person JosMac; 22.10.2018