Was working on a big compile just now, and realized that ccache really didn't seem to be working for me. Started digging around, and found that for a long time now, my $HOME/.ccache was a symlink to a non-existent directory. Ouch. In this situation, ccache doesn't report any error; it just recompiles. Arguably, this is the right thing to do, although a warning might be a feature.
Less arguably good is that even "ccache -s" prints bogus statistics and fails to warn about the broken directory.
Open source error handling is a disaster. Somebody should apply some engineering to it. Maybe me. (B)