BUG #10542: infinite loop in index.c when trying to reindex system tables (probably corrupted db state)

Поиск
Список
Период
Сортировка
От hannes.janetzek@gmail.com
Тема BUG #10542: infinite loop in index.c when trying to reindex system tables (probably corrupted db state)
Дата
Msg-id 20140605230056.3066.26092@wrigleys.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #10542: infinite loop in index.c when trying to reindex system tables (probably corrupted db state)  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      10542
Logged by:          Hannes Janetzek
Email address:      hannes.janetzek@gmail.com
PostgreSQL version: 9.3.4
Operating system:   Linux, Ubuntu 12.04
Description:

While trying to get our database working again after a forced shutdown the
reindexing of the system tables in single user mode went into an infinite
loop. I can just roughly guess that between the lines:
https://github.com/postgres/postgres/blob/REL9_3_STABLE/src/backend/catalog/index.c#L2260-
L2385
the function is assuming that another process tries to delete a tuple that
is about to be indexed (even though in single user mode this should probably
not be possible)

I found these lines by attaching gdb and stepping through. The command to
reindex was:

sudo -u postgres /usr/lib/postgresql/9.3/bin/postgres --single -D
/etc/postgresql/9.3/main -d 5 osm
backend> REINDEX SYSTEM osm;

2014-06-05 23:36:27 CEST STATEMENT:  REINDEX SYSTEM osm;

2014-06-05 23:36:27 CEST DEBUG:  ProcessUtility
2014-06-05 23:36:27 CEST DEBUG:  CommitTransaction
2014-06-05 23:36:27 CEST DEBUG:  name: unnamed; blockState:       STARTED;
state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
2014-06-05 23:36:27 CEST DEBUG:  StartTransaction
2014-06-05 23:36:27 CEST DEBUG:  name: unnamed; blockState:       DEFAULT;
state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
2014-06-05 23:36:27 CEST DEBUG:  building index "pg_class_oid_index" on
table "pg_class"
2014-06-05 23:36:27 CEST DEBUG:  building index "pg_class_relname_nsp_index"
on table "pg_class"
2014-06-05 23:36:27 CEST NOTICE:  table "pg_catalog.pg_class" was reindexed
2014-06-05 23:36:27 CEST DEBUG:  CommitTransaction
2014-06-05 23:36:27 CEST DEBUG:  name: unnamed; blockState:       STARTED;
state: INPROGR, xid/subid/cid: 196462163/1/4, nestlvl: 1, children:
2014-06-05 23:36:27 CEST DEBUG:  StartTransaction
2014-06-05 23:36:27 CEST DEBUG:  name: unnamed; blockState:       DEFAULT;
state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children:
2014-06-05 23:36:27 CEST DEBUG:  building index
"pg_statistic_relid_att_inh_index" on table "pg_statistic"

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

Предыдущее
От: ua2fgb@gmail.com
Дата:
Сообщение: BUG #10528: MAC OS X was renamed
Следующее
От: macro.yu.yang@gmail.com
Дата:
Сообщение: BUG #10544: I cannot canceling query during computing of R