`delete_cached_binary` didn't work correctly since the cache hash could be overwritten before the subprocess crashed. This fix requires an extra memory copy, but it doesn't seem to incur any measurable overhead. An alternative could be to store the cache name in its own variable in ShaderBinaryHeader, but that would break cache files compatibility. Pull Request: https://projects.blender.org/blender/blender/pulls/143649