Bug 57143 - Ошибка сегментации при запуске pgbench
Summary: Ошибка сегментации при запуске pgbench
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: postgresql18-contrib (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Alexei Takaseev
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-12-05 14:54 MSK by Лавренко Егор Сергеевич
Modified: 2025-12-05 14:54 MSK (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Лавренко Егор Сергеевич 2025-12-05 14:54:39 MSK
Система (Обновленная до Sisyphus):
Alt Server 11.0 x86-64

Версия пакета:
postgresql18-18.1-alt1

Шаги воспроизведения:
1. Установить Postgresql 18
   # apt-get install postgresql18-server postgresql18-contrib -y
2. Запустить сервис:
   # /etc/init.d/postgresql initdb && systemctl enable --now postgresql && sleep 5; systemctl status postgresql
3. Если при инициализации базы не было запрошено создание пароля, то задать вручную:
   # sed -i 's/trust/md5/g' /var/lib/pgsql/data/pg_hba.conf && \
psql -U postgres -c "ALTER USER postgres WITH PASSWORD '1';" && \
systemctl restart postgresql.service
4. Вывести количество потоков:
   # nproc
   Вывод: 4
5. Вывести максимальное количество возможных соединений:
   # psql -U postgres -c "SHOW max_connections;"
   Вывод: 100
6. Запустить pgbench с количеством потоков больше 1 (например, равное выводу nproc) и максимальным количеством соединений больше значения max_connections:
   # pgbench -p 5432 -c 500 -j 4 -T 60 -U postgres -h localhost postgres

Ожидаемый результат:
starting vacuum...end.
pgbench: error: connection to server at "localhost" (127.0.0.1), port 5432 failed: ВАЖНО:  извините, уже слишком много клиентов
pgbench: error: could not create connection for client 26

Реальный результат:
starting vacuum...end.
pgbench: error: connection to server at "localhost" (127.0.0.1), port 5432 failed: ВАЖНО:  извините, уже слишком много клиентов
pgbench: error: could not create connection for client 151
Ошибка сегментирования

Дополнительно:
1. Воспроизводится в P11 (postgresql17-17.7-alt0.p11.1)
2. Воспроизводится не всегда, возможно нужно перезапустить несколько раз
3. В логах dmesg:
# dmesg | grep -i "segfault\|pgbench\|postgresql"
[  245.112223] pgbench[2059]: segfault at 560b7f613cc7 ip 00007f74117c4972 sp 00007f740e7d3370 error 4 in libcrypto.so.3[1c4972,7f74116b9000+32c000] likely on CPU 0 (core 0, socket 0)
[  285.827471] pgbench[2174]: segfault at 560d7599d5d9 ip 00007f13c2204b76 sp 00007f13c12c43c0 error 4 in libcrypto.so.3[204b76,7f13c20b9000+32c000] likely on CPU 1 (core 1, socket 0)
4. Иногда выводится также следующее сообщение:
pgbench: error: connection to server at "localhost" (127.0.0.1), port 5432 failed: could not calculate client proof: OpenSSL failure
5. При количестве потоков (-j) равному 1 ошибка не воспроизводится