Сбой при входе в Python вызывает - PullRequest
0 голосов
/ 20 марта 2019

Каждый раз в 50-100 обращений к регистратору происходит сбой программы со следующими сообщениями трассировки:

Mar 20 07:10:14 service.bash[7693]: Fatal Python error: Cannot recover from stack overflow.
Mar 20 07:10:14 service.bash[7693]: Current thread 0x76fa3010 (most recent call first):
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 381 in usesTime
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 537 in usesTime
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 569 in format
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 831 in format
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 981 in emit
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 856 in handle
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 1488 in callHandlers
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 1426 in handle
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 1416 in _log
Mar 20 07:10:14 service.bash[7693]:   File "/usr/lib/python3.5/logging/__init__.py", line 1280 in info
Mar 20 07:10:14 service.bash[7693]:   File "*****************_app/base.py", line 63 in log_this

Есть идеи, что может быть причиной этого сбоя?

Несм. аналогичные или другие вызовы журналирования в другом месте программы, вызывающие его сбой.

Вот стек вызовов, выполненных регистратору:

self.info("cs={} miso={} mosi{} clk{}".format( self.csPin, self.misoPin, self.mosiPin, self.clkPin))
|
self.log_this("info", msg)
|
self.log.info(msg)

Регистратор настроен в процедуре инициализации базового классаследующим образом:

# Global logger is declared as a class attribute
cls.log = logging.getLogger(cls.args["app"])
c_handler = logging.StreamHandler()
f_handler = logging.handlers.RotatingFileHandler(
                cls.args["--log"],
                maxBytes=(10**6)*int(cls.args["--logsize"]), # CLI is in MB
                backupCount=1)


# Create handlers
if cls.args["--debug"]:
    cls.log.setLevel(logging.DEBUG)
    c_handler.setLevel(logging.DEBUG)
    f_handler.setLevel(logging.DEBUG)
else:
    cls.log.setLevel(logging.INFO)
    c_handler.setLevel(logging.INFO)
    f_handler.setLevel(logging.INFO)


# Create formatters and add it to handlers
c_format = logging.Formatter('%(name)s: %(levelname)s: %(message)s')
f_format = logging.Formatter('%(asctime)s: %(name)s: %(levelname)s: %(message)s')
c_handler.setFormatter(c_format)
f_handler.setFormatter(f_format)


# Add handlers to the logger
cls.log.addHandler(c_handler)
cls.log.addHandler(f_handler)


cls.log.info("Logger initialized")

Спасибо.

1 Ответ

0 голосов
/ 20 марта 2019

Не могли бы вы предоставить немного больше контекста?

Было бы очень полезно увидеть фрагмент кода, который вызывает ошибку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...