Hello Alvaro,

yeah, thanks, that's it. postgresql.conf had:

max_stack_depth = 8192                  # min 100, size in KB

I don't know who put it at 8192. According to the fine manual at [1], it should be set to something below 'ulimit -s', which gives 8192 on the machine in question. I've now set it to 7000 and I also get a warning instead of a SEGFAULT.

Thank you!

Markus

[1]: http://www.postgresql.org/docs/8.1/interactive/runtime-config-resource.html

Alvaro Herrera wrote:
Markus Schiltknecht wrote:
Hi,

One of our PostgreSQL 8.1.5 databases constantly crashed on a certain query (backend SEGFAULTs). I've figured the crashes were caused by a very long IN() clause.

You can easily reproduce the crash by feeding the output of the python script below to your database.

I'd argue that you have max_stack_depth set to an invalid value (higher
than your true stack limit).  I tried your example here on 8.1.5 and got
this:

alvherre=# \i foo
CREATE TABLE
psql:foo:2: ERROR:  stack depth limit exceeded
HINT:  Increase the configuration parameter "max_stack_depth".
DROP TABLE



---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to