powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / segmentation fault
9 сообщений из 9, страница 1 из 1
segmentation fault
    #38688933
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
удалось поставить Постгрес (9.3.?) в позу:
Код: sql
1.
2.
2014-07-05 17:33:17 MSK 13117    LOG:  server process (PID 32101) was terminated by signal 11: Segmentation fault
2014-07-05 17:33:17 MSK 13117    DETAIL:  Failed process was running: SELECT -- {хп с параметрами}



вопрос: куда копать ?
что наиболее чревато "Segmentation fault"-ами ?
есть какие-то общие рекомендации ?
...
Рейтинг: 0 / 0
segmentation fault
    #38688951
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какабычна,

Тут причины могут быть самые разные... криво собранное ядро, glibc, или сам постгрес, ошибки процессора или памяти.
Посмотрите счетчики аппаратных ошибок в EDAC (/sys/devices/system/edac/...), счетчики ошибок IPMI через ipmitool sel elist. Если проблема воспроизводима, то дебажить постгрес с gdb.
...
Рейтинг: 0 / 0
segmentation fault
    #38688989
Гость_0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какабычна,

возможно какой-то внешний модуль использовался в этом запросе.
...
Рейтинг: 0 / 0
segmentation fault
    #38689000
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гость_0какабычна,

возможно какой-то внешний модуль использовался в этом запросе.

ближе к телу -- посмотрю

пока, по памяти : -- это пишущая в 1-2 (до 3-х ) таблы
[в зависимости от параметров]
функция (хранимка)

если правильно помню -- голый sql + plpgsql
буквально

должна дергаться часто, 10-ки 1000 раз на день.
падает значительно реже.
неужто есть такое редкое совпадение параметров. с которыми вызывается раз в 2-3 дня ?

надо, конечно, проверить, не дергается ли там что со стороны

из отягчающих -- триггера на вставляемых/изменяемых таблицах (партицирование, материализация)
...
Рейтинг: 0 / 0
segmentation fault
    #38689101
buddy_ekb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какабычна,

- собирать анамнез: когда и после чего началось? как долго перед этим работало нормально?
- наиболее чревато (в случае, если причиной является битая память или глючные HDD) повреждением данных - при этом эти segfaults могут быть вызваны ранее повреждёнными данными;
- пособирать логи (на стороне аппликухи или в БД через raise warning в хранимке) - при каких входных параметрах происходит "кирдык". если "железо" своё, то перенести БД на другой хост и нагрузить CPU, память, диски.
...
Рейтинг: 0 / 0
segmentation fault
    #38689229
жопка3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Корка есть? Если нет, то включите запись корок. Соберите постгрес с дебаг символами. Посмотрите стектрейс, вполне вероятно это прольет свет на то, по какой причине произошло падение.
...
Рейтинг: 0 / 0
segmentation fault
    #38689812
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
возникло:

SELECT version()
--"PostgreSQL 9.3.4 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit"
--боевой

воспроизводится (не 100 %, но воспроизводится)
--"PostgreSQL 9.2.8 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit"
--тесты и разработка


нащупал, что
проблема в материализации триггерами (есть константа, которая её отключает -- обходит в коде)

в реальности там всё сложно устроено

вкратце:
таблицы мастер + слейв (по 5-10 записей на ключ мастера)
+ "мат представление" , собираемое триггерами И с того И с этого [что очень напрягает даже интуитивно]. (AFTER i,a,d; on each row)
//партицировано по дате, живет месяц-другой//

в мат представл. кроме полей мастера -- массивы ARRAY(SELECT field FROM slave WHERE id_master=:id_master)
по всей этой бодяге -- индексы . пока обычные btree. (функциональные по массивам, но по ф-ям, возвращающим скаляры, составные с ними[ф-ями], условные с ними[же]).

удается положить, когда конкурентно 2*{апдейтим мастера и пишем в слейва} в 2-х разных транзакциях.
на роллбаке не упал ни разу.
на коммите первой транзакции положил тест несколько раз (вторая валится, после успеха первой) , но всегда при пустых, перед тестом, массивах в полях-агрегатах.
При непустых массивах (<>{}) в матвью положить пока не получилось.

в общем, попытаюсь накидать тест-кейс попроще. чуть позже.


но в любом случае, надо бы как-то изменить способ сбора мат-вьюхи (оставаясь в актуальном состоянии). там из-за этих триггеров и другие проблемы есть (в моем случае не мешают, но в общем -- всё плохо). -- интересуют сакскесс-стори (такой материализации). Они есть?
...
Рейтинг: 0 / 0
segmentation fault
    #38689814
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PS упустил -- в конкурентных транзах боремся за одну запись мат-вью (master_id).
порядок обработки в каждой транзе -- сначала пишем апдейт мастера, потом -- инсерт в слейв (оба-2 стейтмента запускают свои row-триггера, ессно)
...
Рейтинг: 0 / 0
segmentation fault
    #38689818
какабычна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
продолжу мысль:
какабычнаPS упустил -- в конкурентных транзах боремся за одну запись мат-вью (master_id).
порядок обработки в каждой транзе -- сначала пишем апдейт мастера, потом -- инсерт в слейв (оба-2 стейтмента запускают свои row-триггера, ессно)
поэтому 2-я транзакция всегда ждет коммита всей первой уже на первом пишущем стейтменте. Иди вернее - должна.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / segmentation fault
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]