Well, let's see: ==> (93.530) Outgoing Request <GET http://shevek.kenyonhill.com/cgi/test.pl HTTP/1.1> C05 --> S06 GET /cgi/test.pl HTTP/1.1 C05 --> S06 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, */* C05 --> S06 Accept-Language: en-us C05 --> S06 Accept-Encoding: gzip, deflate C05 --> S06 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) C05 --> S06 Host: shevek.kenyonhill.com C05 --> S06 Accept-Charset: ISO-8859-1 == Body was 0 bytes ==
C05 <-- S06 HTTP/1.1 200 OK C05 <-- S06 Date: Mon, 21 Jul 2003 16:30:59 GMT C05 <-- S06 Server: Apache C05 <-- S06 Vary: Accept-Encoding,User-Agent C05 <-- S06 Content-Encoding: gzip C05 <-- S06 Content-Length: 34 C05 <-- S06 Connection: close C05 <-- S06 Content-Type: text/html; charset=ISO-8859-1 C05 <-- S06 == Incoming Body was 34 bytes == == real URL = http://shevek.kenyonhill.com/cgi/test.pl == == Transmission: text gzip == == (93.640) Response 200 to <GET http://shevek.kenyonhill.com/cgi/test.pl HTTP/1.1> == Latency = 0.110 seconds, Extra Delay = 0.000 seconds == Restored Body was 14 bytes == == Content Begin: == hello world<P> == Content End == ==> (164.770) Outgoing Request <GET http://shevek.kenyonhill.com/perl/test.pl HTTP/1.1> C05 --> S06 GET /perl/test.pl HTTP/1.1 C05 --> S06 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/msword, */* C05 --> S06 Accept-Language: en-us C05 --> S06 Accept-Encoding: gzip, deflate C05 --> S06 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98) C05 --> S06 Host: shevek.kenyonhill.com C05 --> S06 Accept-Charset: ISO-8859-1 == Body was 0 bytes == C05 <-- S06 HTTP/1.1 200 OK C05 <-- S06 Date: Mon, 21 Jul 2003 16:32:11 GMT C05 <-- S06 Server: Apache C05 <-- S06 Vary: Accept-Encoding,User-Agent C05 <-- S06 Content-Encoding: gzip C05 <-- S06 Connection: close C05 <-- S06 Transfer-Encoding: chunked C05 <-- S06 Content-Type: text/html; charset=ISO-8859-1 C05 <-- S06 == Incoming Body was 629 bytes == == real URL = http://shevek.kenyonhill.com/perl/test.pl == == Transmission: text gzip chunked == == Chunk Log == 1e (hex) = 30 (dec) 245 (hex) = 581 (dec) 0 (hex) = 0 (dec) == (164.880) Response 200 to <GET http://shevek.kenyonhill.com/perl/test.pl HTTP/1.1> == Latency = 0.110 seconds, Extra Delay = 0.000 seconds == Restored Body was 14 bytes == == Content Begin: == hello world<P> == Content End == We can see that mod_cgi bufferizes the output and sends it with Content-Length HTTP header (to mod_deflate). Indeed mod_perl generates chunked response. Finally we have the same result. I don't see any problem at this moment. You would probably wish to append your script with additional output after the empty string? Something like: #!/usr/bin/perl $|=1; print "Content-Type: text/html\n\n"; print "hello world<P>"; # This line causes the error (?) print ""; print "hello again<P>"; --- It may cause a problem for chunked output if mod_deflate does not care to keep internal buffer and check its size when flushing... Thanks, Slava ----- Original Message ----- From: "Bill Marrs" <[EMAIL PROTECTED]> To: "Slava Bizyayev" <[EMAIL PROTECTED]>; "Stas Bekman" <[EMAIL PROTECTED]>; "Philippe M. Chiasson" <[EMAIL PROTECTED]> Cc: <[EMAIL PROTECTED]> Sent: Monday, July 21, 2003 6:49 AM Subject: Re: [mp2 Patch] BUG with mod_deflate and $|=1 (20014:Error string not specified) > > >I can measure it myself if you can provide me with URLs to your resources > >and identify them in terms of which one is mod_CGI and which is mod_perl. > > This is the mod_cgi one that works fine, no errors: > http://shevek.kenyonhill.com/cgi/test.pl > > This is the mod_perl one (same script) that generates the "20014:Error" in > the error_log. Also, the page doesn't display correctly (it seems to erase > itself): > > http://shevek.kenyonhill.com/perl/test.pl > > This is the contents of test.pl: > > --- > #!/usr/bin/perl > $|=1; > print "Content-Type: text/html\n\n"; > print "hello world<P>"; > # This line causes the error > print ""; > --- > > Let me know if you need anything more. > >