Bug: Weblogsping/xmlrpc doesn't gracefully handle exceptions

Lance Weber <lance-kMc2rFPYsS/[email protected]>
Newsgroups gmane.comp.web.pyblosxom.user
Message-ID <[email protected]>
I started getting this error in my logs a few minutes ago running the 
near latest cvs build. It's causing apache to throw an error page on any 
request (ie, pyblosxom has stopped working entirely). The root cause of 
the error doesn't have anything to do with pyblosxom (it's either my 
server or one of the weblog ping servers), but it seems to me that this 
type of exception should be caught and reported but shouldn't keep the 
pgae itself from getting rendered.

----Log snipped----
[Wed Mar 10 09:37:52 2004] [error] [client 204.69.158.13] Premature end 
of script headers: /proj/www/alfheim/blog/pyblosxom.cgi
Traceback (most recent call last):
  File "/proj/www/alfheim/blog/pyblosxom.cgi", line 49, in ?
    p.run()
  File "/usr/lib/python2.3/site-packages/Pyblosxom/pyblosxom.py", line 
116, in run
    self.defaultHandler(config, data)
  File "/usr/lib/python2.3/site-packages/Pyblosxom/pyblosxom.py", line 
141, in defaultHandler
    tools.run_callback("prepare", {"request": self._request})
  File "/usr/lib/python2.3/site-packages/Pyblosxom/tools.py", line 371, 
in run_callback
    output = mem(input)
  File "/usr/share/pyblosxom-cvs/contrib/plugins/weblogsping.py", line 
95, in cb_prepare
    WeblogsPing(request).ping()
  File "/usr/share/pyblosxom-cvs/contrib/plugins/weblogsping.py", line 
61, in ping
    self.__doPing()
  File "/usr/share/pyblosxom-cvs/contrib/plugins/weblogsping.py", line 
72, in __doPing
    self._site, self._xml, self._xml)
  File "/usr/lib/python2.3/xmlrpclib.py", line 1029, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.3/xmlrpclib.py", line 1316, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.3/xmlrpclib.py", line 1062, in request
    self.send_content(h, request_body)
  File "/usr/lib/python2.3/xmlrpclib.py", line 1176, in send_content
    connection.endheaders()
  File "/usr/lib/python2.3/httplib.py", line 712, in endheaders
    self._send_output()
  File "/usr/lib/python2.3/httplib.py", line 597, in _send_output
    self.send(msg)
  File "/usr/lib/python2.3/httplib.py", line 564, in send
    self.connect()
  File "/usr/lib/python2.3/httplib.py", line 532, in connect
    socket.SOCK_STREAM):
socket.gaierror: (-3, 'Temporary failure in name resolution')



-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.