Found whilst doing bug 765. Same conditions as when bug 5556 was found, but I used the same user this time. IOW it stress tested reconnects rather than new sessions. Got this: 2015-10-01 15:42:11 ERROR vsmserver.session: Unhandled exception trying to unbind ports for display 1 on VSM Agent 127.0.0.1:904: <type 'exceptions.TypeError'> 'NoneType' object has no attribute '__getitem__' Tr aceback (most recent call last): File "/opt/thinlinc/modules/thinlinc/vsm/async.py", line 112, in iii11 obj . handle_read_event ( ) File "/usr/lib64/python2.7/asyncore.py", line 449, in handle_read_event self.handle_read() File "/usr/lib64/python2.7/asynchat.py", line 147, in handle_read self.found_terminator() File "/opt/thinlinc/modules/thinlinc/vsm/xmlrpc.py", line 405, in found_terminator self . handle_response ( ) File "/opt/thinlinc/modules/thinlinc/vsm/xmlrpc.py", line 437, in handle_response self . handle_returnvalue ( ) File "/opt/thinlinc/modules/thinlinc/vsm/call_unbindports.py", line 41, in handle_returnvalue self . callback ( ) File "/opt/thinlinc/modules/thinlinc/vsm/loginhandler_common.py", line 71, in run_sessionscripts self . send_response ( ) File "/opt/thinlinc/modules/thinlinc/vsm/loginhandler_common.py", line 88, in send_response oOOoo ) [ 'sessionkey' ] TypeError: 'NoneType' object has no attribute '__getitem__' . Marking agent as down.
I was going to test how 4.4.0 behaves, but it turns out that I'm having problems reliably triggering this on 4.5.0. So whatever the race it, it is very rare.
The race looks to be that the session dies whilst we are trying to establish a connection to it. It's not apparent from the trace if this is a new session, or an existing one. I guess in theory it could happen to either?