[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