Следующий код регистрирует ошибку и вызывает себя, что приводит к переполнению стека и, в конечном итоге, к дампу ядра в Python 3.6.
>>> import logging
>>> def rec():
... logging.error("foo")
... rec()
>>> rec()
[1] 101641 abort (core dumped) python3
FTR, это не приводит к сбою Python 2.7.
Присоединениеошибка (сжатая) в Python 3.6:
ERROR:root:foo
...
--- Logging error ---
Traceback (most recent call last):
...
RecursionError: maximum recursion depth exceeded in comparison
...
Fatal Python error: Cannot recover from stack overflow.
...
[1] 101641 abort (core dumped) python3
Python 2.7:
RuntimeError: maximum recursion depth exceeded
Но нет дампа ядра в Python 2.7.
FTR, ошибка выше с Python3.6 вступит в игру, если уровень логирования установлен на logging.ERROR.Аналогично для других уровней журнала.
ОБНОВЛЕНИЕ: я зарегистрировал проблему , чтобы обсудить это с сообществом Python.