BUG #6482: Service terminates executing "With ... as ... UPDATE" query

Started by Nonameabout 14 years ago2 messagesbugs
Jump to latest
#1Noname
dzolotarevskiy@gmail.com

The following bug has been logged on the website:

Bug reference: 6482
Logged by: Dmitriy
Email address: dzolotarevskiy@gmail.com
PostgreSQL version: 9.1.2
Operating system: Windows Server 2003 r2 32bit
Description:

All Postgres processes terinates.
In log you can find only
LOG: server process (PID ...) was terminated by exception OxC0000005.

All queries works fine when there is only one session. When Sessions more
then 20 it starts terminating with some probability.
On my production server it stops about 50 times per day.
On my dev pc, with testing utility that uses 50 sessions at one time, it
falls down in about 1 minute.

Investigating problem i have found the "fatal" query and excluding part by
part found out that new syntax produce that exception.

To reproduce create 3 tables and execute my query in at least 20
simultaneous threads, each one should use separate session.

Tables:
user_task (pk id, fk user_proxy_id)
user_proxy (pk id, fk proxy_last_id, date)
proxy_last (pk id, last_used)

Query:

with mup as
(
UPDATE user_proxy
SET date = now()
WHERE id=
(select user_proxy_id
from user_task
where id=420
)
returning proxy_last_id
)
UPDATE proxy_last
SET last_used = now()
WHERE id=(select proxy_last_id
from mup);

I have solved the problem rewriting query to old syntax.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: BUG #6482: Service terminates executing "With ... as ... UPDATE" query

dzolotarevskiy@gmail.com writes:

All queries works fine when there is only one session. When Sessions more
then 20 it starts terminating with some probability.
On my production server it stops about 50 times per day.
On my dev pc, with testing utility that uses 50 sessions at one time, it
falls down in about 1 minute.

Investigating problem i have found the "fatal" query and excluding part by
part found out that new syntax produce that exception.

I believe this is an already-known issue:
http://archives.postgresql.org/pgsql-bugs/2012-01/msg00157.php

It will be fixed in next week's update releases.

regards, tom lane