Skip site navigation (1) Skip section navigation (2)

Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Alvaro Herrera <alvherre(at)commandprompt(dot)com>, pgsql-bugs <pgsql-bugs(at)postgresql(dot)org>, Hans van Kranenburg <hans(dot)van(dot)kranenburg(at)mendix(dot)com>
Subject: Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId
Date: 2010-07-19 18:19:35
Message-ID: 4C449737.5050300@enterprisedb.com (view raw or flat)
Thread:
Lists: pgsql-bugs
On 19/07/10 20:58, Andres Freund wrote:
> On Monday 19 July 2010 19:57:13 Alvaro Herrera wrote:
>> Excerpts from Andres Freund's message of lun jul 19 11:58:06 -0400 2010:
>>> On Monday 19 July 2010 17:26:25 Hans van Kranenburg wrote:
>>>> When issuing an update statement in a transaction with ~30800 levels of
>>>> savepoint nesting, (which is insane, but possible), postgresql
>>>> segfaults due to a stack overflow in the AssignTransactionId function,
>>>> which recursively assign transaction ids to parent transactions.
>>>
>>> It seems easy enough to throw a check_stack_depth() in there - survives
>>> make check here.
>>
>> I wonder if it would work to deal with the problem non-recursively
>> instead.  We don't impose subxact depth restrictions elsewhere, why
>> start now?
> It looks trivial enough, but whats the point?

To support more than <insert abitrary limit here> subtransactions, 
obviously.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com

In response to

Responses

pgsql-bugs by date

Next:From: Alvaro HerreraDate: 2010-07-19 18:23:10
Subject: Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId
Previous:From: Andres FreundDate: 2010-07-19 17:58:30
Subject: Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group