crash if group doesn't exist (postgres 6.5, linux 2.2.10, rh 6.0)

Поиск
Список
Период
Сортировка
От David Sauer
Тема crash if group doesn't exist (postgres 6.5, linux 2.2.10, rh 6.0)
Дата
Msg-id m2wvwyf4v3.fsf@orfinet.cz
обсуждение исходный текст
Список pgsql-hackers
Hallo,
 I think, that I found reproducible bug:

% sql template1
Welcome to the POSTGRESQL interactive sql monitor: Please read the file COPYRIGHT for copyright terms of POSTGRESQL
[PostgreSQL 6.5.0 on i586-pc-linux-gnu, compiled by gcc egcs-2.91.66]
  type \? for help on slash commands  type \q to quit  type \g or terminate with semicolon to execute queryYou are
currentlyconnected to the database: template1
 

template1=> insert into pg_group values ('dummies', 501, '{503}');
INSERT 18784 1
template1=> select * from pg_user where usename = 'dummy';
usename|usesysid|usecreatedb|usetrace|usesuper|usecatupd|passwd  |valuntil
-------+--------+-----------+--------+--------+---------+--------+--------
dummy  |     503|f          |t       |f       |t        |********|        
(1 row)

template1=> create table tab ( i int );
CREATE
template1=> \z tab
Database    = template1+----------+--------------------------+| Relation | Grant/Revoke Permissions
|+----------+--------------------------+|tab      |                          |+----------+--------------------------+
 
template1=> grant all on tab to group dummies;
CHANGE
template1=> \z tab
Database    = template1+----------+----------------------------+| Relation | Grant/Revoke Permissions
|+----------+----------------------------+|tab      | {"=","group dummies=arwR"}
|+----------+----------------------------+
template1=> delete from pg_group;
DELETE 1
template1=> \z tab
NOTICE:  get_groname: group 501 not found
pqReadData() -- backend closed the channel unexpectedly.This probably means the backend terminated abnormallybefore or
whileprocessing the request.
 



And in log is:
PGSQL: NOTICE:  get_groname: group 501 not found 
PGSQL: NOTICE:  Message from PostgreSQL backend: 
PGSQL: ^IThe Postmaster has informed me that some other backend died
abnormally and possibly corrupted shared memory.
PGSQL: ^II have rolled back the current transaction and am going to terminate your database system connection and exit.

PGSQL: ^IPlease reconnect to the database system and repeat your query. 

This look like that \z causes (if group doesn't more exist) database crash
... and I hate crashes ...
-- 
* David Sauer, student of Czech Technical University
* electronic mail: davids@orfinet.cz (mime compatible)


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

Предыдущее
От: Thomas Lockhart
Дата:
Сообщение: Building Postgres
Следующее
От: Zeugswetter Andreas IZ5
Дата:
Сообщение: AW: [HACKERS] tables > 1 gig