Steve Shockley wrote: > courieresmtpd: submitclient: EOF from submit. > courieresmtpd: error,relay=66.133.182.167,msg="502 ESMTP command > error",cmd: DATA > courieresmtpd: gdbm fatal: couldn't init cache > courieresmtpd: gdbm fatal: couldn't init cache
This problem has been reported a few times in the past, and I think I finally figured out why. I installed Courier on an OpenBSD box, today, to track it down, and noticed that the esmtpd script sets "ulimit -d 4096" by default. On OpenBSD, that's not enough. When gdbm opens a file, it initializes a cache that's 100 elements long. Each element is a few bytes, individually, plus a bucket whose size is the value of the st_blksize reported by stat(). On OpenBSD x86, that's going to be 16k, whereas on Linux x86 it'll be 4k. As a result, gdbm's default cache size, per dbm file open, is about 1.6MB on OpenBSD, and just about 400k on Linux x86. Since Courier's smtpd may open several dbm files simultaniously, OpenBSD systems, and possibly other non-Linux-x86 platforms, may run out of memory with the default ulimit restrictions. So, Sam, would you consider increasing the default ULIMIT value for esmtpd? ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ courier-users mailing list [email protected] Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users
