homepage

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 Michael.Felt
Recipients Michael.Felt, matrixise, miss-islington, ned.deily, ronaldoussoren, steve.dower, vstinner
Date 2019年08月02日.09:52:26
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1564739546.32.0.528055045668.issue18049@roundup.psfhosted.org>
In-reply-to
Content
Going to take a stab in the dark - the the issue lies here:
"./Python/errors.c"
#ifndef Py_NORMALIZE_RECURSION_LIMIT
#define Py_NORMALIZE_RECURSION_LIMIT 32
#endif
As there is not enough memory for this to run in the default memory model.
However, 32 does not seem to be a counter limit:
With this "hack" I get success:
 script = """if True:
 import threading
 def recurse(loop=0):
 loop = loop+1
 if loop < 128+32+8+3:
 return recurse(loop)
 else:
 return
 def outer():
 try:
 recurse()
 except RecursionError:
 pass
 w = threading.Thread(target=outer)
 w.start()
 w.join()
 print('end of main thread')
 """
So, I hope this helps point at where we need to look to find why RecursionError is not being returned when (I assume) memory runs out.
History
Date User Action Args
2019年08月02日 09:52:26Michael.Feltsetrecipients: + Michael.Felt, ronaldoussoren, vstinner, ned.deily, steve.dower, matrixise, miss-islington
2019年08月02日 09:52:26Michael.Feltsetmessageid: <1564739546.32.0.528055045668.issue18049@roundup.psfhosted.org>
2019年08月02日 09:52:26Michael.Feltlinkissue18049 messages
2019年08月02日 09:52:26Michael.Feltcreate

AltStyle によって変換されたページ (->オリジナル) /