172 похожих чатов

А extension какие-то установлены? shared_preload_library в конфиге postgres?

26 ответов

23 просмотра

#shared_preload_libraries = '' # (change requires restart)

S-B Автор вопроса
Сергей Посохов
#shared_preload_libraries = '' # (change requires...

я бы поставил пакет с отладочными символами postgres и libc, подключился бы gdb к зависшей сессии с insert и выполнил бы в gdb команду bt, это покажет в каком месте исходного кода postgres он в этот момент находится и уже от этого продолжал бы разбирательство

S B
я бы поставил пакет с отладочными символами postgr...

попробую провернуть такой фокус, спасибо

S B
я бы поставил пакет с отладочными символами postgr...

Картина вот такая: (gdb) bt #0 0x00007f8156b95f0d in sem_post@@GLIBC_2.2.5 () from /lib64/libpthread.so.0 #1 0x00000000006e03a2 in PGSemaphoreUnlock () #2 0x00000000007556bc in LWLockRelease () #3 0x00000000004da391 in _bt_relandgetbuf () #4 0x00000000004df237 in _bt_moveright () #5 0x00000000004df471 in _bt_search () #6 0x00000000004d96cd in _bt_doinsert () #7 0x00000000004dc961 in btinsert () #8 0x000000000061558a in ExecInsertIndexTuples () #9 0x000000000063a729 in ExecInsert () #10 0x000000000063ba41 in ExecModifyTable () #11 0x0000000000616192 in standard_ExecutorRun () #12 0x0000000000765fea in ProcessQuery () #13 0x00000000007662be in PortalRunMulti () #14 0x0000000000766d85 in PortalRun () #15 0x0000000000762f34 in exec_simple_query () #16 0x00000000007641a2 in PostgresMain () #17 0x00000000004844de in ServerLoop () #18 0x00000000006f32a3 in PostmasterMain () #19 0x00000000004853e3 in main ()

S-B Автор вопроса
Сергей Посохов
Картина вот такая: (gdb) bt #0 0x00007f8156b95f0...

интересно, bt — это функции btree индекса

S B
интересно, bt — это функции btree индекса

ну вот есть предположение, что два экземпляра скрипта попытались вставить одну и ту же строку, и один из них успел, а второй нарвался на constraint индекса.

S-B Автор вопроса
Сергей Посохов
ну вот есть предположение, что два экземпляра скри...

это похоже на баг в postgres или баг/повреждение семафоров в glibc (хотя тогда бы по идеи тоже просто ошибку писало)

S-B Автор вопроса
Сергей Посохов
Картина вот такая: (gdb) bt #0 0x00007f8156b95f0...

Странно, gdb вроде номера строк ещё писал. Попробуйте gdb -full запостить на pastebin какой-нибудь. А, и да, какая версия postgres?

S B
а это докер или голое железо?

это был докер из под патрони, были проблемы другого рода, переехали на железо, просто запустив постгре с железа и подсунув ему дату. Версия постгрес 12,7

Сергей Посохов
это был докер из под патрони, были проблемы другог...

Как за две секунды сломать мозг, читателям, хе-хе. Ну, данные всё-таки, а не дату. В английском-то data и date нормально разичаются!

Сергей Посохов
Картина вот такая: (gdb) bt #0 0x00007f8156b95f0...

Ой, простите, bt -full . Что-то я не проснулся, да.

Сергей Посохов
Картина вот такая: (gdb) bt #0 0x00007f8156b95f0...

Кстати, ещё интересны версии ядра и glibc. И поставить libc6-dbg, если есть в дистрибутиве. Вообще, на первый взгляд выглядит как баг в libc.

Ilya Anfimov
И версию libc заодно скажыте, да.

sem_post@@GLIBC_2.2.5 () - это оно? ядро 3,10,0,-1160

Сергей Посохов
glibc-2.17

Ага, интересно.

сервак с базой без инета, пока не могу туда поставить debuginfo, rpm ставлю, все равно не видит

Сергей Посохов
glibc-2.17

Но вряд ли таким будут заниматься -- это очень старый glibc, и sem_post с тех пор, кажэтся, полтора раза переписали...

Сергей Посохов
вы к тому, что если это баг?

Ну, очень похожэ на баг glibc, да.

Сергей Посохов
glibc-2.17

8.5 лет релизу. По компьютэрным меркам это ужэ археология.

Сергей Посохов
вы к тому, что если это баг?

А в качестве временной заплатки -- http://web.mit.edu/gnu/doc/html/gdb_toc.html#SEC96

Сергей Посохов
return вызвать из gdb? попробую. Спасибо

Только лучшэ, наверное, всё-таки glibc return. Безопаснее -- там почти ничего ужэ меняться не должно. И с правильным кодом (0 кажэтся для sem_post ?)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта