This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
| Author | facundobatista |
|---|---|
| Recipients | esrever_otua, facundobatista, loewis |
| Date | 2008年07月16日.17:01:07 |
| SpamBayes Score | 0.062698066 |
| Marked as misclassified | No |
| Message-id | <1216227669.12.0.757121008635.issue3338@psf.upfronthosting.co.za> |
| In-reply-to |
| Content | |
|---|---|
Confirmed in... Python 2.6b1+ (trunk:65017M, Jul 16 2008, 13:37:00) [GCC 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)] on linux2 ...with a more simple case: """ import sys, cPickle sys.setrecursionlimit(10405) class rec(object): child = None def __init__(self, counter): if counter > 0: self.child = rec(counter-1) mychain = rec(2600) cPickle.dumps(mychain) """ Note that if we put the recursion limit in 10405 we get a segfault, but if we put it 10404, we get a "RuntimeError: maximum recursion depth exceeded". Considering that 10400 is exactly 2600 * 4, maybe this is a useful hint. Another behaviour I got: With a recursion limit big big enough, doing rec(1670) works ok, and rec(1671) segfaults. And a very nasty one: I put rec(1671) to see in which recursion limit we have the conversion of RecursionLimit to SegFault. Testing, I tried with recursion limit in 6700, and sometimes it worked ok, and sometimes it segfaulted. Yes, *sometimes*, :( |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2008年07月16日 17:01:09 | facundobatista | set | spambayes_score: 0.0626981 -> 0.062698066 recipients: + facundobatista, loewis, esrever_otua |
| 2008年07月16日 17:01:09 | facundobatista | set | spambayes_score: 0.0626981 -> 0.0626981 messageid: <1216227669.12.0.757121008635.issue3338@psf.upfronthosting.co.za> |
| 2008年07月16日 17:01:08 | facundobatista | link | issue3338 messages |
| 2008年07月16日 17:01:07 | facundobatista | create | |