RuntimeError: maximum recursion depth exceeded while pickling an object
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GNU Mailman |
Incomplete
|
High
|
Unassigned |
Bug Description
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/
self.
File "/home/
keepqueued = self._dispose(
File "/home/
process(mlist, msg, msgdata, mlist.start_chain)
File "/home/
link.
File "/home/
nmsg.
File "/home/
self.
File "/home/
virginq.
File "/home/
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.setrecursio
in src/mailman/
before
msgsave = cPickle.dumps(_msg, protocol)
line 134
and doing
bin/mailman unshunt
fixed the issue.
By default sys.getrecursio
If you want to have a test email to reproduce, I can ask my customer to send an email to a test mailing-list.
tags: | added: mailman3 |
Changed in mailman: | |
status: | New → Triaged |
importance: | Undecided → High |
description: | updated |
This is a very strange traceback. I can't imagine how it's occurring frankly, since pickle *should* have protections against recursively linked objects, and there shouldn't be any such objects in the metadata (a dictionary with simple key/value pairs) or in the Message object.
Does this still occur with the beta1 or the latest bzr trunk? If so, please re-open this bug and attach the offending message, and I'll try to reproduce it locally.