It seems something bad happens when a client disconnects and reconnects and tries to request commands to respond to again... some client::socket gets set to nil, but still tries to get called... I'm guessing the old client doesn't get deleted completely or something...