0

We're trying to migrate a web application from Apache 2.2 (on Ubuntu 12.04) to Apache 2.4 (on Ubuntu 14.04). On 2.2, our application behaves fine. On 2.4, we get an error in the log on every request, which looks like this:

... [deflate:error] ... AH01385: Zlib error -2 flushing zlib output buffer ((null)), referer: ...

The Apache configs are the same in both environments, except for differences required to migrate from 2.2 to 2.4. I've investigated differences in what modules are enabled, but come up with nothing. In both environments we are using the Ubuntu defaults for mod_deflate configuration. I tried playing with some different values the DeflateBufferSize directive but that had no effect.

As background, our application is built on mod_perl and most of our pages use Embperl. The error seems to be related to Embperl - we don't get this error on static content (HTML, CSS, etc) or plain Perl/CGI scripts.

I should note that other than the log messages, this problem is asymptomatic. From the user's perspective, everything is fine. The content that comes down is correct, and correctly gzip'd. The issue is simply that these errors are spamming our logs.

What does this error mean and where can I look to find the cause?

jon without an h
  • 572
  • 1
  • 4
  • 17

1 Answers1

0

You can have a look at the zlib manual. Search for Z_STREAM_ERROR, it may give you some pointers (such as the mod_deflate configuration).

Patrick Fournier
  • 600
  • 6
  • 19
  • Thanks for the pointer. Looking at the Apache source I can see that mod_deflate is getting Z_STREAM_ERROR when it calls deflate(). That doesn't really get me anywhere though - per the docs this means "the stream state was inconsistent". But how was it inconsistent? And why? And why is it not when we're in Apache 2.2? I'm not sure how to find the answers to these questions. – jon without an h Dec 23 '15 at 16:35