Cache files now stored in binary instead of text mode.
Python 3 raises an exception if you attempt to write a bytes object to a file for text output. Current FileCache implementation catches that exception, logs the problem and leaves behind an incomplete file. Then later on, reading that cache file will fail, effectively disabling all file caching when using Python 3. Such failures occur inside Python pickling C code which may cause the whole Python interpreter process to terminate abruptly in debug Python builds.