Re: fastcgi echo hangs if called via form
Sonya Rikhtverchik (rikhtver@OpenMarket.com)
Thu, 25 Sep 1997 10:50:49 -0400
Message-Id: <199709251450.KAA19662@u4-138.openmarket.com>
To: fastcgi-developers@OpenMarket.com
Subject: Re: fastcgi echo hangs if called via form
Date: Thu, 25 Sep 1997 10:50:49 -0400
From: Sonya Rikhtverchik <rikhtver@OpenMarket.com>
From: kcarney@magellan.teq.stortek.com (Kelly Carney)
Message-Id: <9709250405.AA08862@gomer>
Subject: Re: fastcgi echo hangs if called via form
To: stanleyg@cs.bu.edu (Stanley Gambarin)
Date: Wed, 24 Sep 1997 22:05:47 -0600 (MDT)
Cc: rykhus@mail.mankato.msus.edu, kcarney@gomer.stortek.com,
fastcgi-developers@OpenMarket.com, dbenhur@egames.com
In-Reply-To: <Pine.GSO.3.96.970924131207.20000C-100000@csa>
from "Stanley
Gambarin" at Sep 24, 97 01:17:17 pm
Reply-To: kcarney@gomer.stortek.com
X-Mailer: ELM [version 2.4 PL23]
Mime-Version: 1.0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
> >
> > A problem I've just found with our fastcgi script involves when the
> > REQUEST_METHOD is POST. For some reason there is no CONTENT_LENGTH
> > passed to the script(I'm still looking into it). When it does the read
> > the length is 0 so nothing is read to get variables to pass to the
> > script. We're able to work around that with a default page, but this
> > could be a possibility to look at.
> >
> This could be a potential problem.. if there is no
> Content-length header passed, then the application has no idea
> how much input to expect. Ideally it would just soak up all
> the input until there is no more left, but I am not sure if
> that is what we do right now...
> A sample test would be to connect to the web server
> using telnet and issue the following command:
>
> POST /name/to/fcgi/app HTTP 1.0
> Content-length: xxx
> qyhetglkjfjlkjds
>
> where xxx is the length of the data and the rest is the data...
> unfortunately, I can not test this until tomorrow, so if someone
> want to take a whack at it and report the results..If it doesn't
> work, then there is a problem with the developer kit, but if
> it does, then its the potential problem with the browser, which
> does not setup the Content-length correctly.
>
> Stanley.
>
>
Good debug technique. I can hang the echo program if I use this sh
script when starting it.
- -----
#!/bin/sh -f
# Tries to connect, if fails, starts running on port 2867, and then connects
/appl/enterprise/cgi-bin/cgi-fcgi -bind -connect localhost:2867 2> /dev/null
if [ $? -ne 0 ]
then
/appl/enterprise/cgi-bin/cgi-fcgi -start -connect :2867
/appl/enterprise/cgi- bin/ctms3/echo_c
/appl/enterprise/cgi-bin/cgi-fcgi -bind -connect localhost:2867
fi
- -----
If I use cgi-fcgi from the 1.5.2 kit with this script, it does NOT
hang. If I don't use a sh script with 2.0b2.1 kit, no hang.
I know, it seems the answer is - DON'T USE THE SH SCRIPT, but my
big perl application hangs with kit 2x even without the sh script.
I keep thinking if the 1.5.2 can handle the sh script, then the 2x
should too.
Leaving for a short trip to Maine (anniversary) early tomorrow. I'll
be hitting this again come Tuesday. I'd like to see what I can learn
while attached to the echo program with gdb. I stepped through some of
the code and it looked like things hung at "echo.c" line 59
if((ch = getchar()) < 0) {
Haven't used gdb much lately and so I'm struggling a bit with it. It
tells me things like 'No symbol "len" in current context.' when I just
did a "next" past a line that set that value.
I think I need this vacation. Maybe it'll be easier when I get back!
Kelly
------- End of Forwarded Message