-
Notifications
You must be signed in to change notification settings - Fork 322
Open
Description
I've been experiencing a lot of "hangs" recently, where the server simply stops responding to anything. I set my code to dump the stack on SIGINT I get the following:
File: "chat.py", line 856, in <module>
server.serveforever()
File: "SimpleWebSocketServer/SimpleWebSocketServer.py", line 609, in serveforever
super(SimpleSSLWebSocketServer, self).serveforever()
File: "SimpleWebSocketServer/SimpleWebSocketServer.py", line 530, in serveforever
newsock = self.decorateSocket(sock)
File: "SimpleWebSocketServer/SimpleWebSocketServer.py", line 600, in decorateSocket
ssl_version=self.version)
File: "/usr/lib/python2.7/ssl.py", line 381, in wrap_socket
ciphers=ciphers)
File: "/usr/lib/python2.7/ssl.py", line 143, in __init__
self.do_handshake()
File: "/usr/lib/python2.7/ssl.py", line 305, in do_handshake
self._sslobj.do_handshake()
File: "chat.py", line 845, in close_sig_handler
for filename, lineno, name, line in traceback.extract_stack(stack):
Looking around Google, it seems that a number of people (particularly on Debian and using OpenSSL, which is my setup) are experiencing occasional hangs in ssl.py
's do_handshake()
so this isn't really a SimpleWebSocketServer issue. However, the only solution I've found so far is to modify SimpleWebSocketServer.py
to set a timeout on the decorateSocket()
call, using something akin to what is suggested here: http://stackoverflow.com/a/2282656/146587
Metadata
Metadata
Assignees
Labels
No labels