Обсуждение: Re: server process was terminated by exception 0xC00000FD

Поиск
Список
Период
Сортировка

Re: server process was terminated by exception 0xC00000FD

От
"Oleg Y. Danilkiff"
Дата:
Добрый!

Вы правы, 0xC00000FD - это STATUS_STACK_OVERFLOW (https://msdn.microsoft.com/en-us/library/cc704588.aspx).
Поиски корневой причины я бы искал, начиная расследование от конкретного SQL-запроса, вызвавшего сбой. 
Зная SQL-запрос, будем иметь два варианта развития событий:
1. тюнить max_stack_depth, если это проблема запроса;
2. оформлять и править баг postgresql, если это проблема реализации СУБД.

Если проблема не единичная (т.е. воспроизводится не однократно, а периодически), в расследовании может помочь логирование запросов в файл. На живой промышленной среде, однако, применять по понятным причинам не рекомендую.

postgresql.conf
logging_collector = on
log_statement = 'all'

2017-12-27 10:10 GMT+03:00 Максим Мохна <lavage.vrn@gmail.com>:
Добрый день, уважаемые гуру.

В один прекрасный рабочий день ничего не предвещало беды, но внезапно аварийно остановилась СУБД PostgreSQL. Вместе с этим, соответственно прилегло отдохнуть 17 БД.

Что мы обнаружили:
Была остановлена windows служба PostgreSQL.
- Аптайм сервера 215 дней
- В системном логе  ОС – пусто.
- В логе PostgreSQL – «2017-12-26 14:29:48 MSK  LOG:  00000: server process (PID 6996) was terminated by exception 0xC00000FD»
- проблемы начались после появления данной строчки.
Google подсказал, что этот код указывает на проблему переполнения стека, но конкретных корневых причин мы так и не нашли.

Со стороны железа, проблем не обнаружено, до сбоя память нагружена в рабочем режиме (скрины ниже)

Встроенное изображение 1 


Встроенное изображение 3

Подскажите, пожалуйста, в какой стороне искать причины данного сбоя? Что всё таки в корне означает эта ошибка?
Если у вас будут рекомендации, как этого избежать в будущем, то мы будем вам очень признательны.

Хорошего дня.


______________________________________________
С уважением, Мохна Максим.

Вложения