Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site uw-beaver Path: utzoo!watmath!clyde!burl!ulysses!mhuxr!mhuxn!mhuxj!houxm!vax135!cornell!uw-beaver!yenbut From: yenbut@uw-beaver (Voradesh Yenbut) Newsgroups: net.unix-wizards Subject: Re: 4.2 lost mail Message-ID: <276@uw-beaver> Date: Fri, 21-Dec-84 15:43:44 EST Article-I.D.: uw-beave.276 Posted: Fri Dec 21 15:43:44 1984 Date-Received: Sat, 22-Dec-84 03:15:52 EST References: <6079@brl-tgr.ARPA> <> <1942@nsc.UUCP> <369@haring.UUCP> <1379@dalcs.UUCP> Organization: U of Washington Computer Science Lines: 50 > [] > We also have experienced the "lost mail" syndrome. It only happens > on queued mail. I, however, have noticed the following events: > > Mail is sent to multiple recipients (both local and remote). > The mail is queued (a single copy, of course) due to the load average. > The mail is received by all non-local recipients and is never seen again > locally. > > Its got to be the gremlins eh? > > Ray I found that sendmail, compiled with DBM defined, does not call initaliases() before it processes queued mails. So, it will fail when looking for an alias name of a local recipient. As quoted from Version.c of sendmail, > D 4.16 83/10/16 16:08:08 eric 382 381 > MRs: > Postpone opening the alias DBM file until after the fork in srvrsmtp so > that the alias database is as current as possible; thanks to dagobah!efo > (Eben Ostby) for this one. it looks like sendmail version 4.16 and above may have this kind of problem. My fix in queue.c is as follows: ================================================================== SCCSID(@(#)queue.c 4.2 3/11/84 (no queueing)); *** /tmp/,RCSt1002663 Fri Dec 21 12:02:11 1984 --- queue.c Mon Dec 3 09:35:01 1984 *************** *** 256,261 /* child -- double fork */ if (fork() != 0) exit(EX_OK); } # ifdef LOG if (LogLevel > 11) --- 258,266 ----- /* child -- double fork */ if (fork() != 0) exit(EX_OK); + + /* open the alias database */ + initaliases(AliasFile, FALSE); } # ifdef LOG if (LogLevel > 11)