tgp@sei.cmu.edu (Tod Pike) (07/06/90)
I've been having a strange problem with sendmail for quite a while now. About once every two or three days, I'll notice a core dump from sendmail in my spool area. Looking in with dbx, sendmail is dumping in the reply function in usersmtp.c. The actual line is the "(void) fflush(SmtpOut);" line. Now the value of SmtpOut is 0, but I can't easily determine whether that is really bogus or not. The configuration is a Sun running SunOS 4.0, and Sendmail V5.64. I have seen the same problem running sendmail V5.62, but I was hoping it would go away when I moved to 5.64. Any pointers to the cause of the problem would be greatly appreciated. Tod Pike -- Internet: tgp@sei.cmu.edu Mail: Carnegie Mellon University Software Engineering Institute Pittsburgh, PA. 15213-3980
steve@fnord.umiacs.umd.edu (Steve D. Miller) (07/11/90)
I'm pretty sure I've seen this problem before. I think that what happens is that the connection craps out after the MAIL FROM command. The first RCPT TO notes that the connection has gone, and closes the socket. If there's multiple recipients at that same host, however, sendmail tries to do a second RCPT TO, and ends up calling reply(), which does a fflush on SmtpOut, which is sort of a null pointer... This is the way I fixed this problem here, though I'm not convinced that it's the best way to do so. This change is to usersmtp.c. -Steve Spoken: Steve Miller Domain: steve@umiacs.umd.edu UUCP: uunet!mimsy!steve Phone: +1-301-454-1808 USPS: UMIACS, Univ. of Maryland, College Park, MD 20742 *** /tmp/,RCSt1a03798 Tue Jul 10 13:17:47 1990 --- /tmp/,RCSt2a03798 Tue Jul 10 13:17:47 1990 *************** *** 241,246 **** --- 241,251 ---- register int r; extern char *remotename(); + /* if the connection is closed, don't bother */ + if (SmtpOut == NULL || SmtpIn == NULL) { + errno = EBADF; /* guess */ + return(EX_TEMPFAIL); + } smtpmessage("RCPT To:<%s>", m, remotename(to->q_user, m, FALSE, TRUE)); SmtpPhase = "RCPT wait"; -- Spoken: Steve Miller Domain: steve@umiacs.umd.edu UUCP: uunet!mimsy!steve Phone: +1-301-454-1808 USPS: UMIACS, Univ. of Maryland, College Park, MD 20742