Brion Vibber:
Rene Pijlman:
When I enable the file cache and request a page from Mediawiki, the browser is waiting for the request forever. On the server the page has been created in the cache. It's compressed and the content looks fine (zcat'ed). There's an Apache process continuously running at almost 100% CPU.
Everything seems to work fine on my main test machine (Mac OS X 10.3.4, PHP 4.3.2), but I can confirm this phenomenon on Debian Woody.
(Side note: the file cache doesn't interact well with output-buffered gzipping. Comment out the line that sets that near the top of LocalSettings.php; unfortunately that doesn't solve this problem.)
The output is being written out to the cache file *and sent to the client* but the connection hangs there. I'm not sure why yet...
I noticed that the 100% CPU occurs after index.php has finished, and after return from the output callback.
My guess is the call to header() in the output callback saveToFileCache() is not safe. This is writing to the buffer that the output callback is processing.
if( $this->useGzip() ) { if( wfClientAcceptsGzip() ) { header( 'Content-Encoding: gzip' );
Perhaps this confuses PHP. Also, I guess this header doesn't actually make it into the headers, so perhaps the gzipped data is confusing something down the line.