[New-bugs-announce] [issue42509] Recursive calls crash interpreter when checking exceptions
Xinmeng Xia
report at bugs.python.org
Mon Nov 30 01:01:25 EST 2020
New submission from Xinmeng Xia <xiaxm at smail.nju.edu.cn>:
The following program 1 can crash in Python 3. We have reproduce it in the Python version 3.5, 3.6, 3.7, 3.8, 3.9, 3.10. This bug seems to be similar to issue 36272, however, the tracking system shows issue 36272 has been fixed and the program 2, which triggers issue 36272, will not cause crash (“core dump”) in Python 3.8, 3.9, 3.10.
We have attached the stack trace in the end of this report.
Program 1:
========================
import logging
def rec():
try:
logging.error("foo")
except:
pass
rec()
rec()
========================
Program 2:
========================
import logging
def rec():
logging.error("foo")
rec()
rec()
======================
The error message is like following:
“
ERROR:root:foo
ERROR:root:foo
ERROR:root:foo
ERROR:root:foo
…
ERROR:root:foo
ERROR:root:foo
ERROR:root:foo
Fatal Python error: _Py_CheckRecursiveCall: Cannot recover from stack overflow.
Python runtime state: initialized
Current thread 0x00007f0fa440b700 (most recent call first):
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 420 in usesTime
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 643 in usesTime
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 675 in format
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 938 in format
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 1094 in emit
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 963 in handle
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 1673 in callHandlers
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 1611 in handle
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 1601 in _log
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 1483 in error
File "/usr/local/python310/lib/python3.10/logging/__init__.py", line 2080 in error
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 8 in rec
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
….
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
File "/home/xxm/Desktop/methodfuzzer/error/loggingtest.py", line 12 in rec
...
Aborted (core dumped)”
----------
components: Interpreter Core
messages: 382111
nosy: xxm
priority: normal
severity: normal
status: open
title: Recursive calls crash interpreter when checking exceptions
type: crash
versions: Python 3.10
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue42509>
_______________________________________
More information about the New-bugs-announce
mailing list