gvalkov / tailon-legacy

Webapp for looking at and searching through log files
http://tailon-legacy.rtfd.org/
Other
191 stars 45 forks source link

Bug: line_buffer length #38

Closed kh000 closed 8 years ago

kh000 commented 8 years ago

I found bug with line_buffer uncatched exception. I have a line which is 61000 characters long. Is it possible to split this line into multiple shorter lines or ignore it with message that line is too long? This bug affect web app in the way that its stop working and the only way make it works again is to refresh until the too long line disappear from the buffer. It seems that bug show up if there are around 59000 characters in line. tailon logs:

[+91.320992][ INFO] Listening on 0.0.0.0:8080
[+285703.234196][ERROR] Uncaught exception GET /ws/349.../websocket (ip)
[...]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/tornado/web.py", line 1425, in _stack_context_handle_exception
    raise_exc_info((type, value, traceback))
  File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 314, in wrapped
    ret = fn(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/tailon/server.py", line 119, in stdout_callback
    lines = utils.line_buffer(lines, self.last_stdout_line)
  File "/usr/local/lib/python2.7/dist-packages/tailon/utils.py", line 127, in line_buffer
    last_line.clear()
AttributeError: 'list' object has no attribute 'clear'
gvalkov commented 8 years ago

Hello @kh000. I forgot to take into account that list.clear() is a Python 3 only method. Fixed in b7999f35ca30acf9cdb9bd1ba2699ec98f10e1b1 and released in tailon 1.1.1. Thanks for the catch :+1: