Xref: utzoo comp.mail.misc:5379 comp.mail.uucp:6448 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!olivea!oliveb!veritas!tron From: tron@Veritas.COM (Ronald S. Karr) Newsgroups: comp.mail.misc,comp.mail.uucp Subject: Re: Problem with smail 3.x and directors file. Message-ID: <1991May04.092244.20889@Veritas.COM> Date: 4 May 91 09:22:44 GMT References: <1991May2.181414.9183@homecare.COM> Organization: VERITAS Software Lines: 128 In article <1991May2.181414.9183@homecare.COM> jessea@homecare.COM (Jesse W. Asher) writes: >All other entries work fine, but when I run "/usr/lib/sendmail -bd -q30m" >and I have the above two entries in the directors file, it just >terminates. It says "/usr/lib/smail/directors:" and that's all when it >terminates. I don't know what the problem is and I don't know how to >get a more descriptive error message. Does anyone have any ideas as to >what could be causing this? A fix for this bug was reported recently by Bob Weissman . Here is the message that he sent me: Date: Mon, 29 Apr 91 17:42 PDT From: bob@omni.com (Bob Weissman) To: veritas!tron Subject: Smail3 bug found and fixed For many months, I've been having big pains figuring out why I would intermittently get paniclog entries which read: 04/29/91 17:14:01: /var/lib/smail/directors: 04/29/91 17:20:19: [m0jXiS2-0004o4C] /var/lib/smail/directors: 04/29/91 17:20:20: [m0jXiS4-0004o7C] /var/lib/smail/directors: 04/29/91 17:20:21: [m0jXiS5-0004o8C] /var/lib/smail/directors: 04/29/91 17:20:22: [m0jXiS6-0004o9a] /var/lib/smail/directors: 04/29/91 17:20:24: [m0jXiS7-0004oAC] /var/lib/smail/directors: 04/29/91 17:20:25: [m0jXiS8-0004oFC] /var/lib/smail/directors: 04/29/91 17:20:26: [m0jXiS9-0004oGC] /var/lib/smail/directors: 04/29/91 17:27:03: /var/lib/smail/directors: 04/29/91 17:27:04: [m0jXiYZ-0004oIC] /var/lib/smail/directors: 04/29/91 17:30:23: /var/lib/smail/directors: ad nauseam. I think I finally found the problem today after rebuilding smail with debugging enabled. There are several routines in directors/include.c which return char* but have no return statements in their bodies. I was falling victim to random return values. My include.c carried an SCCS id of "@(#)include.c 3.19 3/17/89 17:18:25". Diffs follow. -- Bob ------------------------------------------------------------------ SCCS/s.include.c: 1.1 vs. 1.2 *** /tmp/geta25348 Mon Apr 29 17:40:20 1991 --- /tmp/getb25348 Mon Apr 29 17:40:20 1991 *************** *** 536,548 **** char * dtb_forwardinclude(dp, attrs) struct director *dp; /* director entry being defined */ struct attribute *attrs; /* list of per-driver attributes */ { ! dtb_internal_include(dp, attrs); } static void forwardfile_call_include(dp, in, fwdaddr, new, defer, fail) struct director *dp; /* director entry */ struct addr *in; /* addr to process */ --- 536,548 ---- char * dtb_forwardinclude(dp, attrs) struct director *dp; /* director entry being defined */ struct attribute *attrs; /* list of per-driver attributes */ { ! return dtb_internal_include(dp, attrs); } static void forwardfile_call_include(dp, in, fwdaddr, new, defer, fail) struct director *dp; /* director entry */ struct addr *in; /* addr to process */ *************** *** 642,654 **** char * dtb_aliasinclude(dp, attrs) struct director *dp; /* director entry being defined */ struct attribute *attrs; /* list of per-driver attributes */ { ! dtb_internal_include(dp, attrs); } static void aliasfile_call_include(dp, in, fwdaddr, new, defer, fail) struct director *dp; /* director entry */ struct addr *in; /* addr to process */ --- 642,654 ---- char * dtb_aliasinclude(dp, attrs) struct director *dp; /* director entry being defined */ struct attribute *attrs; /* list of per-driver attributes */ { ! return dtb_internal_include(dp, attrs); } static void aliasfile_call_include(dp, in, fwdaddr, new, defer, fail) struct director *dp; /* director entry */ struct addr *in; /* addr to process */ *************** *** 732,739 **** char * dtb_genericinclude(dp, attrs) struct director *dp; /* director entry being defined */ struct attribute *attrs; /* list of per-driver attributes */ { ! dtb_internal_include(dp, attrs); } --- 732,739 ---- char * dtb_genericinclude(dp, attrs) struct director *dp; /* director entry being defined */ struct attribute *attrs; /* list of per-driver attributes */ { ! return dtb_internal_include(dp, attrs); } -- tron |-<=>-| ARPAnet: veritas!tron@apple.com tron@veritas.com UUCPnet: {amdahl,apple,pyramid}!veritas!tron