[Bug 881316] [NEW] RuntimeError: maximum recursion depth exceeded while pickling an object

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug 881316] [NEW] RuntimeError: maximum recursion depth exceeded while pickling an object

Vincent Fretin
Public bug reported:

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.

** Affects: mailman
     Importance: Undecided
         Status: New

--
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
https://bugs.launchpad.net/bugs/881316

Title:
  RuntimeError: maximum recursion depth exceeded while pickling an
  object

To manage notifications about this bug go to:
https://bugs.launchpad.net/mailman/+bug/881316/+subscriptions
_______________________________________________
Mailman-coders mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/mailman-coders
Reply | Threaded
Open this post in threaded view
|

[Bug 881316] Re: RuntimeError: maximum recursion depth exceeded while pickling an object

Barry Warsaw-89
** Tags added: mailman3

--
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
https://bugs.launchpad.net/bugs/881316

Title:
  RuntimeError: maximum recursion depth exceeded while pickling an
  object

To manage notifications about this bug go to:
https://bugs.launchpad.net/mailman/+bug/881316/+subscriptions
_______________________________________________
Mailman-coders mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/mailman-coders
Reply | Threaded
Open this post in threaded view
|

[Bug 881316] Re: RuntimeError: maximum recursion depth exceeded while pickling an object

Barry Warsaw-89
In reply to this post by Vincent Fretin
** Changed in: mailman
       Status: New => Triaged

** Changed in: mailman
   Importance: Undecided => High

--
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
https://bugs.launchpad.net/bugs/881316

Title:
  RuntimeError: maximum recursion depth exceeded while pickling an
  object

To manage notifications about this bug go to:
https://bugs.launchpad.net/mailman/+bug/881316/+subscriptions
_______________________________________________
Mailman-coders mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/mailman-coders
Reply | Threaded
Open this post in threaded view
|

[Bug 881316] Re: RuntimeError: maximum recursion depth exceeded while pickling an object

Barry Warsaw-89
In reply to this post by Vincent Fretin
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

--
You received this bug notification because you are a member of Mailman
Coders, which is subscribed to GNU Mailman.
https://bugs.launchpad.net/bugs/881316

Title:
  RuntimeError: maximum recursion depth exceeded while pickling an
  object

To manage notifications about this bug go to:
https://bugs.launchpad.net/mailman/+bug/881316/+subscriptions
_______________________________________________
Mailman-coders mailing list
[hidden email]
http://mail.python.org/mailman/listinfo/mailman-coders