I finally got around to taking a look at the digital camera setup today. Rob had complained the client had stopped working on Rosalba.
After looking at the code start up and not complain, yet not produce any window output, it looks like it was a network problem. I tried rebooting Rosalba, but that didn't fix anything.
Using netstat -an, I looked for the port 5010 on both rosalba and ottavia, since that is the port that was being used by the camera. Ottavia was saying there were 6 established connections after Rosalba had rebooted (rosalba is 131.215.113.103). I can only presume 6 instances of the camera code had somehow shutdown in such a way they had not closed the connection.
[root@ottavia controls]#netstat -an | grep 5010
tcp 0 0 0.0.0.0:5010 0.0.0.0:* LISTEN
tcp 0 0 131.215.113.97:5010 131.215.113.103:57366 ESTABLISHED
tcp 0 0 131.215.113.97:5010 131.215.113.103:58417 ESTABLISHED
tcp 1 0 131.215.113.97:46459 131.215.113.97:5010 CLOSE_WAIT
tcp 0 0 131.215.113.97:5010 131.215.113.103:57211 ESTABLISHED
tcp 0 0 131.215.113.97:5010 131.215.113.103:57300 ESTABLISHED
tcp 0 0 131.215.113.97:5010 131.215.113.103:57299 ESTABLISHED
tcp 0 0 131.215.113.97:5010 131.215.113.103:57315 ESTABLISHED
I switched the code to use port 5022 which worked fine. However, I'm not sure what would have caused the original connection closure failures, as I test several close methods (including the kill command on the server end used by the medm screen), and none seemed to generate this broken connection state. I rebooted Ottavia, and this seemed to fix the connections, and allowed port 5010 to work. I also tried creating 10 connections, which all seem to run fine simultaneously. So its not someone overloading that port with too many connections which caused the problem. Its like the the port stopped working somehow, which froze the connection status, but how or why I don't know at this point. |