[Seaside] seaside.st seems to be down.

Julian Fitzell jfitzell at gmail.com
Sat Jul 25 22:13:28 UTC 2009


whew... ok, so the problem was caused by one of the blogs we aggregate
generating an infinite redirection. Obviously that's a lame reason and
several pieces of code along the way should have prevented that from
taking the whole site down but that's what it was. The blog feeds are
updated periodically and that feed happened to have gone stale and
every incoming request tried to trigger an update, which never
returned.

Removing that URL essentially solved the problem, though Pier's
transaction log made it pretty tricky for me to figure out how to even
get the change to stick (I uploaded a new image with the offending URL
removed but pier simply reloaded the old value from the transaction
log). I ended up having to generate a transaction log with only that
change on my laptop and then concatenate that onto the end of the
transaction log on the server.

The infinite redirection is caused by an unusual (but according to the
HTTP spec valid) implementation choice in HTTPSocket that seems to
confuse web servers (one that I've run into before... see
http://tiny.cc/suckygooglesupport for how Google won't fix their
servers). HTTPSocket always includes the port in the Host: header when
making an HTTP request, even when it is the default port. In Google's
case, the server obviously fails to normalize the URL and realize that
port 80 is the default port and is therefore the same as the URL
without the port. In the case of this blog feed, the server also fails
to normalize. It correctly redirects

http://old.feed.address/ to: http://new.feed.address/

but incorrectly redirects

http://old.feed.address:80/ to http://old.feed.address/

Since HTTPSocket submits the latter address back as
http://old.feed.address:80/ you can see how we carry on ad infinitum.

Diagnosis:
1) Obviously HTTPSocket should catch the infinite redirection.
 2) Pier's blog component also probably shouldn't be allowing a slow
blog feed update to prevent answering requests for the site.
 3) Maybe someone should also change HTTPSocket to normalize URLs
before submitting... it seems to be causing recurring problems
 4) Maybe we should install the CURL plugin on seaside.st?

Julian



On Sat, Jul 25, 2009 at 2:08 PM, Julian Fitzell<jfitzell at gmail.com> wrote:
> Sigh... it's taken me a while but I've finally figured out the
> problem. I'm uploading a new image at the moment. I'll post more once
> I've confirmed everything's back up.
>
> Julian
>
> On Sat, Jul 25, 2009 at 10:15 AM, Sean Allen<sean at monkeysnatchbanana.com> wrote:
>>
>>
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>>
>


More information about the seaside mailing list