[Pkg-mailman-hackers] Bug#505638: mailman: Mailman dies on log rotation
Ivan Marton
martoni at niif.hu
Mon Jan 16 16:36:04 UTC 2012
Hi!
I've faced the same problem.
Package: mailman
Version: 1:2.1.13-5
My logfile (/var/log/mailman/qrunner) contains multiple SIGHUP and
finally a SIGTERM signal per process.
Jan 15 06:25:31 2012 (12712) BounceRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:31 2012 (12711) ArchRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:32 2012 (12714) IncomingRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:32 2012 (12716) OutgoingRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:32 2012 (12717) VirginRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:34 2012 (12714) IncomingRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:34 2012 (12711) ArchRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:34 2012 (12717) VirginRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:34 2012 (12716) OutgoingRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:34 2012 (12712) BounceRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:34 2012 (12710) Master watcher caught SIGHUP. Re-opening
log files.
Jan 15 06:25:34 2012 (12712) BounceRunner qrunner caught SIGTERM. Stopping.
Jan 15 06:25:34 2012 (12712) BounceRunner qrunner exiting.
Jan 15 06:25:34 2012 (12714) IncomingRunner qrunner caught SIGTERM.
Stopping.
Jan 15 06:25:34 2012 (12714) IncomingRunner qrunner exiting.
Jan 15 06:25:34 2012 (12711) ArchRunner qrunner caught SIGTERM. Stopping.
Jan 15 06:25:34 2012 (12716) OutgoingRunner qrunner caught SIGTERM.
Stopping.
Jan 15 06:25:34 2012 (12716) OutgoingRunner qrunner exiting.
Jan 15 06:25:35 2012 (12717) VirginRunner qrunner caught SIGTERM. Stopping.
Jan 15 06:25:35 2012 (12717) VirginRunner qrunner exiting.
Jan 15 06:25:35 2012 (12715) NewsRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:36 2012 (12715) NewsRunner qrunner caught SIGTERM. Stopping.
Jan 15 06:25:36 2012 (12715) NewsRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:36 2012 (12715) NewsRunner qrunner exiting.
Jan 15 06:25:36 2012 (12718) RetryRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:36 2012 (12713) CommandRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:37 2012 (12718) RetryRunner qrunner caught SIGTERM. Stopping.
Jan 15 06:25:38 2012 (12718) RetryRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:38 2012 (12713) CommandRunner qrunner caught SIGTERM.
Stopping.
Jan 15 06:25:38 2012 (12713) CommandRunner qrunner caught SIGHUP.
Reopening logs.
Jan 15 06:25:38 2012 (12718) RetryRunner qrunner exiting.
Jan 15 06:25:39 2012 (12713) CommandRunner qrunner exiting.
Jan 15 06:25:57 2012 (12711) ArchRunner qrunner exiting.
As far as I've seen in the correspondant logrotate definition, the
signal is not directly sent to the process but the
`/usr/lib/mailman/bin/mailmanctl -q reopen` command is executed.
That's the one that start, stop, reload, etc. the mailman Runners. When
the reopen option is used, finally the os.kill(<mailman PID>,
signal.SIGHUP) function is called - that cannot cause SIGTERM - if not
an unexcpected exception is thrown, because in this case the "finally"
block of the main loop cycle is called that broadcast this signal across
the child processes.
After some years of mailman operation, this was the very first time when
this bug appeared.
Do you have any idea how to avoid this in the future?
Thanks,
Ivan
More information about the Pkg-mailman-hackers
mailing list