Skip to content

RecursionError: maximum recursion depth exceeded #37

Description

@markdueck1

Hi all,

Running 8-10 queries to around 80 different windows devices (various versions) every 5 minutes. After running for around 20h response time shoots up and this error is found. Running using gunicorn, first time this happened it was running default workers (1) and 4 threads. Second time running 8 workers and 4 threads.

To Reproduce
Still working on reproducing the error consistently. I get the callstack below, seeing it over and over in the logs


Fatal error: protocol.data_received() call failed.
protocol: <aiowmi.protocol.Protocol object at 0x7fd531060750>
transport: <_SelectorSocketTransport fd=15 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
  File "/usr/lib/python3.11/asyncio/selector_events.py", line 1013, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/app/aiowmi/protocol.py", line 90, in data_received
    self.data_received(more)
  File "/app/aiowmi/protocol.py", line 90, in data_received
    self.data_received(more)
  File "/app/aiowmi/protocol.py", line 90, in data_received
    self.data_received(more)
  [Previous line repeated 974 more times]
  File "/app/aiowmi/protocol.py", line 82, in data_received
    more = self._buf.append(data)
           ^^^^^^^^^^^^^^^^^^^^^^
RecursionError: maximum recursion depth exceeded

Additional context
the "failed to connect to" errors may not be related but I have a bunch of them surrounding this error.
failed to connect to $ipaddress (49909); fallback to $ipaddress (49909)...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions