Messages in this thread | | | From | (Andrew Walker) | Subject | Re: Pre2.0-8 & Sendmail | Date | Wed, 29 May 1996 08:10:09 +0200 (MET DST) |
| |
John Vozza wrote: > > > I just upgraded from 1.3.100 to Pre2.0-8 and it appears that sendmail has > broke. Whenever anyone attemps to sendmail from this system or incomming > mail from the "outside" world appears, I get the following error message: > > May 28 08:05:31 mike sendmail[217]: NOQUEUE: SYSERR(root): cannot > lockf(/etc/aliases.dir, fd=6, type=1, omode=37777777777, euid=0): Device > or resource busy > > Rebooting back into 1.3.100 corrects the problem so I belive all my > permissions and things are fine. I would really like to check out the new > PPP fixes, but can't untill I get this problem fixed. > > BTW, someone on irc thought it might be the flock problem, but I do run > the 5.3.12 & 4.7.6 libc's. (Havent seen a flock since I upgraded to those > libs.) > > This is the version of send mail that I run; > > sendmail[108]: starting daemon (8.6.12): SMTP+queueing@00:15:00 >
I knew this would happen :-(
Recompile your sendmail to lock with flock() (#define HASFLOCK I think). In newer kernels I disallowed mixing BSD (flock) and SYSV(lockf)/POSIX(fcntl) locks on a file. The GDBM routines use flock() to lock the alias database, and then sendmail tries to lock the same files with lockf() - hence the problem.
The reason for disallowing mixed locks is to avoid all sorts of nasty deadlocks that *might* otherwise occur.
-Andy
-- Andy Walker Kvaerner Engineering a.s. Andrew.Walker@lysaker.kvaerner.no P.O. Box 222, N-1324 Lysaker, Norway
......if the answer isn't violence, neither is your silence......
| |