[Pkg-mailman-hackers] Bug#878432: mailman broken held requests due to log problems
Stefan Bühler
source at stbuehler.de
Fri Oct 13 17:18:35 UTC 2017
Package: mailman
Version: 1:2.1.23-1+deb9u1
Hi,
my /var/log/mailman directory had mode "drwxr-sr-x" (owned by
root:list); not all log files exist.
When a new request came in that mailman tried to held back, it couldn't
create the log file "vette" and crashed with:
---
Oct 13 16:27:23 2017 (1579) Uncaught runner exception: [Errno 9] Bad file descriptor
Oct 13 16:27:23 2017 (1579) Traceback (most recent call last):
File "/var/lib/mailman/Mailman/Queue/Runner.py", line 119, in _oneloop
self._onefile(msg, msgdata)
File "/var/lib/mailman/Mailman/Queue/Runner.py", line 190, in _onefile
keepqueued = self._dispose(mlist, msg, msgdata)
File "/var/lib/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose
more = self._dopipeline(mlist, msg, msgdata, pipeline)
File "/var/lib/mailman/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline
sys.modules[modname].process(mlist, msg, msgdata)
File "/var/lib/mailman/Mailman/Handlers/Moderate.py", line 131, in process
Hold.hold_for_approval(mlist, msg, msgdata, Hold.NonMemberPost)
File "/var/lib/mailman/Mailman/Handlers/Hold.py", line 298, in hold_for_approval
listname, sender, message_id, reason)
File "/var/lib/mailman/Mailman/Logging/Syslog.py", line 43, in write
self.write_ex(kind, msg, args, kws)
File "/var/lib/mailman/Mailman/Logging/Syslog.py", line 52, in write_ex
logf = self._logfiles[kind] = StampedLogger(kind)
File "/var/lib/mailman/Mailman/Logging/StampedLogger.py", line 52, in __init__
Logger.__init__(self, category, nofail, immediate)
File "/var/lib/mailman/Mailman/Logging/Logger.py", line 50, in __init__
self.__get_f()
File "/var/lib/mailman/Mailman/Logging/Logger.py", line 76, in __get_f
_logexc(self, e)
File "/var/lib/mailman/Mailman/Logging/Utils.py", line 22, in _logexc
sys.__stderr__.write('Logging error: %s\n' % logger)
IOError: [Errno 9] Bad file descriptor
Oct 13 16:27:23 2017 (1579) SHUNTING: [...]
---
(I had to strace the qrunner to see the actual problem.)
Reinstalling the package didn't fix the permission. I don't know why the
directory had the permissions, but I'm guessing it comes from upgrading
from an older version.
The mode in the debian package itself is looking good ("drwxrws---"), and
after correcting it mailman seems to work fine (apart from some shunted
files which probably should get cleaned up).
Maybe this should get fixed in postinst (after checking dpkg-statoverride
of course).
cheers,
Stefan
More information about the Pkg-mailman-hackers
mailing list