标签: corruption

从Subversion腐败中恢复

在颠覆中出现了一些问题,现在我正面临着

svnadmin: Invalid diff stream: [tgt] insn 0 starts beyond the target view position
Run Code Online (Sandbox Code Playgroud)

如果我尝试从存储库进行转储.我们在这里有另一个关于它的问题Subversion Repository Error,但那里的解决方案对我来说还不够好,因为腐败是85版本.

因为损坏是在一个不那么重要的目录(不在trunk/branches/tags中),我在考虑两个解决方案:

  1. 从健康部分创建转储,然后将其导入到重要目录中的新存储库提交差异(丢失所有修订历史记录)
  2. 从健康部分创建转储并编写一个ruby脚本,该脚本将检查旧存储库中所需目录的每个修订版.这将创建一个用于修订的diff文件,并将其提交到具有作者姓名和原始注释的新存储库.

任何意见?:)

/ JaanusSiim

svn recovery corruption

5
推荐指数
1
解决办法
1581
查看次数

使用msysgit会导致存储库损坏吗?

虽然绊倒了铬代码文档,但我发现了这篇文章:

http://code.google.com/p/chromium/wiki/UsingGit#Windows

如果你使用的是msysgit,那你就是在寻找麻烦.使用msysgit(包括TortoiseGit)和cygwin的git版本是导致存储库损坏的一种途径,因此坚持使用cygwin的版本会更安全.所以如果你的PATH中仍然有msysgit,那么你就是自己的.

这真的发生了吗?腐败的原因是什么?

git repository corruption msysgit

5
推荐指数
1
解决办法
337
查看次数

使用java:FTP数据从FTP站点下载文件

我正在尝试使用java从FTP文件下载一个gzip压缩文件(~390Mo).但是阅读几行后程序停止了.

这是此问题的最小程序:

import java.net.*;
import java.io.*;
import java.util.zip.GZIPInputStream;
public class Test
    {
    public static void main(String args[]) throws Exception
        {
        int count=0;
        URL url=new URL("ftp://ftp.1000genomes.ebi.ac.uk/vol1/ftp/release/20100804/ALL.2of4intersection.20100804.sites.vcf.gz");
        String line;
        BufferedReader in= new BufferedReader(new InputStreamReader(new GZIPInputStream(url.openStream())));
        while((line=in.readLine())!=null)
            {
            ++count;
            System.err.println("["+count+"] "+line);
            }
        in.close();
        System.out.println("Done. nLines="+count);
        }
    }
Run Code Online (Sandbox Code Playgroud)

编译并运行:

javac Test.java
java -Dftp.proxyHost=${MYPROXYHOST} -Dftp.proxyPort=${MYPROXYPORT} Test
Run Code Online (Sandbox Code Playgroud)

并且输出在第1012行之后过早停止:

(...)
[999] 1 750138  rs61770171  G   A   .   PASS    DP=2189;AF=0.083;CB=UM,BI;EUR_R2=0.129;AFR_R2=0.164
[1000] 1    750153  .   T   C   .   PASS    DP=2555;AF=0.016;CB=UM,BI,BC;EUR_R2=0.167;AFR_R2=0.281
[1001] 1    750190  .   C   T   .   PASS    DP=3515;AF=0.003;CB=UM,BI;EUR_R2=0.581;AFR_R2=0.575 …
Run Code Online (Sandbox Code Playgroud)

java ftp url corruption

5
推荐指数
1
解决办法
1490
查看次数

fwrite()文件损坏C++

