Truncated GIF on HTTP0 response.

Phil Trubey (phil@netpart.com)
Thu, 13 Oct 1994 07:36:56 +0100

Date: Thu, 13 Oct 1994 07:36:56 +0100
Message-Id: <199410130636.XAA00836@lykos.netpart.com>
From: Phil Trubey <phil@netpart.com>
To: Multiple recipients of list <www-proxy@www0.cern.ch>
Subject: Truncated GIF on HTTP0 response.

When the Cern v3.0 proxy retrieves a gif (probably same symptoms for other
files too) from a server and the server returns an HTTP0 response
code back, the resulting gif file gets truncated. Here is a verbose
output from a Cern server when this happens. The file
http://janus.netpart.com/janus-logo.gif is being grabbed from
janus.netpart.com. You'll note that the cern proxy tries to cache the
file and then gives up, complaining about an HTTP0 response code. I
actually don't know if this is what is causing the gif truncation, but
the reality is that the GIF is being truncated when the cern server tries
to get the file.

Here's the cern server verbose output:

Daemon...... New incoming connection
Daemon...... accepting connection...
Accepted.... new socket 7
StandAlone.. Doing fork()
HTHandle.... fork() succeeded
Next timeout after 2 hours 42 mins 44 secs
Daemon...... Waiting for connection (Mask=40 hex, max=7 hex).
Child....... I'm alive
Linger...... no longer set by default
TCP......... Peer name is `localhost'
Reading..... socket 7 from host 127.0.0.1
HTSimplify.. `http://janus.netpart.com/janus-logo.gif' into
........... `http://janus.netpart.com/janus-logo.gif'
Pass........ rule matched "http://janus.netpart.com/janus-logo.gif" -> "http://janus.netpart.com/janus-logo.gif"
Passing..... "http://janus.netpart.com/janus-logo.gif"
AuthCheck... Translated path: "http://janus.netpart.com/janus-logo.gif" (method: GET)
AccessOk.... No protect rule for proxy access
Forwarding.. URL `http://janus.netpart.com/janus-logo.gif'
AA.......... check returned 200
Translated.. "http://janus.netpart.com/janus-logo.gif"
SysInfo..... www means user (www:Phkb2qvKZkT2M:106:9:...)
SysInfo..... www means group (www:*:9:...)
Doing... setgid(9) and setuid(106)
Caching..... 'cause didn't match NoCaching and no CacheOnly given
Cache....... Looking up cache file for "http://janus.netpart.com/janus-logo.gif"
Cache....... dir "/var/www/http" already exists
Cache....... dir "/var/www/http/janus.netpart.com" already exists
Lockfile.... created: /var/www/http/janus.netpart.com/janus-logo.gif.cache_lock
Cache....... Writing to lockfile "/var/www/http/janus.netpart.com/janus-logo.gif.cache_lock"
Need to..... find content-length for http:
FindAnchor.. 0x79980 with hash 38 and address `http://janus.netpart.com/janus-logo.gif' created
HTAccess.... Loading document http://janus.netpart.com/janus-logo.gif
HTTP........ Looking for `http://janus.netpart.com/janus-logo.gif'
Composing Authorization for janus.netpart.com:80/janus-logo.gif
HTAASetup_lookup: No template matched `janus-logo.gif' (so probably not protected)
HTTP........ Not sending authorization (yet)
HTDoConnect. Looking up `janus.netpart.com'
HostCache... Adding single-homed host `janus.netpart.com'
ParseInet... Parsed address as port 80 on 199.35.49.66
HTDoConnect. Created socket number 9
HTTP........ Connected, socket 9
HTTP Tx..... GET /janus-logo.gif HTTP/1.0
User-Agent: Proxy gateway CERN-HTTPD/3.0 libwww/2.17

Waiting..... for response
DARN........ I got HTTP0 response back - how rude!
Cache....... Canceling "http://janus.netpart.com/janus-logo.gif"
Removing.... cache lock "/var/www/http/janus.netpart.com/janus-logo.gif.cache_lock"
HTTP........ Closing socket 9
HTAccess.... `http://janus.netpart.com/janus-logo.gif' has been accessed.
Socket...... 7 disconnected by peer
Child....... exiting with status 0
Parent...... child pid 743 has finished
Parent...... 0K taken up by child, total 610K used
Next timeout after 2 hours 42 mins 8 secs
Daemon...... Waiting for connection (Mask=40 hex, max=7 hex).