RuntimeError: maximum recursion depth exceeded while pickling an object
Original LP Author: Vincent Fretin , LP Link: https://bugs.launchpad.net/bugs/881316
With mailman 3.0.0a8.
I got the following traceback from a html mail with html signature+image from Outlook, Oct 14 09:21:31 2011 (17579) Traceback (most recent call last): File "/home/zope/mailman/src/mailman/core/runner.py", line 138, in _one_iteration self._process_one_file(msg, msgdata) File "/home/zope/mailman/src/mailman/core/runner.py", line 220, in _process_one_file keepqueued = self._dispose(mlist, msg, msgdata) File "/home/zope/mailman/src/mailman/runners/incoming.py", line 64, in _dispose process(mlist, msg, msgdata, mlist.start_chain) File "/home/zope/mailman/src/mailman/core/chains.py", line 90, in process link.function(mlist, msg, msgdata) File "/home/zope/mailman/src/mailman/chains/hold.py", line 245, in _process nmsg.send(mlist, **dict(tomoderators=True)) File "/home/zope/mailman/src/mailman/email/message.py", line 198, in send self._enqueue(mlist, **_kws) File "/home/zope/mailman/src/mailman/email/message.py", line 216, in _enqueue virginq.enqueue(self, **str_keywords) File "/home/zope/mailman/src/mailman/core/switchboard.py", line 133, in enqueue msgsave = cPickle.dumps(_msg, protocol) RuntimeError: maximum recursion depth exceeded while pickling an object
It's really an obscure issue for me. I resolved it by adding sys.setrecursionlimit(10000) in src/mailman/core/switchboard.py before msgsave = cPickle.dumps(_msg, protocol) line 134 and doing bin/mailman unshunt fixed the issue. By default sys.getrecursionlimit() returns 1000.
If you want to have a test email to reproduce, I can ask my customer to send an email to a test mailing-list.