Twisted sometimes throws (seemingly incomplete) 'maximum recursion depth exceeded' RuntimeError?

The specific traceback that you're looking at is a bit mystifying. You could try traceback. Print_stack rather than traceback.

Print_exc to get a look at the entire stack above the problematic code, rather than just the stack going back to where the exception is caught Without seeing more of your traceback I can't be certain, but you may be running into the problem where Deferreds will raise a recursion limit exception if you chain too many of them together If you turn on Deferred debugging ( from twisted.internet. Defer import setDebugging; setDebugging(True) ) you may get more useful tracebacks in some cases, but please be aware that this may also slow down your server quite a bit.

The specific traceback that you're looking at is a bit mystifying. You could try traceback. Print_stack rather than traceback.

Print_exc to get a look at the entire stack above the problematic code, rather than just the stack going back to where the exception is caught. Without seeing more of your traceback I can't be certain, but you may be running into the problem where Deferreds will raise a recursion limit exception if you chain too many of them together. If you turn on Deferred debugging (from twisted.internet.

Defer import setDebugging; setDebugging(True)) you may get more useful tracebacks in some cases, but please be aware that this may also slow down your server quite a bit.

You should look at the traceback you're getting together with the exception -- that will tell you what function(s) is/are recursing too deeply, "below" _makeGetterFactory. Most likely you'll find that your own getPageWithHeaders is involved in the recursion, exactly because instead of properly returning a deferred it tries to return a factory that's not ready yet. What happens if you do go back to returning the deferred?

I've added the traceback to my question. As for going back to getPage, interestingly, I sometimes call getPage and sometimes call getPageWithHeaders, and this problem never occurs with getPage. So I'm guessing that my function is somehow causing this problem, though I can't possibly see how.

– Eli Courtwright Jul 9 '09 at 19:54.

The URL opener is likely following an un-ending series of 301 or 302 redirects.

Without seeing more of your traceback I can't be certain, but you may be running into the problem where Deferreds will raise a recursion limit exception if you chain too many of them together. If you turn on Deferred debugging (from twisted.internet. Defer import setDebugging; setDebugging(True)) you may get more useful tracebacks in some cases, but please be aware that this may also slow down your server quite a bit.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions