PerlIS and PerlEx blocked, but by what? Bug?

2008-01-21 Thread Henning Michael Møller Just
Hi everyone

My first post here in many years, and this time it's with a very strange 
problem.

(I tried to post this on the perlex-mailinglist but that didn't respond, then 
sending it directly to Jan but he's probably busy).

We are experiencing a problem when a PerlEx or PerlIS script is printing the 
response to the client. The problem is that the script acts as if the print 
statement is blocking and stays blocked for as much as 200 seconds. Mostly it's 
around 50-80 seconds. It happens every once in a while and provided the 
conditions are right it is practically every second time.

I know that it's the print statement that is blocked since a simple 'warn 
time();' before and after reveals the time spent there.

We only experience this on our Win2k3 servers (running ActivePerl 820) and not 
on our older Win2k servers or our development machines (Win2k pro and WinXP 
pro).

Originally we thought the problem was with our own code (looping or fetching 
data from the database), but finally I managed to make a test case which didn't 
do anything but print. Essentially just HTML, but there are a couple of strange 
things in that.

First of all, it only blocks if there is a certain combination of HTML tags and 
text in the print statements. Very strange. Then it only blocks if there is a 
small delay between two print statements (about 0.0085 seconds), at a point 
where we originally were fetching some data from the database.

I can't send you the HTML since our client should not be disclosed, and if I 
remove or change too much of the text, the script doesn't block! Which doesn't 
make sense.

I am thinking - since this error only has occurred on our IIS6 servers - that 
it could be something to do with the IIS5 to IIS6 changes (sending packages as 
soon as possible etc). But I am also thinking it could be something to do with 
the way the server may be trying to interpret the content of the file - 
otherwise why would the behaviour change if I substituted a couple of HTML tags 
with a string of the same length, but just text?

We have tested this with different clients (MSIE + FF) and the behaviour is the 
same.

Best regards
Henning Michael Møller Just


___
Perl-Win32-Web mailing list
Perl-Win32-Web@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs


Re: PerlIS and PerlEx blocked, but by what? Bug?

2008-01-21 Thread Bill Luebkert
Henning Michael Møller Just wrote:
 Hi everyone
 
 My first post here in many years, and this time it's with a very strange 
 problem.
 
 (I tried to post this on the perlex-mailinglist but that didn't respond, then 
 sending it directly to Jan but he's probably busy).
 
 We are experiencing a problem when a PerlEx or PerlIS script is printing the 
 response to the client. The problem is that the script acts as if the print 
 statement is blocking and stays blocked for as much as 200 seconds. Mostly 
 it's around 50-80 seconds. It happens every once in a while and provided the 
 conditions are right it is practically every second time.
 
 I know that it's the print statement that is blocked since a simple 'warn 
 time();' before and after reveals the time spent there.
 
 We only experience this on our Win2k3 servers (running ActivePerl 820) and 
 not on our older Win2k servers or our development machines (Win2k pro and 
 WinXP pro).
 
 Originally we thought the problem was with our own code (looping or fetching 
 data from the database), but finally I managed to make a test case which 
 didn't do anything but print. Essentially just HTML, but there are a couple 
 of strange things in that.
 
 First of all, it only blocks if there is a certain combination of HTML tags 
 and text in the print statements. Very strange. Then it only blocks if there 
 is a small delay between two print statements (about 0.0085 seconds), at a 
 point where we originally were fetching some data from the database.
 
 I can't send you the HTML since our client should not be disclosed, and if I 
 remove or change too much of the text, the script doesn't block! Which 
 doesn't make sense.

Why not just replace each word that would identify the client with some garbage,
test it to see if it fails and post it ?  Hopefully some readers will give it a 
try
and maybe help isolate the problem.  I've never used IIS, PerlIS/Ex, so doubt I
could be much help unless there's something obvious.

 I am thinking - since this error only has occurred on our IIS6 servers - that 
 it could be something to do with the IIS5 to IIS6 changes (sending packages 
 as soon as possible etc). But I am also thinking it could be something to do 
 with the way the server may be trying to interpret the content of the file - 
 otherwise why would the behaviour change if I substituted a couple of HTML 
 tags with a string of the same length, but just text?

Could be a buffer length/boundary issue or some such obscure thing.

 We have tested this with different clients (MSIE + FF) and the behaviour is 
 the same.

Which leads you back to the server.  Have you tried Apache (if it's possible
with your setup) ?

___
Perl-Win32-Web mailing list
Perl-Win32-Web@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs