On Fri, Feb 11, 2005 at 04:56:16PM -0500, Tom Lane wrote:
> regression=# create function infinite_recurse() returns int as '
> regression'# select infinite_recurse()' language sql;
> regression=# \set VERBOSITY terse
> regression=# select infinite_recurse();
> ERROR: stack depth limit exceeded
> and see if you get the proper error or a core dump?
This makes the backend core dump in about 5-10 seconds. It looks like your
analysis is correct. Excellent work. I am not sure if it's my particular
FreeBSD installation that is screwing up or if it's FreeBSD in general.
Did you happen to test with FreeBSD on one of your test machines?
> If it dumps core, then the thing to look at is check_stack_depth() in
> src/backend/tcop/postgres.c. Maybe your compiler is bogusly optimizing
> the address arithmetic there?
It is possible. Using gcc 2.95.4. I will eliminate all the optimization
options when I recompile PostgreSQL and see what happens.
pgsql-bugs by date
|Next:||From: Tom Lane||Date: 2005-02-11 22:17:43|
|Subject: Re: BUG #1473: Backend bus error, possibly due to ANALYZE |
|Previous:||From: Tiago Magalhes Vieira||Date: 2005-02-11 20:40:06|
|Subject: BUG #1478: Upper function does not work|