bug at build_dummy_tuple

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема bug at build_dummy_tuple
Дата
Msg-id 20041208064050.GA16896@surnet.cl
обсуждение исходный текст
Ответы Re: bug at build_dummy_tuple  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
People,

This is a weird bug.  In a freshly initialized database, or just after
deleting the pg_internal.init relcache file,

SELECT 16854::regclass;

crashes the backend.  (Apparently any Oid not belonging to a regclass
does the trick.)  The following assertion is failed:

TRAP: FailedAssertion(«!(((ntp)->t_data)->t_infomask & 0x0010)», Archivo:
«/home/alvherre/CVS/pgsql/source/00orig/src/backend/utils/cache/catcache.c»,Línea: 1729) 


The problem is that build_dummy_tuple() is calling HeapTupleSetOid(),
which complains apparently because it believes the pg_class relation
does not have Oids.  This is wrong, but it doesn't know.  In fact, next
time through, when it has the relcache built, all is well.  I can attest
that the cache has wrong info, because gdb shows

(gdb) print *cache->cc_tupdesc
$15 = {natts = 25, attrs = 0x839d5d4, constr = 0x839cb3c, tdtypeid = 2249,
  tdtypmod = -1, tdhasoid = 0 '\0'}
(gdb) print cache->cc_relname
$16 = 0x8266f7a "pg_class"


I don't know what the fix for this should look like ...

This doesn't seem to happen on 7.4.

--
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"El sabio habla porque tiene algo que decir;
el tonto, porque tiene que decir algo" (Platon).

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

Предыдущее
От: "Steve McWilliams"
Дата:
Сообщение: Problems with "-w" option on pg_ctl.exe running as a service
Следующее
От: "Steve McWilliams"
Дата:
Сообщение: Unable to specify a log file when running pg_ctl as a windows service?