[Mailman-Developers] can't use mailmanctl -s start
Barry A. Warsaw
Wed, 9 Jan 2002 23:02:43 -0500
>>>>> "F" == Fil <email@example.com> writes:
F> I don't know how to properly set up my system so that mailman
F> restarts after a crash. I've just experienced one a few minutes
F> ago, and here's the situation
This is a tricky bit of code, where it's trying to transfer ownership
of a lock file from the parent to a child process. I thought the code
was race condition free, but it's very possible I've overlooked
something. I'll stare at the code and try to reproduce it.
| # /home/mailman/bin/mailmanctl -s start
| Starting Mailman's master qrunner.
| Traceback (most recent call last):
>> le "/home/mailman/bin/mailmanctl", line 492, in ? main() le
>> "/home/mailman/bin/mailmanctl", line 364, in main
>> lock._transfer_to(pid) le "/home/mailman/Mailman/LockFile.py", line
>> 357, in _transfer_to os.link(self.__lockfile, self.__tmpfname)
F> OSError: [Errno 2] No such file or directory
Note that it's not choking on the pid file, it's choking on the lock
file that the parent is supposed to own a lock on.
F> So the process has failed but is still running?
Probably the child is still running, but the parent threw the
exception. The child ought to be blocked in the _take_possession()
call, and there should be no locks/master-qrunner lockfile.
F> I've got a /etc/init.d/mailman script that just does not much
F> more than call /home/mailman/bin/mailmanctl start
Are you using misc/mailman as your init.d script? (I don't think it
enters into the picture here).
F> (Using the most recent CVS version, I prefer to post this to
F> the -dev list)
The right thing to do!
I'll investigate some more.