duplicated tables

Started by Oleg Bartunovalmost 17 years ago4 messages
#1Oleg Bartunov
oleg@sai.msu.su

Hi there,

yesterday, testing GIN fast update with CVS HEAD I was able to crash backend
(Teodor already fixed the problem in 0.25 version of the patch)
and after restarting backend I found duplicated tables.
How this can be possible and is this what somebody can see after crash ?

List of relations
Schema | Name | Type | Owner
--------+-------+-------+----------
public | tt | table | postgres
public | tt | table | postgres
public | tt | table | postgres
public | tt | table | postgres
public | tt | table | postgres
public | tt2 | table | postgres
public | tt2 | table | postgres
public | tt2 | table | postgres
public | tt2 | table | postgres
public | tt2 | table | postgres
public | ttins | table | postgres
public | ttins | table | postgres
public | ttins | table | postgres
public | ttins | table | postgres
public | ttins | table | postgres
(15 rows)

Regards,
Oleg
_____________________________________________________________
Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru),
Sternberg Astronomical Institute, Moscow University, Russia
Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/
phone: +007(495)939-16-83, +007(495)939-23-83

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Oleg Bartunov (#1)
Re: duplicated tables

Oleg Bartunov <oleg@sai.msu.su> writes:

yesterday, testing GIN fast update with CVS HEAD I was able to crash backend
(Teodor already fixed the problem in 0.25 version of the patch)
and after restarting backend I found duplicated tables.
How this can be possible and is this what somebody can see after crash ?

That doesn't look like duplicated tables so much as duplicated
pg_namespace rows --- try doing \d's query by hand and adding display
of pg_class.ctid and pg_namespace.ctid. However, if that theory is
correct then the next question is what you were doing to pg_namespace...

regards, tom lane

#3Teodor Sigaev
teodor@sigaev.ru
In reply to: Tom Lane (#2)
Re: duplicated tables

That doesn't look like duplicated tables so much as duplicated
pg_namespace rows --- try doing \d's query by hand and adding display
of pg_class.ctid and pg_namespace.ctid. However, if that theory is
correct then the next question is what you were doing to pg_namespace...

The bug was dereferencing uninitialized pointer, and postgres dumps core
immediately. And patch does nothing with namespace.

--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/

In reply to: Teodor Sigaev (#3)
Re: duplicated tables

Teodor Sigaev escreveu:

That doesn't look like duplicated tables so much as duplicated
pg_namespace rows --- try doing \d's query by hand and adding display
of pg_class.ctid and pg_namespace.ctid. However, if that theory is
correct then the next question is what you were doing to pg_namespace...

The bug was dereferencing uninitialized pointer, and postgres dumps core
immediately. And patch does nothing with namespace.

Could you post a backtrace or a test case? Maybe it is worth adding an assert
or test at some point in the code.

--
Euler Taveira de Oliveira
http://www.timbira.com/