我有点像C++的新手(从C#转移)所以我不确定这里发生了什么.我想要做的是从文件中读取一个图像并将其写入输出文件,但每当我执行该文件的某些部分时似乎已损坏.

我已经检查了内存中的数据并且它实际匹配,所以我认为罪魁祸首必须是fwrite(),尽管它总是只是我做错了.

以下是一些示例数据:http://pastebin.com/x0eZin6K

我的代码:

// used to figure out if reading in one giant swoop has to do with corruption
int BlockSize = 0x200;
// Read the file data
unsigned char* data = new unsigned char[BlockSize];
// Create a new file
FILE* output = fopen(CStringA(outputFileName), "w+");
for (int i = 0; i < *fileSize; i += BlockSize)
{
    if (*fileSize - i > BlockSize)
    {
        ZeroMemory(data, BlockSize);
        fread(data, sizeof(unsigned char), BlockSize, file);
        // Write out the data …
Run Code Online (Sandbox Code Playgroud)

c++ file fwrite corruption

5
推荐指数
2
解决办法
2163
查看次数

上传到s3时的图像损坏,仅限生产.(载波,发动机厂)

我正在使用carrierwave将图像上传到亚马逊s3.这在开发上非常有用,但是当我将它推送到我的服务器(engineyard cloud trial)时却没有.

该过程工作正常,不会抛出任何错误,并返回一个链接.但是,不知何故,实际图像已损坏.

这是一个,例如:https://s3.amazonaws.com/ZenBucket/uploads/goal/photo/30/guinness-toucan.jpg

任何人都可以告诉我它是如何被破坏,或者是什么可以做到这一点?

编辑:部署后的第一个图像上载尝试总是似乎失败500,但错误不会显示在日志中.不确定这是否相关.

编辑2:似乎也发生了蜻蜓宝石而不是载波.

谢谢

ruby-on-rails corruption amazon-s3 engineyard carrierwave

5
推荐指数
1
解决办法
909
查看次数

APC正在破坏输出

我最近使用apache 2.2.15,PHP 5.4.11和APC 3.1.14将我的Web服务器切换到Centos 6.3.

我开始不时收到客户的投诉,页面无效,或出现奇怪的错误.我看到受影响的页面在输出中的随机位置有问号和其他奇怪的符号,即使源是正常的.当我更改源文件中的单个字母时,页面开始正常工作.

我怀疑APC,但我找不到任何线索何时以及为什么会发生这种情况.

我使用mercurial将更改推向生产,但我已经使用这种方法多年没有问题.也许配置中的某些东西现在是新的,但遗憾的是我没有保留我的旧配置.

以下是上次损坏的截图.

来自损坏的ajax响应的屏幕截图

编辑:这是我更改源中的单个字符,保存它,然后撤消文件后的响应(如果我只是重新启动Web服务器或清除APC操作码缓存):

修复后的屏幕截图

请注意,行号不匹配,但它是100%相同的请求,因此响应也应该相同.第一个屏幕截图中的第111行根本不应该存在.它似乎来自另一个源文件......

php apc corruption output

5
推荐指数
1
解决办法
547
查看次数

Python ftplib损坏文件?

我正在使用ftplib在Python中下载文件,直到最近一切似乎都工作正常。我正在这样下载文件:

ftpSession = ftplib.FTP(host,username,password)
ftpSession.cwd('rlmfiles')
ftpFileList = filter(lambda x: 'PEDI' in x, ftpSession.nlst())
ftpFileList.sort() 
for f in ftpFileList:
    tempFile = open(os.path.join(localDirectory,f),'wb')
    ftpSession.retrbinary('RETR '+f,tempFile.write)
    tempFile.close()
ftpSession.quit()
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)

直到最近,它仍按预期下载了我需要的文件。但是,现在,我正在下载的“我的文件”已损坏,仅包含一长串垃圾ASCII。我知道不是将文件发布到FTP上,因为我也有一个Perl脚本可以从同一FTP成功完成此操作。

如果还有其他信息,这是调试器在下载文件时在命令提示符下显示的内容:

在此处输入图片说明

是否有人retrbinary()在Python的ftplib中使用损坏的文件内容遇到任何问题?

我真的很困/沮丧,并且在这里没有遇到与可能的腐败相关的任何事情。任何帮助表示赞赏。

python ftp corruption

5
推荐指数
1
解决办法
635
查看次数

我的加密数据的前8个字节使用3DES和CBC破坏

我在应用程序中使用PyCrypto来加密数据,但由于某种原因,无论我做什么,前8个字节(对应于第一个块)都会损坏.

>>> from Crypto.Cipher import DES3
>>> from Crypto import Random
>>> iv = Random.new().read(DES3.block_size)
>>> key = Random.new().read(DES3.key_size[-1])
>>> des3 = DES3.new(key, DES3.MODE_CBC, iv)
>>> des3.decrypt(des3.encrypt('12345678abcdefgh12345678'))
't\x1b\x0f\xcbD\x15M\xababcdefgh12345678'
Run Code Online (Sandbox Code Playgroud)

我已经读到这是IV已损坏的迹象,但是这些消息来源还说使用CBC以外的模式会导致整个消息损坏.情况并非如此:

>>> des3 = DES3.new(key, DES3.MODE_CFB, iv)
>>> des3.decrypt(des3.encrypt('12345678abcdefgh12345678'))
'\xe1\x85\xae,\xf1m\x83\x9cabcdefgh12345678'
Run Code Online (Sandbox Code Playgroud)

我也可以排除密码的原因:

>>> from Crypto.Cipher import AES
>>> from Crypto import Random
>>> iv = Random.new().read(AES.block_size)
>>> key = Random.new().read(AES.key_size[-1])
>>> aes = AES.new(key, AES.MODE_CBC, iv)
>>> aes.decrypt(aes.encrypt('12345678abcdefgh12345678abcdefgh'))
'\xa7l\x00]\x1cW\xec\xd0\x04\x06\xba&\x1663\xd712345678abcdefgh'
Run Code Online (Sandbox Code Playgroud)

请注意,在此示例中,前16个字节已损坏,这对应于AES的块大小.

python cryptography corruption pycrypto

5
推荐指数
1
解决办法
1867
查看次数

MariaDB崩溃:引擎中不存在表&&无法恢复表

我在跑:

MariaDB 10.0.5
Ubuntu 12.04 LTS
Both up to the latest patch level as per last Friday
Run Code Online (Sandbox Code Playgroud)

我之前的问题已经变得非常糟糕:

http://stackoverflow.com/questions/19910996/mysql-connect-headers-and-client-library-minor-version-mismatch-library10000
Run Code Online (Sandbox Code Playgroud)

这导致了大量的损坏,因为我复制并删除了我的ibdata1,ib_logfile0和ib_logfile1以解决上述问题的症状.我想,当我下次启动mariadb服务时,这个问题就开始了.当我尝试选择一个受影响的表或运行mysqldump时,我得到以下内容:

mysqldump -u backupusr -p'somepass' --all-databases > dump.sql

mysqldump: Got error: 1932: "Table 'some_db.dw_commentmeta' doesn't exist in engine" when using LOCK TABLES
Run Code Online (Sandbox Code Playgroud)

幸运的是(幸运的是)我的大型制作客户网站的数据仍然完好无损且网站在线.虽然该DB中至少有一个损坏的表.现在恢复我所有其他网站的数据库.

我还有原始的ibdata1,ib_logfile0和ib_logfile1文件.当我将这些文件移回/ var/lib/mysql /时,mariaDB服务无法启动.

我尝试过的一件事就是按照以下方式强制进行InnoDB恢复:

http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html
Run Code Online (Sandbox Code Playgroud)

但那没有效果.之后我尝试使用Mysql升级工具强制查看是否可以修复表:

mysql_upgrade --password --force
FATAL ERROR: Upgrade failed
Run Code Online (Sandbox Code Playgroud)

所以这并没有告诉我任何事情.接下来我使用了REPAIR TABLE和ALTER TABLE ENGINE命令:

http://dev.mysql.com/doc/refman/5.0/en/rebuilding-tables.html
Run Code Online (Sandbox Code Playgroud)

改变发动机:

MariaDB [sictnl_db]> ALTER TABLE si_users ENGINE = MyISAM;
ERROR 1932 (42S02): Table 'sictnl_db.si_users' doesn't exist in engine
Run Code Online (Sandbox Code Playgroud)

修理台:

MariaDB …
Run Code Online (Sandbox Code Playgroud)

mysql database corruption mariadb

5
推荐指数
1
解决办法
2万
查看次数

C#Stringbuilder在添加大量文本时损坏内容

我遇到了一个我无法解决的stringbuilder问题.为了简化问题,我创建了以下方法:

private static string TestBigStrings() {
  StringBuilder builder = new StringBuilder();

  for (int i = 1; i < 1500; i++) {
    string line = "This is a line isn't too big but breaks when we add to many of it.";
    builder.AppendLine(line);
  }

  return builder.ToString();
}
Run Code Online (Sandbox Code Playgroud)

它应该只添加该行1500次,然后将其组合成一个字符串并返回它.然而,不仅仅是组合它会腐蚀内容.在结果中间的某处你会找到文字:

This is a line isn't too big but breaks when we add to many of it. 
This is a line isn't too big but breaks when we add to many of it. 
This is …
Run Code Online (Sandbox Code Playgroud)

c# string stringbuilder corruption

5
推荐指数
1
解决办法
380
查看次数