lss1330 发表于 2020-11-26 21:54:37

求大神赐教,Linux系统写文件异常,文件中包含大量0x00

异常情况1:写的记录文件中,20M的文件,末尾的7M全是0x00;
异常情况2:写的记录文件中,开头有数十个字节全是0x00或0xFF。
背景:使用A8处理器3352,采集4路CAN数据(2路内置,2路GPMC外扩),采集数据并记录SD卡。使用Linux3.12内核,Ext4文件系统。

请各位大佬帮忙看看有什么可能会导致这样的情况呢,感激不尽~!
这两种情况不是必现的,数十台设备中,就出现了2次。我在想会不会是4路CAN数据的中断频繁干扰了CPU,内核有异常导致的呢?

wye11083 发表于 2020-11-26 22:17:33

通常是你写完文件没有close也没有flush然后把电源断了{:funk:}{:funk:}最后再来怀疑系统bug。

LinuxHacker 发表于 2020-11-26 22:31:38

有可能在文件cache里,close之前调用函数sync试下,sync试试。

lss1330 发表于 2020-11-27 12:49:52

LinuxHacker 发表于 2020-11-26 22:31
有可能在文件cache里,close之前调用函数sync试下,sync试试。

有定时调用sync函数,异常拔卡也容易导致这样的问吗?
我这边对写文件的机制不太了解,会不会是游标跑到后面去了,但是数据还没刷到SD卡上;如果是这样的情况,后面的数据应该是有效的?
页: [1]
查看完整版本: 求大神赐教,Linux系统写文件异常,文件中包含大量0x00