FreeBSD 6.2 + xinetd + amanda problem

Matt Ruzicka matt at frii.com
Wed Jan 24 22:10:30 UTC 2007


While building out a couple new servers FreeBSD 6.2 was released.  Since 
these boxes were not quite ready to be put into production we took the 
opportunity to upgrade these boxes from 6.1 to 6.2 following the 
instructions from the UPDATING file in src as usual.  Initially everything 
seemed fine, but then we noticed that our previously working amanda 
backups started to fail.  We install amanda from source and run it from 
xinetd, which we install from ports.

Initially I figured amanda just needed to be recompiled, but the new 
install was failing as well.  Specifically amcheck from the amanda server 
was reporting that the client self check was timing out.  (A common and 
usually easily fixed issue.)  During the troubleshooting I noticed that 
xinetd was reporting the following errors in /var/log/messages.

Jan 24 14:36:34 hostname xinetd[44463]: fcntl( 0, clear close-on-exec ) failed: Bad file descriptor (errno = 9)
Jan 24 14:36:34 hostname xinetd[44463]: dup2( 0, 0 ) failed: Bad file descriptor (errno = 9)

After these errors finished the amanda server would report the selfcheck 
request timed out and suggest the host was down.  Normally when this runs 
the amanda client creates a /var/tmp/amanda directory on the server being 
backed up, but after the selfcheck fails the directory has not been 
created.  This seems to imply that amanda is never actually starting.

This lead me to believe that there was something wrong with xinetd and not 
amanda so I disabled amanda from the xinetd config and added it to plain 
old inetd and fired it up.  With amanda running from inetd the selfcheck 
would complete properly and the /var/tmp/amanda would be created with the 
proper files.

The strange thing I have two other services running from xinetd that /are/ 
working just fine, so xinetd itself seems to be at least partially ok.

After re-installing xinetd about a dozen times with variations in the 
config options and from both ports and source I'm still getting the same 
errors and it's really eating my lunch.

I am able to confirm that the amanda and xinetd configs were working under 
6.1 because we have backups of these machines.  Also, this combination of 
services are running just fine on other servers.  Just to be sure though I 
reinstalled amanda and xinetd on one of my 6.1 boxes from the same source 
that I'm having trouble with on 6.2 and everything works fine on 6.1.

It seems very odd, but there does seem to be some strange subtle issue or 
bug with FreeBSD 6.2 as it relates to the combination of amanda and 
xinetd.

Has anyone else seen anything even remotely similar with FreeBSD 6.2?

Of course I could just run amanda from inetd, but that loses some security 
I would much rather retain.  I'm considering attempting to roll back to 
6.1, but I'm afraid that will cause all sort of strange and unexpected 
results.  Plus, I'll want to move to 6.2 at some point and might just need 
to solve this issue then.

Thanks in advance for your time and I apologize if something similar has 
already been discussed and I somehow missed it in my troubleshooting and 
research.

Matt Ruzicka - Senior Systems Administrator
FRII
970-212-0728  matt at frii.net


More information about the freebsd-questions mailing list