文件系统报告“找不到文件”或现有的非空文件为空文件

时间:2018-06-21 12:36:27

标签: windows winapi kaspersky

我正在使用旧的代码库。该应用程序是用C,C ++和Delphi编码的复杂会计系统。它使用内部共享文件数据库系统进行存储:数据存储在应用程序直接访问的文件中。并发用户从其联网计算机访问这些文件,并且应用程序使用文件锁定来保护并发访问。

该系统已经运行了25多年,几乎可以运行,并且已经部署在数千个位置,因此我们知道它基本上可以正常运行。

我在一个客户面前遇到了一个非常奇怪的问题:大约每隔几天就会出现一次,操作系统向应用程序报告它正在处理的文件不存在或为空。发生这种情况时,应用程序将无法显示数据(如果正在访问数据文件),或者假定文件确实不存在,并尝试重新创建它(如果是索引文件),从而导致明显的数据丢失

我们用梳子仔细查看了日志,并添加了许多其他检查,但所有这些我们都找不到任何错误。

我们有两类故障:

奇怪的是,我们找不到写入数据的任何失败。发生错误时,它特定于该文件:正确写入了日志文件(与数据磁盘位于同一网络共享中)。我们不能完全排除任何无法锁定和写入锁定文件的失败,但是我们找不到任何这种情况的踪迹。

我们的主要嫌疑人是AV:卡巴斯基。有时,这是我们唯一会看到的与某些API结果混淆的东西。

有人遇到过类似的事情吗?

0 个答案:

没有答案