Skip site navigation (1)Skip section navigation (2)
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>