I could upgrade to 2.0.47, but it seems unlikely that it would fix this. Are you sure you're running a mod_perl without Philippe's fix (in Apache__RequestIO.h), I assumed he eventually checked it in.

No, Philippe hasn't committed it, neither I have used it. If you can test with 2.9.47 that will help. Otherwise I'll later try with .46 as well.

I just upgraded to Apache 2.0.47 and the latest CVS of mp2 and I'm reproducing it, same as I originally reported.


I tried a few variations to see if I could find other factors, but didn't have much luck. The server I'm testing on is live (runs a small site), so I'm somewhat limited in what I can do. But, I tried removing mod_rewrite, and mod_ssl from my server config and I still got the error in my tests.

I also tried varying the mod_deflate config (as you pointed out it was redundant/wrong)...

Also Bill, why do you have this setup:

<Location /perl>
  AddOutputFilterByType DEFLATE text/*
  SetOutputFilter DEFLATE
</Location>

why adding it twice? You need only the latter inside <Location>, or alternatively only the former outside <Location> if you want it to be set globally:
http://httpd.apache.org/docs-2.0/mod/core.html#addoutputfilterbytype

Ah, I misunderstood the mod_deflate docs. I think at the time, it didn't seem to work with just one of them in-place, so I added the other. *SHRUG* I can't say I'm a pro at Apache config files, I just tinker until it works. I assume this is irrelevant to the bug, though.

I'm not sure if your config doesn't insert the filter twice. Need to check whether SetOutputFilter overrides AddOutputFilterByType as well.

In my config, I have a deflate log:


DeflateFilterNote Input instream
DeflateFilterNote Output outstream
DeflateFilterNote Ratio ratio
LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%) "%{User-agent}i"' deflate
CustomLog /var/log/httpd/deflate_log deflate


I was using this to verify that deflate was active or not. What I found was that using "AddOutputFilterByType DEFLATE text/*" doesn't seem to activate deflate, no matter where I put it (in a <Location> or at the top-level of the config). My deflate log shows that no compression is occurring. "SetOutputFilter DEFLATE" does activate deflate globally (for all locations), no matter where I put it. I'm afraid I don't find the mod_deflate docs very clear on placement.

When you were trying to reproduce, I don't know if you used my (redundant) config before, but if you only used "AddOutputFilterByType DEFLATE text/*", and not "SetOutputFilter DEFLATE", that might explain why you were not able to reproduce this, I don't think that activates deflate (at least that's what my deflate_log shows for me).

Otherwise, if you're still not reproducing this, I would assume there's some difference in the way we are building apache or our apache config files or perl?

Here's my Apache Configure line:

./configure --enable-modules=all --enable-mods-shared=all --enable-deflate --with-mpm=prefork --enable-rewrite --enable-ssl

Here are the Modules I load:

LoadModule cgi_module modules/mod_cgi.so

LoadModule access_module modules/mod_access.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so

LoadModule perl_module modules/mod_perl.so
LoadModule ssl_module modules/mod_ssl.so

mod_cgi, mod_ssl and mod_rewrite seem to be innocent (when I removed them, it still failed), but maybe you're using a module that I'm not and this is causing your config to work better? I think that I'm loading less modules than what is typical, I removed as many as I could to reduce memory usage a while ago.

*SHRUG*

One thing that may be relevant is tracking down where the "20014:Error" is coming from. Web searching seems to associate it with Berkeley DB code, which seems odd to me, is Apache using Berkeley DB code somewhere (via a filter?)?

This isn't a very important issue for me. I have a decent workaround (print " " instead of ""), plus I'm not really able to use mod_deflate that much anyway because it puts too much load on my server (mod_gzip with Apache 1.3 worked better for me).

Thanks

-bill








Reply via email to