RuntimeError: maximum recursion depth exceeded while pickling an object

Bug #881316 reported by Vincent Fretin
6
This bug affects 1 person
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/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.

Tags: mailman3
Barry Warsaw (barry)
tags: added: mailman3
Barry Warsaw (barry)
Changed in mailman:
status: New → Triaged
importance: Undecided → High
Revision history for this message
Barry Warsaw (barry) wrote :

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.

Changed in mailman:
status: Triaged → Incomplete
description: updated
Revision history for this message
Abhilash Raj (raj-abhilash1) wrote :

This bug has been moved to the new gitlab repo here: https://gitlab.com/maxking/mailman/issues/8

Revision history for this message
Abhilash Raj (raj-abhilash1) wrote :

Please ignore the above comment, the bug has been moved here: https://gitlab.com/mailman/mailman/issues/8

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.