[issue45645] Deep recursion terminates script execution with no error (Windows, Python 3.9)

2021-10-29 Thread Eryk Sun
Eryk Sun added the comment: In theory, a crash could be prevented in most cases by setting a larger stack guarantee (i.e. region of guard pages) via SetThreadStackGuarantee() [1] and using a vectored exception handler [2]. The exception handler can set a flag in the thread state that

[issue45645] Deep recursion terminates script execution with no error (Windows, Python 3.9)

2021-10-29 Thread PABLO LOBATO DE LA CRUZ
PABLO LOBATO DE LA CRUZ added the comment: I see. Thank you very much Steve :) El vie, 29 oct 2021 a las 0:29, Steve Dower () escribió: > > Steve Dower added the comment: > > > But why does it happen only on Windows? > > Because it's the operating system that is terminating the process :) >

[issue45645] Deep recursion terminates script execution with no error (Windows, Python 3.9)

2021-10-28 Thread Steve Dower
Steve Dower added the comment: > But why does it happen only on Windows? Because it's the operating system that is terminating the process :) Other operating systems behave differently when you exceed the stack, and may also allocate different amounts of stack space, making it less likely

[issue45645] Deep recursion terminates script execution with no error (Windows, Python 3.9)

2021-10-28 Thread PABLO LOBATO DE LA CRUZ
PABLO LOBATO DE LA CRUZ added the comment: I see thanks for answering so quickly. But why does it happen only on Windows? El jue, 28 oct 2021 a las 23:09, Steve Dower () escribió: > > Steve Dower added the comment: > > This is almost certainly because of how Windows handles stack overflow >

[issue45645] Deep recursion terminates script execution with no error (Windows, Python 3.9)

2021-10-28 Thread Steve Dower
Steve Dower added the comment: This is almost certainly because of how Windows handles stack overflow exceptions, and the fact that there's no way for us to detect it reliably. There's some work going on to reduce the C stack depth when calling heavily nested Python code (see issue45256),

[issue45645] Deep recursion terminates script execution with no error (Windows, Python 3.9)

2021-10-28 Thread PABLO LOBATO DE LA CRUZ
New submission from PABLO LOBATO DE LA CRUZ : Deep recursion crashes on Windows (Python 3.9) when the depth limit is increased and no error is shown. Seems to work fine on other systems that I have tried (Linux and MacOS). Please find attached the script to reproduce the error. Expected and