Author terry.reedy
Recipients Wheerd, benjamin.peterson, brett.cannon, ncoghlan, paul.moore, pitrou, scoder, serhiy.storchaka, steve.dower, terry.reedy, tim.golden, yselivanov, zach.ware
Date 2017-08-05.04:34:14
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1501907655.1.0.963435173421.issue31113@psf.upfronthosting.co.za>
In-reply-to
Content
We know that compile has undocumented size limits of various sorts that are usually more than sufficient for normal human written code but which can be overwhelmed by machine-generated code.  We do not regard this as a bug.  However, 20 levels of if-nesting should not be a problem unless, say, you are recursively calling such a function.

How are you running python, on what machine?  What do you mean by 'crash'?  Are you running python from a console/terminal, so that there is someplace for tracebacks and exceptions to be displayed?  What does 'It did not crash' mean, versus the 'crash' label above?

Have you tried increasing the recursion limit with sys.setrecursionlimit.  The default for me is 1000.  I have used 10000.  On multi-gigabyte machines, 100000 might even work. 

Instead of directly running your code, have you tried a driver program that reads your code (one file at a time) into a string and then compiles it with compile()?  You might somehow get a better error message, or in any case, find out which of the separate files fail.
History
Date User Action Args
2017-08-05 04:34:15terry.reedysetrecipients: + terry.reedy, brett.cannon, paul.moore, ncoghlan, pitrou, scoder, tim.golden, benjamin.peterson, zach.ware, serhiy.storchaka, yselivanov, steve.dower, Wheerd
2017-08-05 04:34:15terry.reedysetmessageid: <1501907655.1.0.963435173421.issue31113@psf.upfronthosting.co.za>
2017-08-05 04:34:15terry.reedylinkissue31113 messages
2017-08-05 04:34:14terry.reedycreate