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

Re: PANIC: ERRORDATA_STACK_SIZE exceeded

From: Ray Stell <stellr(at)cns(dot)vt(dot)edu>
To: "Edmundo Robles L(dot)" <erobles(at)sensacd(dot)com(dot)mx>
Cc: pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: PANIC: ERRORDATA_STACK_SIZE exceeded
Date: 2010-12-17 01:40:22
Message-ID: 20101217014022.GA17961@cns.vt.edu (view raw or flat)
Thread:
Lists: pgsql-general
On Thu, Dec 16, 2010 at 06:33:25PM -0600, Edmundo Robles L. wrote:
> hi!  i have postgresql 8.3.12   and i got the  eror:
> PANIC: ERRORDATA_STACK_SIZE exceeded
> 


        if (++errordata_stack_depth >= ERRORDATA_STACK_SIZE)
        {
                /*
                 * Wups, stack not big enough.  We treat this as a PANIC condition
                 * because it suggests an infinite loop of errors during error
                 * recovery.
                 */
                errordata_stack_depth = -1;             /* make room on stack */
                ereport(PANIC, (errmsg_internal("ERRORDATA_STACK_SIZE exceeded")));
        }


max_stack_depth (integer)
Specifies the maximum safe depth of the server's execution stack. The ideal setting for this parameter is the actual stack size limit enforced by the kernel (as set by ulimit -s or local equivalent), less a safety margin of a megabyte or so. The safety margin is needed because the stack depth is not checked in every routine in the server, but only in key potentially-recursive routines such as expression evaluation. The default setting is two megabytes (2MB), which is conservatively small and unlikely to risk crashes. However, it may be too small to allow execution of complex functions. Only superusers can change this setting.

Setting max_stack_depth higher than the actual kernel limit will mean that a runaway recursive function can crash an individual backend process. On platforms where PostgreSQL can determine the kernel limit, it will not let you set this variable to an unsafe value. However, not all platforms provide the information, so caution is recommended in selecting a value.



> #max_stack_depth = 2MB			# min 100kB

In response to

pgsql-general by date

Next:From: Jasen BettsDate: 2010-12-17 03:57:41
Subject: Re: How to obtain the maximum value of a date, between 3 tables...
Previous:From: Edmundo Robles L.Date: 2010-12-17 00:33:25
Subject: PANIC: ERRORDATA_STACK_SIZE exceeded

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