Hello,

On Thu, Feb 10, 2005 at 10:08:14AM -0500, Tom Lane wrote:
> Neil Conway <[EMAIL PROTECTED]> writes:
> > It seems what's happening here is that dspam is submitting a query with
> > many thousands of elements in the IN clause. In the parser, we transform
> > "foo IN (a, b, c)" into "foo = a OR foo = b OR foo = c", and then
> > recurse for each element of the OR expression and eventually run out of
> > stack space.
> 
> There is a check_stack_depth call in there, so this could only be the
> explanation if max_stack_depth is set too high for the actual
> stack depth limit.  What's the platform, and what ulimit values is the
> postmaster started under?

FreeBSD 4.11 on x86 using PostgreSQL 8.0.1

% limits 
Resource limits (current):
  cputime          infinity secs
  filesize           512000 kb
  datasize           524288 kb
  stacksize           65536 kb
  coredumpsize       307200 kb
  memoryuse-cur      458752 kb
  memorylocked-cur   458752 kb
  maxprocesses          512
  openfiles            7351
  sbsize           infinity bytes
  vmemoryuse       infinity kb

max_stack_depth is at the default commented value of 2048

I can bump this value up to test it if desired, it just takes
a while to get to the point of the backend crash scenario.

I feed about 2300 good pieces of email using the dspam corpus
feed program. Around 200 email messages left to feed, 
the backend will want to crash around that point. I will try
to narrow down what query is being ran at that point. Perhaps
I can extract it from the core dump.


Thanks,

Brian B.

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to