[Zope] Stable ZopeHTTP crashes on Linux - TAR problem?
Stephan Richter
SRichter@ixl.com
Fri, 13 Aug 1999 16:30:45 -0500
The code looks okay. If you have () then the indention is ignored. The problem
is the 'write' method I think!?! But I do not know enough about this code to
make further statements.
stephan
On Fri, 13 Aug 1999, you wrote:
> Hi all.
>
> I'm using the latest stable release in Linux 2.0.37 and Zope crashed
> three times in less than 24 hours. My logs read as follows:
>
> # cat serve.log
> Publishing module Main
> Serving HTTP on port 9673 ...
> ----------------------------------------
> Exception happened during processing of request from ('200.211.x.x',
> 1132)
> ----------------------------------------
>
> # cat serve.errors
> 200.211.x.x - - [13/Aug/1999 15:27:35] "GET /abc/ HTTP/1.1" 200 -
> 200.211.x.x - - [13/Aug/1999 15:27:36] "GET /abc/Images/advert.gif
> HTTP/1.1" 200 -
> Traceback (innermost last):
> File "ZopeHTTPServer/ZopeHTTPServer.py", line 388, in handle_request
> self.process_request(request, client_address)
> File "lib/python1.5/SocketServer.py", line 239, in process_request
> self.finish_request(request, client_address)
> File "lib/python1.5/SocketServer.py", line 243, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "lib/python1.5/SocketServer.py", line 362, in __init__
> self.handle()
> File "lib/python1.5/BaseHTTPServer.py", line 258, in handle
> method()
> File "ZopeHTTPServer/ZopeHTTPServer.py", line 292, in do_GET
> self.publish_module()
> File "ZopeHTTPServer/ZopeHTTPServer.py", line 305, in publish_module
> publish_module(
> File "lib/python/ZPublisher/Publish.py", line 893, in publish_module
> if response: stdout.write(response)
> File "ZopeHTTPServer/ZopeHTTPServer.py", line 240, in write
> self.handler.wfile.write(self.data[:start]+
> IOError: (32, 'Broken pipe')
>
> Note: isn't something strange here? The logs seems to be switched.
> "serve.log" have only a error message and "sever.errors" have the entire
> access log.
>
> ZopeHTTPServer.py reads on line 240 (*)
>
> def write(self,data):
> if self.latch:
> self.handler.wfile.write(data)
> else:
> self.data=self.data+data
> start=string.find(self.data,"Status: ")
> if start != -1:
> end=string.find(self.data,"\n",start)
> status=self.data[start+8:end]
> code, message=tuple(string.split(status," ",1))
> self.handler.send_response(string.atoi(code),message)
> self.handler.wfile.write(self.data[:start]+
> self.data[end+1:]) ---> (*)
> self.latch=1
>
> I don't do Python but, to my knowledge, spaces are significant, aren't
> they? In this case the source was only untared and not modified in any
> way. It looks that a newline is the problem here, am I right?
>
> []s
>
> --
> Henrique Almeida | GCS !a CS++>$ UL+++
> Univ Federal de Uberlandia | W++ N+ Y+ PGP+ t++@
> Uberlandia, MG, Brasil | 5+++ X+ tv- b++ D++
> almeida@uberlandia.org | e+>++
>
> _______________________________________________
> Zope maillist - Zope@zope.org
> http://www.zope.org/mailman/listinfo/zope
>
> (To receive general Zope announcements, see:
> http://www.zope.org/mailman/listinfo/zope-announce
>
> For developer-specific issues, zope-dev@zope.org -
> http://www.zope.org/mailman/listinfo/zope-dev )
--
Stephan Richter
iXL - Software Designer and Engineer