Skip to content

kernel: postmaster general protection in pg_pathman.so[7f554051f000+31000] #173

Closed
@NikitinNikolay

Description

@NikitinNikolay

Здравствуйте!

Извините, за баг с малым количеством инфы.
Конфигурация Red hat 6 + postgres 9.6.6 обычный + pg_pathman 1.4.9
Несколько десятков тестовых и уже десяток боевых серверов, на каждом каждую ночь создаётся по 3 партиции на 15 таблиц.
За полгода ошибка вылезла всего два раза, в messages появляется такая запись
May 4 00:00:11 tm-VMware-4224334ca kernel: postmaster[4561] general protection ip:7f5540531c66 sp:7fff05119e20 error:0 in pg_pathman.so[7f554051f000+31000]
или такая
Aug 22 00:01:25 iwtm kernel: postmaster[11377] general protection ip:7f5fbdb14c66 sp:7ffffd3facf0 error:0 in pg_pathman.so[7f5fbdb02000+31000]

в логе постгреса при этом такая ошибка
< 2018-05-04 00:00:11.779 MSK > LOG: server process (PID 4561) was terminated by signal 11: Segmentation fault
< 2018-05-04 00:00:11.779 MSK > DETAIL: Failed process was running: DEALLOCATE pdo_stmt_00059b49
или такая
< 2018-08-22 00:02:50.511 MSK > LOG: server process (PID 11377) was terminated by signal 11: Segmentation fault

< 2018-08-22 00:02:50.511 MSK > DETAIL: Failed process was running: SELECT 1

Ошибка похоже возникает не в сессии, которая добавляет партиции, а в другой, но после добавления партиций.
Но падает весь постгрес, к сожалению.
Партиции добавляются с помощью кода
execute format('ALTER TABLE %s ADD CONSTRAINT %s CHECK (%s)',
a_dummy_table,
public.build_check_constraint_name(v_dummy_oid),
public.build_range_condition(v_dummy_oid, 'tbs_id', a_tbs_id, a_tbs_id + 1));
Потом дёргается обновление списка партиций в кэше с помощью
public.set_enable_parent(v_table.oid, false);
Скорее всего после этого, либо после коммита этой сессии возникает ошибка.

Вопросы:

  1. Может быть эта ошибка уже исправлена Вами в ходе:
    Fixed incorrect usage of memcpy() in start_bgworker(); ?
    Мы, к сожалению, не тестировали версию 1.4.11 и выше и не можем сказать исправлена она там или нет.
  2. Если это не поправлено, то достаточно ли Вам предоствленной информации? Или нужны более подробные дампы?
    Как их собрать, возможно ли это без ущерба производительности? Баг очень редкий и его вопроизвести в тестовой среде не получится.

С уважением, Николай.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions