|
Prev: Mail application parsing files delivered by sendmail - problems with BCC Recipients
Next: Getting message 550 5.1.1 <name@domain.com>... User unknown with Sendmail 8.14.3
From: jmaimon on 11 Jun 2008 22:27 On Jun 10, 3:06 pm, fwilke <fwi...(a)yahoo.de> wrote: > Hi, > > > Is milter-greylist dynamically linked or only static with libmilter? > > Thanks, this brought a step in the right direction > > ldd `which milter-greylist` > > linux-gate.so.1 => (0xffffe000) > libpthread.so.0 => /lib/libpthread.so.0 (0xb7f91000) > libresolv.so.2 => /lib/libresolv.so.2 (0xb7f80000) > libnsl.so.1 => /lib/libnsl.so.1 (0xb7f6c000) > libc.so.6 => /lib/libc.so.6 (0xb7e51000) > /lib/ld-linux.so.2 (0xb7fa8000) > > shows it isn't linked dynamically with libmilter, sendmail > distribution builds a static library .a, so we forgot to recompile > milter-greylist again. > > We did it now and strace shows the use of poll() - as one pleases > ... > Process 25599 attached - interrupt to quit > poll([{fd=5, events=POLLIN|POLLPRI}], 1, 5000) = 0 > poll([{fd=5, events=POLLIN|POLLPRI}], 1, 5000) = 0 > poll([{fd=5, events=POLLIN|POLLPRI}], 1, 5000) = 0 > > But it comes with this error again > > milter-greylist: greylist: thread_create() failed: 12, try again > > :( > > Increasing the stack (for threading) with "ulimit -s 2048" and "ulimit > -n 10240" didn't solve the problem and it fails at about 1500 > parallel SMTP processes. > > Found that the thread_create is in libmilter/listener.c and errno 12 > means "Cannot allocate memory (ENOMEM)". > > What could be causing this error? > Any ideas? > > Cheers, > > Frank my ulimit -a shows that stack is for 8192 My man page for ulimit claims that open files may not be settable on all systems. You could also try running it as root to see if the problem is user ulimits. If you want to scale it out, one way may be to use something like milter-rrres to distribute the connections between different instances of the milters. Or you could use DNS round robin. |