Re: BUG #12918: Segfault in BackendIdGetTransactionIds

Поиск
Список
Период
Сортировка
От Stephen Frost
Тема Re: BUG #12918: Segfault in BackendIdGetTransactionIds
Дата
Msg-id 20150330164454.GC3663@tamriel.snowman.net
обсуждение исходный текст
Ответ на Re: BUG #12918: Segfault in BackendIdGetTransactionIds  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: BUG #12918: Segfault in BackendIdGetTransactionIds  (Vladimir Borodin <root@simply.name>)
Список pgsql-bugs
* Tom Lane (tgl@sss.pgh.pa.us) wrote:
> root@simply.name writes:
> > After upgrading from 9.3.6 to 9.4.1 (both installed from packages on
> > yum.postgresql.org) we have started getting segfaults of different back=
ends.
> > Backtraces of all coredumps look similar:
> > (gdb) bt
> > #0  0x000000000066bf9b in BackendIdGetTransactionIds (backendID=3D<value
> > optimized out>, xid=3D0x7f2a1b714798, xmin=3D0x7f2a1b71479c) at sinvala=
dt.c:426
> > #1  0x00000000006287f4 in pgstat_read_current_status () at pgstat.c:2871
> > #2  0x0000000000628879 in pgstat_fetch_stat_numbackends () at pgstat.c:=
2342
>=20
> Hmm ... looks to me like BackendIdGetTransactionIds is simply busted.
> It supposes that there are no inactive entries in the sinval array
> within the range 0 .. lastBackend.  But there can be, in which case
> dereferencing stateP->proc crashes.  The reason it's hard to reproduce
> is the relatively narrow window between where pgstat_read_current_status
> saw the backend as active and where we're inspecting its sinval entry.

As an immediate short-term workaround, from what I can tell,=20
disabling calls to pg_stat_activity, and pg_stat_database (views), and
pg_stat_get_activity, pg_stat_get_backend_idset, and
pg_stat_get_db_numbackends (functions) should prevent triggering this
bug.

These are likely being run by a monitoring system (eg: check_postgres
=66rom Nagios).

    Thanks!

        Stephen

В списке pgsql-bugs по дате отправления:

Предыдущее
От: Vladimir Borodin
Дата:
Сообщение: Re: BUG #12918: Segfault in BackendIdGetTransactionIds
Следующее
От: Vladimir Borodin
Дата:
Сообщение: Re: BUG #12918: Segfault in BackendIdGetTransactionIds