[Pkg-mailman-hackers] Bug#750525: mailman: Master qrunner detected subprocess exit while decoding utf8 character
Laurent Mazet
mazet at softndesign.org
Wed Jun 4 06:07:08 UTC 2014
Package: mailman
Version: 1:2.1.16-2
Severity: important
Dear Maintainer,
Thanks to mailman an postfix, I'm running multiple mailing list for 2 virtuals domain since 3 years without any majour issues. But one mailing list fall down 2 days ago, just after upgrading to 2.1.16-1. 80% of mail are lock in the queue. Others mailing lists still work fine. I got this type of log in /var/lib/mailman/log/error
--8<--
Jun 02 11:24:49 2014 (3899) Uncaught runner exception: 'utf8' codec can't decode byte 0xe9 in position 8: invalid continuatio
Jun 02 11:24:49 2014 (3899) 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/CookHeaders.py", line 223, in process
i18ndesc = uheader(mlist, mlist.description, 'List-Id', maxlinelen=998)
File "/var/lib/mailman/Mailman/Handlers/CookHeaders.py", line 65, in uheader
return Header(s, charset, maxlinelen, header_name, continuation_ws)
File "/usr/lib/python2.7/email/header.py", line 183, in __init__
self.append(s, charset, errors)
File "/usr/lib/python2.7/email/header.py", line 267, in append
ustr = unicode(s, incodec, errors)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 8: invalid continuation byte
Jun 02 11:24:49 2014 (3899) SHUNTING: 1401701086.211024+3c3ed99893324dcbcacc1c719fbc0a8b3004d4bb
-->8--
Finaly I downgrad mailmain to 2.1.16-1 and the problem disappears. By the way, mails lock in the queue were finally send.
Regards,
Laurent
*** Reporter, please consider answering these questions, where appropriate ***
* What led up to the situation?
* What exactly did you do (or not do) that was effective (or
ineffective)?
* What was the outcome of this action?
* What outcome did you expect instead?
*** End of the template - remove these template lines ***
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.14-1-amd64 (SMP w/1 CPU core)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages mailman depends on:
ii apache2 2.4.9-1
ii apache2-bin [httpd] 2.4.9-1
ii apache2-mpm-prefork [httpd] 2.4.9-1
ii cron 3.0pl1-124
ii debconf [debconf-2.0] 1.5.53
ii libc6 2.18-7
ii logrotate 3.8.7-1
ii lsb-base 4.1+Debian12
pn python:any <none>
ii ucf 3.0029
Versions of packages mailman recommends:
ii postfix [mail-transport-agent] 2.11.0-1
Versions of packages mailman suggests:
ii listadmin 2.40-4
ii lynx 2.8.8pre5-1
ii spamassassin 3.4.0-1
-- Configuration Files:
/etc/init.d/mailman changed:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/lib/mailman/bin/mailmanctl
PIDFILE=/var/run/mailman/mailman.pid
test -x $DAEMON || exit 0
set -e
if ! [ -d /var/run/mailman ]; then
install -d -o list -g list /var/run/mailman
fi
if ! [ -d /var/lock/mailman ]; then
install -d -o root -g list -m 2775 /var/lock/mailman
fi
.. /lib/lsb/init-functions
if ! [ -x /usr/bin/python ]; then
log_warning_msg "Python interpreter not available, exiting."
exit 0;
fi
case "$1" in
start)
SITE_LIST=$( sed -rne "s/^[[:space:]]*MAILMAN_SITE_LIST[[:space:]]*=[[:space:]]*(['\"])([^'\"]+)\\1/\\2/p" /etc/mailman/mm_cfg.py )
[ -n "$SITE_LIST" ] || SITE_LIST='mailman'
if ! /var/lib/mailman/bin/list_lists -b | grep -q "^${SITE_LIST}$"; then
log_warning_msg "Site list for mailman missing (looking for list named '${SITE_LIST}')."
log_warning_msg "Please create it; until then, mailman will refuse to start."
exit 0;
fi
log_daemon_msg "Starting Mailman master qrunner" "mailmanctl"
if $DAEMON -s -q start; then
log_end_msg 0
else
log_end_msg 1
fi
;;
stop)
log_daemon_msg "Stopping Mailman master qrunner" "mailmanctl"
if $DAEMON -q stop; then
rm -f $PIDFILE
log_end_msg 0
else
log_end_msg 1
fi
;;
reload)
log_begin_msg "Reloading Mailman master qrunner configuration"
if $DAEMON -q restart; then
log_end_msg 0
else
log_end_msg 1
fi
;;
restart|force-reload)
PID=`cat $PIDFILE 2>/dev/null` || true
log_daemon_msg "Restarting Mailman master qrunner" "mailmanctl"
$DAEMON -q stop
if test -n "$PID" && kill -0 $PID 2>/dev/null ; then
log_action_begin_msg "Waiting"
for cnt in `seq 1 5`; do
sleep 1
kill -0 $PID 2>/dev/null || break
done;
if kill -0 $PID 2>/dev/null ; then
log_action_end_msg 1
else
log_action_end_msg 0
fi
fi
if $DAEMON -q start; then
log_end_msg 0
else
log_end_msg 1
fi
;;
*)
echo "Usage: /etc/init.d/mailman {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
-- debconf information:
* mailman/used_languages: en fr
* mailman/default_server_language: en
* mailman/queue_files_present: continue regardless
* mailman/create_site_list:
mailman/gate_news: false
* mailman/site_languages: fr, en
More information about the Pkg-mailman-hackers
mailing list