Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId - Mailing list pgsql-bugs

From Heikki Linnakangas
Subject Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId
Date
Msg-id 4C44A17D.60600@enterprisedb.com
Whole thread Raw
In response to Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId  (Andres Freund <andres@anarazel.de>)
Responses Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId
List pgsql-bugs
On 19/07/10 21:32, Andres Freund wrote:
> On Monday 19 July 2010 20:19:35 Heikki Linnakangas wrote:
>> 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.
> Well. I got that far. But why is that something worthy of support?

Because it's not really much harder than putting in the limit. Besides,
if you put in a limit of 3000, someone with a smaller stack might still
run out of stack space.

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

pgsql-bugs by date:

Previous
From: Peter Eisentraut
Date:
Subject: Re: PG 9.0 Solaris compile error on Sparc
Next
From: Andres Freund
Date:
Subject: Re: BUG #5566: High levels of savepoint nesting trigger stack overflow in AssignTransactionId