[Mimedefang] MD unable to create spool directories

Clayton, Nik [IT] nik.clayton at citigroup.com
Tue Feb 25 08:11:01 EST 2003

> Caveat -- still using 2.16, until I find the time to package 
> and test a more recent version.  So this issue may have gone away by 
> now, although by reading the code and the changelogs I don't see how.

It hasn't.  I've just deployed 2.30, and we're still seeing the problem.
However, the fixes for some of the logging info in 2.30 have, I think,
pinpointed the problem.

We now see warnings in the logs that look like this:

    fdopen failed on /var/spool/MIMEDefang/mdefang-3E5B606F-0/INPUTMSG:
Error 0

This also happens on the COMMANDS and HEADERS files, and sometimes the
error string is 'File exists' instead of 'Error 0'.

Checking the fdopen(3C) man page


it says:


       Upon  successful completion, fdopen() returns a pointer to
       a stream. Otherwise, a null pointer is returned and  errno
       is set to indicate the error.

       The  fdopen() function may fail and not set errno if there
       are no free stdio streams.


       The number of streams that a process can have open at  one
       time  is  STREAM_MAX. If defined, it has the same value as

A grovel through /usr/include/stdio.h shows

    #define _NFILE 	20
    #define FOPEN_MAX 	_NFILE

and no definition for STREAM_MAX.

This is documented as a per-process limit, rather than a per-thread limit,
so this would seem to put a severe cap on the number of messages that
mimedefang can process concurrently.

1        1         2         3         4         5         6         7    7
         0         0         0         0         0         0         0    5
                                                    -- The 75 column-ometer
Global Messaging,                 A: Top posting
120 Cheapside, x83331             Q: What's the most annoying e-mail habit?

More information about the MIMEDefang mailing list