jquast / x84

A python telnet/ssh server for modern terminals. In spirit of classic software such as ami/x, teleguard, renegade, iniquity.
http://x84.readthedocs.org/
Other
373 stars 56 forks source link

Prevent session continue after UnpicklingError #277

Closed jquast closed 9 years ago

jquast commented 9 years ago

We like to accommodate the resumption of a session under many conditions, but this one in particular is rather troubling. It seems when the operating system is starved of memory (perhaps our fault -- because IPC buffer data has not been freed?), the IPC data is first to trim-out; what we do is simply call for a disconnect, using the UnPicklingError as the reason.

session.py:386   File "x84/bbs/session.py", line 631, in read_events
session.py:386     event, data = self.reader.recv()
session.py:386 UnpicklingError: invalid load key, '^R'.
session.py:339 resume main after general exception in logoff

session.py:386 File "x84/bbs/session.py", line 631, in read_events
session.py:386     event, data = self.reader.recv()
session.py:386 anonymous[telnet-193.136.124.211:13390] MemoryError
session.py:339 stop after general exception in main

terminal.py:279 goodbye: client exit
landscape-bot commented 9 years ago

Code Health Code quality remained the same when pulling 5f4b8bf on jquast:teardown-before-memoryerror into 4c193a3 on jquast:master.