Package: mailman Version: 2.1.5-8 Severity: important Tags: patch Hello,
On a machine running mailman with a large number of heavily used mailing lists, suddenly mail to one mailing list did not get processed anymore. After investigating I found this in mailman's error log: Sep 01 06:33:29 2005 (7385) Traceback (most recent call last): File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 111, in _oneloop self._onefile(msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/Runner.py", line 167, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/lib/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose more = self._dopipeline(mlist, msg, msgdata, pipeline) File "/usr/lib/mailman/Mailman/Queue/IncomingRunner.py", line 153, in _dopipeline sys.modules[modname].process(mlist, msg, msgdata) File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 91, in process send_digests(mlist, mboxfp) File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 132, in send_digests send_i18n_digests(mlist, mboxfp) File "/var/lib/mailman/Mailman/Handlers/ToDigest.py", line 306, in send_i18n_digests msg = scrubber(mlist, msg) File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 170, in process dir = calculate_attachments_dir(mlist, msg, msgdata) File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 131, in calculate_attachments_dir datedir = safe_strftime(fmt, now) File "/var/lib/mailman/Mailman/Handlers/Scrubber.py", line 115, in safe_strftime return time.strftime(fmt, floatsecs) OverflowError: long int too large to convert to int The attached patch fixes this problem. -- System Information: Debian Release: 3.1 Architecture: i386 (i686) Kernel: Linux 2.6.12.2-p4-uvt Locale: LANG=nl_NL.UTF-8, LC_CTYPE=nl_NL.UTF-8 (charmap=UTF-8) Versions of packages mailman depends on: ii apache [httpd] 1.3.33-6 versatile, high-performance HTTP s ii cron 3.0pl1-86 management of regular background p ii debconf 1.4.30.13 Debian configuration management sy ii libc6 2.3.2.ds1-22 GNU C Library: Shared libraries an ii logrotate 3.7-5 Log rotation utility ii pwgen 2.03-1 Automatic Password generation ii python 2.3.5-2 An interactive high-level object-o ii ssmtp [mail-transport-agent 2.61-2 extremely simple MTA to get mail o ii ucf 1.17 Update Configuration File: preserv -- debconf information excluded
--- Scrubber.py.orig 2005-09-01 11:05:28.000000000 +0200 +++ Scrubber.py 2005-09-01 11:41:33.000000000 +0200 @@ -113,7 +113,7 @@ def safe_strftime(fmt, floatsecs): try: return time.strftime(fmt, floatsecs) - except (TypeError, ValueError): + except (OverflowError, TypeError, ValueError): return None @@ -142,7 +142,7 @@ }.get(parts[3], 0) day = int(parts[4]) year = int(parts[6]) - except (IndexError, ValueError): + except (OverflowError, IndexError, ValueError): # Best we can do I think month = day = year = 0 datedir = '%04d%02d%02d' % (year, month, day)