insanum / sncli

Simplenote CLI
MIT License
396 stars 34 forks source link

sync_worker RuntimeError: maximum recursion depth exceeded #6

Closed casutherland closed 9 years ago

casutherland commented 10 years ago

During sync, at some point long after the screen has completely filled with "Synced new note from server (key=...)" log messages (another issue), the following traceback appears, ending with "RuntimeError: maximum recursion depth exceeded."

Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib/python2.7/site-packages/simplenote_cli/notes_db.py", line 615, in sync_worker
    self.sync_now(do_server_sync)
  File "/usr/lib/python2.7/site-packages/simplenote_cli/notes_db.py", line 608, in sync_now
    full_sync=True if not self.last_sync else False)
  File "/usr/lib/python2.7/site-packages/simplenote_cli/notes_db.py", line 532, in sync_notes
    self.log('Synced new note from server (key={0})'.format(k))
  File "/usr/lib/python2.7/site-packages/simplenote_cli/sncli.py", line 237, in log
    self.gui_footer_log_set(log_pile)
  File "/usr/lib/python2.7/site-packages/simplenote_cli/sncli.py", line 158, in gui_footer_log_set
    self.sncli_loop.draw_screen()
  File "/usr/lib/python2.7/site-packages/urwid/main_loop.py", line 565, in draw_screen
    canvas = self._topmost_widget.render(self.screen_size, focus=True)
  File "/usr/lib/python2.7/site-packages/urwid/widget.py", line 141, in cached_render
    canv = fn(self, size, focus=focus)
  File "/usr/lib/python2.7/site-packages/urwid/container.py", line 1058, in render
    (maxcol, maxrow), focus)
  File "/usr/lib/python2.7/site-packages/urwid/container.py", line 1022, in frame_top_bottom
    self.focus_part=='footer' and focus)
  File "/usr/lib/python2.7/site-packages/urwid/widget.py", line 201, in cached_rows
    return fn(self, size, focus)
  File "/usr/lib/python2.7/site-packages/urwid/container.py", line 1568, in rows
    return sum(self.get_item_rows(size, focus))
  File "/usr/lib/python2.7/site-packages/urwid/container.py", line 1470, in get_item_rows
    focus=focus and self.focus_item == w))
  File "/usr/lib/python2.7/site-packages/urwid/widget.py", line 201, in cached_rows
    return fn(self, size, focus)
  File "/usr/lib/python2.7/site-packages/urwid/container.py", line 1568, in rows
    return sum(self.get_item_rows(size, focus))
...
  File "/usr/lib/python2.7/site-packages/urwid/container.py", line 1568, in rows
    return sum(self.get_item_rows(size, focus))
  File "/usr/lib/python2.7/site-packages/urwid/container.py", line 1470, in get_item_rows
    focus=focus and self.focus_item == w))
  File "/usr/lib/python2.7/site-packages/urwid/widget.py", line 201, in cached_rows
    return fn(self, size, focus)
RuntimeError: maximum recursion depth exceeded
insanum commented 10 years ago

I have seen this as well and have yet to identify. Pretty sure this is a bug in urwid that I need to isolate.

insanum commented 9 years ago

Fixed: 93a48205e39300169d7d73c62fcc39056e3a1785