The usage of the delete function of the symstore.exe tool is the following:
symstore del /i ID /s Store [/o] [/d LogFile]
I have symbols that have been stored from a long time ago that I would like to delete. D:\Symbols\[productname]
is the root where the symbols are saved. I call the tool with the following line:
symstore del /i 0000000001 /s d:\Symbols\[productname]
It gives the following error:
SYMSTORE ERROR: Class: Server. Desc: Couldn't get transaction id from d:\Symbols\[productname]\
SYMSTORE: Number of references deleted = 0
SYMSTORE: Number of files/pointers deleted = 0
SYMSTORE: Number of errors = 1
The error indicates that it recognizes the path to be a valid symbols server. I've double checked the 000Admin folder at D:\Symbols\[productname]\000Admin\
, and it indeed has transactions from 0000000001 to 0000001261. I've also tried deleting other transactions, but end up with the same error. The history.txt, lastid.txt, and server.txt are there as well. What am I missing?
As it turns out, the Couldn't get transaction id
error is the same error for if the disk is out of space. Since it keeps track of deletes, it needs extra space to write them to a file, and deletions are transactions with an id as well. Manually deleting something from the disk to free enough space will allow the delete transaction to go through.