aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2014-10-20 11:32:04 -0400
committerJesse Luehrs <doy@tozt.net>2014-10-20 11:32:04 -0400
commitbdcec99e2971c23095ef991b81a3cf81a5d8832c (patch)
tree0356cc3e99dfb7592fa15d2158e36b696ad0e648
parent412e8a87c02a09d69c6073125352c54ccda13a48 (diff)
downloadpython-termcast-server-bdcec99e2971c23095ef991b81a3cf81a5d8832c.tar.gz
python-termcast-server-bdcec99e2971c23095ef991b81a3cf81a5d8832c.zip
display stack traces with exceptions
-rw-r--r--termcast_server/__init__.py3
-rw-r--r--termcast_server/ssh.py2
-rw-r--r--termcast_server/termcast.py5
3 files changed, 9 insertions, 1 deletions
diff --git a/termcast_server/__init__.py b/termcast_server/__init__.py
index ca6adc0..de2af21 100644
--- a/termcast_server/__init__.py
+++ b/termcast_server/__init__.py
@@ -2,6 +2,7 @@ import signal
import socket
import sys
import threading
+import traceback
import uuid
from . import pubsub
@@ -69,6 +70,7 @@ class Server(object):
sock.listen(100)
client, addr = sock.accept()
except Exception as e:
+ print(traceback.format_exc())
print('*** Listen/accept failed: ' + str(e))
continue
@@ -81,6 +83,7 @@ class Server(object):
try:
connection.run()
except Exception as e:
+ print(traceback.format_exc())
print('Running connection failed: ' + str(e))
self.publisher.unsubscribe(connection)
client.close()
diff --git a/termcast_server/ssh.py b/termcast_server/ssh.py
index fe585df..0b03f28 100644
--- a/termcast_server/ssh.py
+++ b/termcast_server/ssh.py
@@ -3,6 +3,7 @@ import paramiko
import select
import threading
import time
+import traceback
class Connection(object):
def __init__(self, client, connection_id, publisher, keyfile):
@@ -128,6 +129,7 @@ class Connection(object):
try:
total_sent += self.chan.send(data[total_sent:])
except Exception as e:
+ print(traceback.format_exc())
print("*** send failed: " + str(e))
break
diff --git a/termcast_server/termcast.py b/termcast_server/termcast.py
index 8a4e98a..97bcc6b 100644
--- a/termcast_server/termcast.py
+++ b/termcast_server/termcast.py
@@ -1,7 +1,8 @@
-import time
import json
import re
import ssl
+import time
+import traceback
import vt100
@@ -213,6 +214,7 @@ class Connection(object):
try:
buf = self.client.recv(1024)
except Exception as e:
+ print(traceback.format_exc())
print('*** recv failed: ' + str(e))
if len(buf) > 0:
@@ -290,6 +292,7 @@ class Connection(object):
self.client, server_side=True
)
except Exception as e:
+ print(traceback.format_exc())
print('*** TLS connection failed: ' + str(e))
return False