草庐IT

Corruption

全部标签

c++ - 文件内容损坏的原因

我在使用应用程序时遇到反复出现的问题。它有一个相当简单的XML文件,它时不时地转储出来,大约每30分钟一次。数据文件通常很小——例如它不会锁定文件-它只是每次都从头开始重新创建它。我很幸运在测试机器上看到了问题,我观察到文件已损坏并设置为“空值”(即十六进制的00)。真正奇怪的是,与应该的长度相比,它的长度恰好是正确的。我在保存过程中非常小心:我将xml写入一个临时文件,该文件位于我要真正保存它的同一目录中我执行Win32MoveFile()并设置了MOVEFILE_WRITE_THROUGH(因此它应该阻塞直到移动真正完成),以移动文件以替换现有数据文件我什至锁定了一个Mutex以确

mysql - 两个索引条目之间的行?

我在重新导入由mysqldump生成的数据库转储时遇到问题。我使用order-by-primary选项运行mysqldump,我让它在一个带有唯一键的表上运行(没有明确的主键,所以它按那个唯一键排序)。在这种情况下,我的目标是重新创建表,使唯一键成为主键。这个转储花费了很长时间(大约10天),再次运行它会很痛苦。我尝试重新导入转储(使用适当的架构更改),但mysql中途阻塞了。我查看了转储文件,在它阻塞的地方——看起来有人在转储文件的文本中插入了一封垃圾邮件。幸运的是,看起来损坏是孤立的,我能够在垃圾之前和之后看到key。tl;dr:如果我只是拼接出垃圾,我不知道前后一个之间会丢失多少

mysql - MariaDB 崩溃 : Table doesn't exist in engine && can't recover tables

我在运行:MariaDB10.0.5Ubuntu12.04LTSBothuptothelatestpatchlevelasperlastFriday我对上一个问题陷入了困境:http://stackoverflow.com/questions/19910996/mysql-connect-headers-and-client-library-minor-version-mismatch-library10000这导致了大规模损坏,因为我复制并删除了我的ibdata1、ib_logfile0和ib_logfile1以解决上述问题的症状。我想,当我下次启动mariadb服务时,这个问题就开

java - 使用java sockets时是否保证数据有效性?

注意:我主要关心数据的有效性而不是真实性,即我关心数据是否由于传输错误而损坏,但不太关心恶意用户是否尝试更改数据包并将其重新传输到原始预期方(类似于MITM攻击)。我最近正在构建一个基于TCP的网络协议(protocol)(特别是使用java的Socket和ServerSocket),我遇到了一个关于如何从中传输可靠数据的小问题使用TCP从A点到B点。我现在主要关心的是是否要在我的自定义数据包结构的有效载荷(可能还有header)数据中包含一个SHA-2哈希。通过一些研究,我发现TCP确实有自己的ECC,但我也听说它不是特别“强”。由于java的Socket是基于TCP架构的,我的问题

sockets - 通过 TCP/IP 传输浮点值和数据损坏

我有一个非常奇怪的错误。我有两个应用程序通过TCP/IP进行通信。应用A是服务端,应用B是客户端。应用程序A每100毫秒向应用程序B发送一组浮点值。错误如下:有时应用程序B接收到的某些浮点值与应用程序A传输的值不同。最初,我认为以太网或TCP/IP驱动程序存在问题(某种数据损坏)。然后我在其他Windows机器上测试了代码,但问题仍然存在。然后我在Linux(Ubuntu10.04.1LTS)上测试了代码,问题仍然存在!!!值在发送前和接收后记录。代码非常简单:消息协议(protocol)有一个4字节的header,如下所示://messageheaderstructMESSAGE_H

c++ - 什么会导致我的数据包的字节顺序变得部分困惑?

我在LinuxCentos4机器和运行InterixwithGentoo的WindowsXP机器之间通过TCP套接字发送数据包。当Interix接收到数据包时,大约10%的字符在距数据包开头完全相同的偏移处始终被加扰。在发送Linux端,数据包具有以下正确内容:-----BEGINPUBLICKEY-----MIIBojCCARcGByqGSM4+AgEwggEKAoGBAP//////////yQ/aoiFowjTExmKLgNwc^^^^^^^^^^^^^^0SkCTgiKZ8x0Agu+pjsTmyJRSgh5jjQE3e+VGbPNOkMbMCsKbfJfFDdP4TVtbVH

android sqlite : Failed to change locale for db to 'zh_CN'

也有类似的问题,android.database.sqlite.SQLiteException:FailedtochangelocalefordbCausedby:android.database.sqlite.SQLiteDatabaseCorruptException:databasediskimageismalformed(code11)Failedtochangelocalefordb'/data/data/my.easymedi.controller/databases/EasyMediInfo.db'to'en_US'但是我的数据库是android通过SQLiteOpenH

android sqlite : Failed to change locale for db to 'zh_CN'

也有类似的问题,android.database.sqlite.SQLiteException:FailedtochangelocalefordbCausedby:android.database.sqlite.SQLiteDatabaseCorruptException:databasediskimageismalformed(code11)Failedtochangelocalefordb'/data/data/my.easymedi.controller/databases/EasyMediInfo.db'to'en_US'但是我的数据库是android通过SQLiteOpenH

java - 您如何确定 .sqlite 或 .sqback 在 Java 中是否损坏?

我得到了一个目录目录,每个目录都包含我必须解析的.sqlite和.sqback文件的集合。问题是当我收到这些文件时,我认为其中一些文件已损坏,因为我收到错误消息:ERR:[SQLITE_CORRUPT]Thedatabasediskimageismalformed(数据库磁盘镜像格式错误)当我尝试处理它们时在我的控制台上。这仅发生在某些文件中。我已经隔离了一些并尝试在这些坏文件的新副本上单独运行我的程序,它们会导致错误。大多数文件都很好:)我意识到我确实有可能一开始就得到损坏的文件,所以我想要一种方法来确定,在尝试解析它们之前,哪些文件是好的,哪些不是。我正在用Java编写。我只对sq

java - 您如何确定 .sqlite 或 .sqback 在 Java 中是否损坏?

我得到了一个目录目录,每个目录都包含我必须解析的.sqlite和.sqback文件的集合。问题是当我收到这些文件时,我认为其中一些文件已损坏,因为我收到错误消息:ERR:[SQLITE_CORRUPT]Thedatabasediskimageismalformed(数据库磁盘镜像格式错误)当我尝试处理它们时在我的控制台上。这仅发生在某些文件中。我已经隔离了一些并尝试在这些坏文件的新副本上单独运行我的程序,它们会导致错误。大多数文件都很好:)我意识到我确实有可能一开始就得到损坏的文件,所以我想要一种方法来确定,在尝试解析它们之前,哪些文件是好的,哪些不是。我正在用Java编写。我只对sq