Date: Tue, 09 Mar 2010 15:43:02 -0800 From: "Kevin Oberman" <oberman@es.net> To: Jeremy Chadwick <freebsd@jdc.parodius.com> Cc: freebsd-stable@freebsd.org Subject: Re: Cron output mail lost with update to RELENG_7 Message-ID: <20100309234302.1D03F1CC18@ptavv.es.net> In-Reply-To: Your message of "Fri, 05 Mar 2010 12:33:09 PST." <20100305203309.GA91525@icarus.home.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
> Date: Fri, 5 Mar 2010 12:33:09 -0800 > From: Jeremy Chadwick <freebsd@jdc.parodius.com> > Sender: owner-freebsd-stable@freebsd.org > > On Fri, Mar 05, 2010 at 11:32:47AM -0800, Kevin Oberman wrote: > > I have discovered a problem with the mail sent by cron jobs (I refer > > only to logs, not invocations of mail from scripts.) They never are > > delivered. > > Mar 5 10:32:30 noc5 postfix/sendmail[1175]: fatal: root(0): No recipient addresses found in message header > > Mar 5 10:32:30 noc5 postfix/sendmail[1175]: fatal: root(0): No recipient addresses found in message header > > Mar 5 10:37:00 noc5 postfix/sendmail[1268]: fatal: root(0): No recipient addresses found in message header > > Mar 5 10:37:00 noc5 postfix/sendmail[1268]: fatal: root(0): No recipient addresses found in message header > > > > This showed up when I upgraded the system to RELENG_7 yesterday. My > > previous install was RELENG_7 of May 2, 2009 and it delivered the logs > > without any problems. No other changes were made. postfix was 2.6.5. > > > > I have this same issue on all 8.0 systems I have, but I was blaming a > > fault in postfix config. Now I realize that this is not the problem. > > > > I really don't know quite where to look for this. Any clues would be > > appreciated. > > I don't have this issue on any of our RELENG_7 or RELENG_8 systems, all > of which use postfix and WITHOUT_SENDMAIL in /etc/src.conf. > > It sounds like cron is trying to spawn something like mail(1) (more > likely /usr/sbin/sendmail; would have to look at the code) and passing > it either incorrect flags or actual content within the header itself, > e.g. a missing To: line. > > Since postfix is involved, have you verified your /etc/mail > configuration to make sure mailwrapper is referring to the correct > postfix binaries? > > The only other thing I can think of would be, possibly, some sort of > cronjob root has (either crontab -l or /etc/crontab) which makes use of > the MAILTO environment variable. See cron(8) for what I'm talking > about. > > You might have to run cron in debug mode (see -x flag; your argument > list will probably be quite long :-) ) to see what it's doing. > Otherwise truss or ktrace might be the only way to track down what's > going on underneath. After a lot of testing, I created a dummy sendmail that simply captured the arguments and the data from STDIN. #!/usr/local/bin/perl open OUT, ">/home/oberman/cronout.txt"; foreach (@ARGV) {print OUT "$_\n";} print OUT "Mailcat ran!\n"; sleep 5; while (<STDIN>) { print OUT $_; } close OUT; It looks like cron is sending an empty message. I see MAILARG of '-FCronDaemon -odi -oem -oi -t' but that is followed by EOF with no content at all. I'm looking at the cron source, but I am baffled for the moment. I see no recent updates to cron in RELENG_7, though there are in RELENG_8. I'm running out of ideas. -- R. Kevin Oberman, Network Engineer Energy Sciences Network (ESnet) Ernest O. Lawrence Berkeley National Laboratory (Berkeley Lab) E-mail: oberman@es.net Phone: +1 510 486-8634 Key fingerprint:059B 2DDF 031C 9BA3 14A4 EADA 927D EBB3 987B 3751
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100309234302.1D03F1CC18>