Laus,

Could you please try the attached patch. It should make the shmget failure a bit more verbose.

Also, never use EFFECTIVE_USER or GROUP=root if you value your system !!


Laus Conrad wrote:
Hi all,

I have just installed dbmail with exim and mysql -
compile went fine but I get the following error when
starting dbmail-imapd -
Mar 22 09:34:39 localhost dbmail/imap4d[11673]:
StartServer(): init ok. Creating children..
Mar 22 09:34:39 localhost dbmail/imap4d[11673]:
pool.c,scoreboard_new: shmget failed
Mar 22 09:34:41 localhost dbmail/imap4d[11672]:
main(): server has exited, exit status [75]
Mar 22 09:34:41 localhost dbmail/imap4d[11672]:
main(): exit

This is a copy of the config file, IMAP section

[IMAP]
EFFECTIVE_USER=root
EFFECTIVE_GROUP=root
BINDIP=194.204.96.34
PORT=143
NCHILDREN=50
MAXCHILDREN=200 MINSPARECHILDREN=2
MAXSPARECHILDREN=4
MAXCONNECTS=10000 TIMEOUT=4000 RESOLVE_IP=yes IMAP_BEFORE_SMTP=no
TRACE_LEVEL=6

I am running gentoo, kernel 2.6.10.

Any help appreciated.

Regards





                
__________________________________ Do you Yahoo!? Yahoo! Small Business - Try our new resources site! http://smallbusiness.yahoo.com/resources/ _______________________________________________
Dbmail mailing list
[email protected]
https://mailman.fastxs.nl/mailman/listinfo/dbmail


--
  ________________________________________________________________
  Paul Stevens                                         [EMAIL PROTECTED]
  NET FACILITIES GROUP                     GPG/PGP: 1024D/11F8CD31
  The Netherlands_______________________________________www.nfg.nl
Index: pool.c
===================================================================
--- pool.c      (revision 1699)
+++ pool.c      (working copy)
@@ -73,8 +73,10 @@
 void scoreboard_new(serverConfig_t * conf)
 {
        int serr;
-       if ((shmid = shmget(IPC_PRIVATE, P_SIZE, 0644 | IPC_CREAT)) == -1)
-               trace(TRACE_FATAL, "%s,%s: shmget failed",__FILE__,__func__);
+       if ((shmid = shmget(IPC_PRIVATE, P_SIZE, 0644 | IPC_CREAT)) == -1) {
+               serr = errno;
+               trace(TRACE_FATAL, "%s,%s: shmget failed 
[%s]",__FILE__,__func__, strerror(serr));
+       }
        scoreboard = shmat(shmid, (void *) 0, 0);
        serr=errno;
        if (scoreboard == (Scoreboard_t *) (-1)) {

Reply via email to