DragonFly users List (threaded) for 2006-07
Re: Postfix suddenly stopped working
:I had what may be a similar issue; I found that postfix's "local" daemon
:would stick. In my case, "local" is configured to deliver through procmail,
:but it would occasionally just get stuck (it wouldn't get as far as calling
:procmail in this case). Sometimes a postfix stop and restart would work,
:sometimes not. Sometimes, a postmaster -h <first entry in queue> followed
:by postmaster -H <same entry> would unclog things (that is postfix-speak for
:"put it on hold" and "take it off hold" (moves it to a different queue
:directory and back). Sometimes a reboot was required.
:I never did get to the bottom of it. I rebuilt postfix and all of its
:dependencies, with no change in behavior. I did not ktrace the process,
:but gdb told me that it was sticking on an flock - I never did figure out
:which file though.
:This was all after upgrading from 1.2.x to 1.4 (and then 1.6). In the end,
:I ran out of time to monkey with it and just switched to sendmail. I've still
: Jon Hamilton
If it is stuck on an flock then the vnodeinfo program at
/usr/src/test/debug/vnodeinfo.c may help:
cc /usr/src/test/debug/vnodeinfo.c -o /usr/local/bin/vnodeinfo -lkvm
(NOTE! you need the latest HEAD for the program to compile properly,
with the latest /usr/src/test/debug/vnodeinfo.c file and the latest
/usr/src/sys/sys/fcntl.h copied to /usr/include/sys).
With postfix stuck, do:
/usr/local/bin/vnodeinfo -a > /tmp/outfile
Then look for vnode information structures containing LOCKS or BLKED
entries that might be related to the problem.
If there are no blocked locks then it could be a race in our POSIX
locking sleep/wakeup code.