Contrary to the name, download.error is the file name all files downloaded via symsrv.dll start out as. They are eventually molded into the requested symbol file, so the presence of these files after trying to download symbols, indicates something went wrong somewhere.
The life of a symbol file from Microsoft to the local cache is an eventful one. Taking kernel32.pdb as an example, first, the compressed symbol file kernel32.pd_ is downloaded from the symbol server into a file located at
The cause of remaining download.error after downloading files to the symbol directory can be attributed to a variety of things. Internet connection failure and debugger crashes are the more easily observable ones and an interfering virus scanner is a third possibility, but the one that prompted this article, is user permissions. For all file operations in the local symbol directory, the account doing the downloading has to be able to create directories and create, read, write, and delete files. As rename operations are conceptually a copy and delete, symsrv/MoveFile tries to open the source files for read and delete access. If you don’t have delete access to the symbol cache, the rename fails with an access denied error and the temporary download.error file can’t be deleted for the same reason. The net result is the gain of a useless file.
So if your local symbol directory is full of download.error files, and there’s nothing wrong with your internet connection, make sure the process using the symbol server has create, read, write, and delete access to files and folders therein.