Hi Arjun, The behavior is a bit weird. The socket.error should have been caught in xmlrpc instead of passed on. In Python 2.6, socket.error should be a subclass of IOError. Can you try adding a block like this to xmrpc.py and seeing if it changes the behavior? It's basically a copy of the IOError branch, but with the specific socket.error type. - Ken Before the final except block, after the IOError block: except socket.error as (errno, errstr): # check for interrupted call, which can occur if we're # embedded in a program using signals. All other # exceptions break _run. if self.is_shutdown: pass elif errno != 4: self.is_shutdown = True logger.error("serve forever IOError: %s, %s"%(errno, errstr)) raise Also, for more debugging, modify the final except block: except Exception as e: if self.is_shutdown: pass else: raise Exception("unhandled exception [%s]"(str(e)) ) On Mon, Jan 31, 2011 at 9:08 AM, Arjun wrote: > Hi Ken, > I got the ros core code from the ros1.2 branch again today and rebuilt it. > It has the code from the patch you sent me and I can also confirm that the > xmlrpc.py file does end with the code snippet from your email. The debug > message on the console output now has more information and so does the log > file for my rosnode. The console debug message for my node now says, > Traceback (most recent call last): >   File "/home/aarumbak/ros/ros/core/rospy/src/rospy/impl/tcpros_base.py", > line 141, in run >     (client_sock, client_addr) = self.server_sock.accept() >   File "/usr/lib/python2.6/socket.py", line 197, in accept >     sock, addr = self._sock.accept() > socket.error: [Errno 4] Interrupted system call > [ERROR] 1296493143.981902: ERROR: error running XML-RPC server: > Traceback (most recent call last): >   File "/home/aarumbak/ros/ros/core/rospy/src/rospy/impl/msnode.py", line > 86, in run >     super(ROSNode, self).run() >   File "/home/aarumbak/ros/ros/core/roslib/src/roslib/xmlrpc.py", line 221, > in run >     self.server.serve_forever() >   File "/usr/lib/python2.6/SocketServer.py", line 224, in serve_forever >     r, w, e = select.select([self], [], [], poll_interval) > error: (4, 'Interrupted system call') > I have also attached the log files with this email. Thanks a lot! > -Arjun. > > > On Mon, Jan 31, 2011 at 2:37 AM, Ken Conley wrote: >> >> Hi Arjun, >> >> The necessary info is missing due to a bug in the call to the logger. >> Can you try the attached patch? >> >> Also, can you confirm that your roslib/src/roslib/xmlrpc.py ends with >> the code block below? >> >> thanks, >> Ken >> >>        while not self.is_shutdown: >>            try: >>                self.server.serve_forever() >>            except IOError as (errno, errstr): >>                # check for interrupted call, which can occur if we're >>                # embedded in a program using signals.  All other >>                # exceptions break _run. >>                if self.is_shutdown: >>                    pass >>                elif errno != 4: >>                    self.is_shutdown = True >>                    logger.error("serve forever IOError: %s, >> %s"%(errno, errstr)) >>                    raise >>            except: >>                if self.is_shutdown: >>                    pass >>                else: >>                    raise >> >> >> On Sun, Jan 30, 2011 at 10:10 PM, Arjun wrote: >> > Hi Ken, >> > Thanks a lot for offering to take a look. I've attached the log file for >> > my >> > node and also the master.log file with this email. I mentioned openrave >> > only >> > because the previous person with the socket error used it as well and I >> > was >> > wondering if there was some connection there. >> > -Arjun. >> > >> > On Mon, Jan 31, 2011 at 12:29 AM, Ken Conley >> > wrote: >> >> >> >> Hi Arjun, >> >> >> >> I would need the log file from your actual node instead.  The rosout >> >> log file is just for the rosout node.  There should be a log file if >> >> you "roscd log" and look for your node's name. >> >> >> >> Regardless, the patch for xmlrpc.py is not relevant here, as this is a >> >> different section of code.  The log file would hopefully provide more >> >> detail as to whether the above error is the cause or just a symptom. >> >> I haven't used rospy inside of openrave, so I'm not sure I can be of >> >> much help, though I could think of ways to make the code more robust >> >> to whatever the problem is. >> >> >> >>  - Ken >> >> >> >> On Sun, Jan 30, 2011 at 1:46 AM, Arjun wrote: >> >> > Hi all, >> >> >  I am getting a socket error when I launch my program (which uses >> >> > openrave). >> >> > The launch file launches a single node running on the same machine as >> >> > the >> >> > roscore. I am using Ubuntu 10.10 and my Python install is version >> >> > 2.6. I >> >> > did >> >> > look up the archives and found that someone else had mentioned this >> >> > same >> >> > problem about a couple of weeks ago and Ken Conley had addressed it. >> >> > I >> >> > followed the advice from Ken Conley in that thread and changed my >> >> > .rosinstall file to install from the ros1.2 branch instead just for >> >> > the >> >> > ros >> >> > stack. This gave me the latest xmlrpc.py file, which I verified with >> >> > the >> >> > previous thread, but I still get the same error. >> >> > Here's the error: >> >> > Unhandled exception in thread started by > >> > of >> >> > > >> >> > Traceback (most recent call last): >> >> >   File >> >> > "/home/aarumbak/ros/ros/core/rospy/src/rospy/impl/tcpros_base.py", >> >> > line 141, in run >> >> >     (client_sock, client_addr) = self.server_sock.accept() >> >> >   File "/usr/lib/python2.6/socket.py", line 197, in accept >> >> >     sock, addr = self._sock.accept() >> >> > socket[INFO] 1296375790.973933: Manipulation applet is dying. RIP. >> >> > .error: [Errno 4] Interrupted system call >> >> > FYI, we run this software on Ubuntu 10.04 and I've never seen this >> >> > error >> >> > before. I got this error on Ubuntu 9.10 before (strangely the problem >> >> > went >> >> > away then) and now in 10.10. Any help would be much appreciated. >> >> > -Arjun. >> >> > attachment: relevant log file. >> >> > >> >> > >> >> > _______________________________________________ >> >> > ros-users mailing list >> >> > ros-users@code.ros.org >> >> > https://code.ros.org/mailman/listinfo/ros-users >> >> > >> >> > >> >> _______________________________________________ >> >> ros-users mailing list >> >> ros-users@code.ros.org >> >> https://code.ros.org/mailman/listinfo/ros-users >> > >> > >> > _______________________________________________ >> > ros-users mailing list >> > ros-users@code.ros.org >> > https://code.ros.org/mailman/listinfo/ros-users >> > >> > >> >> _______________________________________________ >> ros-users mailing list >> ros-users@code.ros.org >> https://code.ros.org/mailman/listinfo/ros-users >> > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >