PANIC: ERRORDATA_STACK_SIZE exceeded

Started by eroblesover 15 years ago2 messagesgeneral
Jump to latest
#1erobles
erobles@sensacd.com.mx

hi! i have postgresql 8.3.12 and i got the eror:
PANIC: ERRORDATA_STACK_SIZE exceeded

This happens after insert 1000 registers on a table every 1 minute
during 3 hours.

any idea, why this happened???

Attachments:

postgresql.conftext/plain; name=postgresql.confDownload
#2Ray Stell
stellr@cns.vt.edu
In reply to: erobles (#1)
Re: PANIC: ERRORDATA_STACK_SIZE exceeded

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.

Show quoted text

#max_stack_depth = 2MB # min 100kB