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.
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
File "/usr/lib64/python2.7/asynchat.py", line 147, in handle_read
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?