Noctem/Monocle

Getting RecursionError related messages on startup

Opened this issue · 3 comments

I am using an 8x8 grid with 100 accounts and a 150 RPM key.
On startup I get messages like these in scan.log:

[2017-08-20 07:32:06][    INFO][root] -------------------------------------
[2017-08-20 07:32:06][    INFO][root] Starting up!
[2017-08-20 07:36:26][ WARNING][worker-56] RecursionError during encounter
[2017-08-20 07:36:27][   ERROR][eventloop] A wild exception appeared!
[2017-08-20 07:36:27][   ERROR][eventloop] {'message': 'Task exception was never retrieved', 'exception': RecursionError('maximum recursion depth exceeded while calling a Python object',), 'future': <Task finished coro=<Overseer.try_point() done, defined at /root/pogo/Monocle-PG/monocle/overseer.py:502> exception=RecursionError('maximum recursion depth exceeded while calling a Python object',)>}
[2017-08-20 07:36:27][ WARNING][worker-46] RecursionError during encounter
[2017-08-20 07:36:29][ WARNING][worker-28] RecursionError during encounter
[2017-08-20 07:36:29][ WARNING][worker-26] RecursionError during encounter

Hmm that is the "async def try_point(self, point, spawn_time=None, spawn_id=None):" line according to your error, which would be the function definition. Not sure how you get recursion there, I only see it being called in a loop?

I'm no longer getting those messages.
My best bet is that I started mapping a new area using a multi-polygon and this led to something like:

35 workers, 3264 coroutines

Where 3264 is a number just to put one, but the point is that it was tremendously high.

I got this error once again and this time I have "72 workers, 73 coroutines":

[2017-08-19 08:16:16][   ERROR][eventloop] {'message': 'Task exception was never retrieved', 'exception': RecursionError('maximum recursion depth exceeded while calling a Python object',), 'future': <Task finished coro=<Overseer.try_point() done, defined at /root/pogo/Monocle-PG/monocle/overseer.py:502> exception=RecursionError('maximum recursion depth exceeded while calling a Python object',)>}