I've ran into a strange problem using clang-modules on Linux. I have a Linux machine running Ubuntu 18.04.4 LTS.
When I put my ModuleCache on RAM everything is OK
When I put ModuleCache on SSD/HDD, very frequently I'm getting different errors with pcm files, like below:
Can’t say any of this sounds especially familiar to me - cc’d a few folks who might have some context.
I figured out that the problem is in reading PCM files using FileManager.
FileEntry &UFE = UniqueRealFiles[Status.getUniqueID()];
If I remove this cache everything is OK.
Seems like inode is shared between deleted/edited and newly created PCM file.
If it happens FileManager returns a FileEntryRef to an invalid file.
How can I fix this issue? Maybe we need to remove UniqueRealFiles cache
for PCM files, or make it work with this case?
Ping, especially curious to hear from Richard - I thought we speculated about this issue a few years ago, so hopefully he’s got some context.