md5 fastcgi cache collisions

Maxim Dounin mdounin at
Tue Sep 25 05:01:15 UTC 2012


On Mon, Sep 24, 2012 at 11:07:14PM -0400, Ian Evans wrote:

> On 24/09/2012 8:27 PM, Maxim Dounin wrote:
> >Is the file reported is the same in all errors?
> Yes in the sense that the "cr" in /cr/nameofperson is an
> extensionless php file.

I mean to ask about cache file, as reported in the error message 
provided.  But you may want to just provide several error messages 
to show variations possible.

> >Most likely it's a corrupted cache file.  Looking into the cache
> >file should be enough to see if it's indeed corrupted.
> just did a 'more cachefilename' and it looks fine but the log
> reported a collision.

Fine - as a cache file, with binary header, "KEY: ..." line and so 

> >Intresting question is to find out how the file was corrupted.
> >This may be either something "normal" like filesystem corruption
> >after power failure, or something in nginx.  The later case might
> >need investigation.
> >
> >If you just want to get rid of the messages you may try to remove
> >the cache file, it should fix things.  Normal nginx behaviour is
> >to replace such currupted cache files with new responses, but it
> >looks like it doesn't work in your case, likely because responses
> >aren't cacheable.
> I went to one of the pages. The error log reported an md5 collision.
> I removed the file, cleared my cache and requested it again. Another
> md5 collision in the error log, but again the file looked fine.

You mean - md5 collision is reported on first request after you've 
removed the cache file?  Or on second request, when another cache 
file is already created by first request?

What does nginx -V show?

And could you please provide hd/xxd of several first bytes of a 
cache file, up to and including "KEY: " line?

It would be also good to look at config and debug log of two 
requests after the cache file removal.

Maxim Dounin

More information about the nginx mailing list