Issue35354
Created on 2018-11-29 18:40 by asdwqii, last changed 2022-04-11 14:59 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| crash.py | asdwqii, 2018-11-29 18:40 | |||
| Messages (6) | |||
|---|---|---|---|
| msg330710 - (view) | Author: - (asdwqii) | Date: 2018-11-29 18:40 | |
Gоt `Fatal Python error: Cannot recover from stack overflow.` on Windows 10, not tested on other os. Crashed when use undefined variable. |
|||
| msg330712 - (view) | Author: Karthikeyan Singaravelan (xtreak) * ![]() |
Date: 2018-11-29 19:02 | |
I think I have seen this bug reported elsewhere but can't find it now.
A simple reproducer :
def foo():
try:
raise Exception()
except:
foo()
foo()
Running under gdb on Ubuntu :
Program received signal SIGABRT, Aborted.
0x00007ffff7115428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
|
|||
| msg330755 - (view) | Author: Karthikeyan Singaravelan (xtreak) * ![]() |
Date: 2018-11-30 07:21 | |
> I think I have seen this bug reported elsewhere but can't find it now. Sorry, I was referring to issue6028 and issue32570 that I thought were similar to the original report. |
|||
| msg330824 - (view) | Author: Brett Cannon (brett.cannon) * ![]() |
Date: 2018-11-30 20:07 | |
How did you make a recursive generator? The 'yield' would have paused execution. Do you have code you can share to reproduce? Otherwise blowing your stack out is normal behaviour in a function which you can deal with by lowering your stack depth with sys.setrecursionlimit() to one that will raise RecursionError before you blow your stack. |
|||
| msg330840 - (view) | Author: Karthikeyan Singaravelan (xtreak) * ![]() |
Date: 2018-12-01 03:41 | |
Brett, the user had an invalid email address in their profile thus adding comments to the issue caused a server error while sending notification to them. So they have been removed from the issue. Please see : https://python.zulipchat.com/#narrow/stream/116501-workflow/subject/Is.20adding.20comment.20in.20bpo.20broken.20for.20anyone.3F/near/148846056 As for the issue OP attached a reproducer where they produce NameError with the "new" variable which is not defined in the try block and catch the exception to make recursive calls in https://bugs.python.org/file47958/crash.py |
|||
| msg341739 - (view) | Author: Mark Shannon (Mark.Shannon) * ![]() |
Date: 2019-05-07 14:47 | |
I'm closing this as a duplicate of https://bugs.python.org/issue6028 Making a recursive call in an except block cannot be handled sensibly by the interpreter. On exceeding the stack depth, the interpreter will raise a RecursionError. Catching a RecursionError and then making a call will blow the stack, leaving the interpreter with no choice; it has to abort. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022-04-11 14:59:08 | admin | set | github: 79535 |
| 2019-05-07 14:47:40 | Mark.Shannon | set | status: open -> closed nosy:
+ Mark.Shannon resolution: duplicate |
| 2018-12-01 03:41:01 | xtreak | set | messages: + msg330840 |
| 2018-11-30 20:07:27 | brett.cannon | set | nosy:
+ brett.cannon messages: + msg330824 |
| 2018-11-30 07:21:07 | xtreak | set | messages: + msg330755 |
| 2018-11-30 07:20:18 | ezio.melotti | set | nosy:
- asdwqii |
| 2018-11-29 19:02:35 | xtreak | set | nosy:
+ xtreak messages:
+ msg330712 |
| 2018-11-29 18:40:29 | asdwqii | create | |
